[easytag/wip/mingw32: 8/9] Generate NSIS installer script
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag/wip/mingw32: 8/9] Generate NSIS installer script
- Date: Tue, 15 Jan 2013 23:34:27 +0000 (UTC)
commit 7c819fc958208c3078b4dfcfe1fd401c36799347
Author: David King <amigadave amigadave com>
Date: Tue Jan 15 23:22:34 2013 +0000
Generate NSIS installer script
Still a work in progress, as the DLL paths are hardcoded.
Makefile.am | 8 +-
configure.ac | 1 +
easytag-win32-installer.nsi | 351 ----------------------------------------
easytag-win32-installer.nsi.in | 131 +++++++++++++++
4 files changed, 139 insertions(+), 352 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index bcf65a6..1518a75 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -116,6 +116,11 @@ easytag_LDADD = \
$(EASYTAG_LIBS) \
$(ID3LIB_LIBS)
+easytag-win32-installer.nsi: easytag-win32-installer.nsi.in Makefile
+ $(AM_V_GEN)$(SED) -e "s|\ PACKAGE_NAME\@|$(PACKAGE_NAME)|" \
+ -e "s|\ PACKAGE_TARNAME\@|$(PACKAGE_TARNAME)|" \
+ -e "s|\ PACKAGE_VERSION\@|$(PACKAGE_VERSION)|" $< > $@
+
@INTLTOOL_DESKTOP_RULE@
desktopdir = $(datadir)/applications
desktop_in_files = easytag.desktop.in
@@ -296,7 +301,8 @@ dist_noinst_SCRIPTS = \
autogen.sh
CLEANFILES = \
- $(desktop_DATA)
+ $(desktop_DATA) \
+ easytag-win32-installer.nsi
DISTCLEANFILES = \
$(man_MANS) \
diff --git a/configure.ac b/configure.ac
index 571e90e..3b5bceb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,7 @@ AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_CXXCPP
+AC_PROG_SED
PKG_PROG_PKG_CONFIG([0.24])
dnl -------------------------------
diff --git a/easytag-win32-installer.nsi.in b/easytag-win32-installer.nsi.in
new file mode 100644
index 0000000..64b7e72
--- /dev/null
+++ b/easytag-win32-installer.nsi.in
@@ -0,0 +1,131 @@
+# NSIS installer script
+
+Name @PACKAGE_NAME@
+OutFile "@PACKAGE_TARNAME -@PACKAGE_VERSION -installer exe"
+InstallDir "$ProgramFiles\ PACKAGE_NAME@"
+InstallDirRegKey HKLM SOFTWARE\ PACKAGE_NAME@ "Install_Dir"
+
+ShowInstDetails hide
+ShowUninstDetails hide
+
+# Uncomment this to enable BZip2 compression, which results in
+# slightly smaller files but uses more memory at install time.
+SetCompressor bzip2
+
+XPStyle on
+
+Page components
+Page directory
+Page instfiles
+
+ComponentText "Select which optional components you want to install."
+
+DirText "Please select the installation folder."
+
+Section "@PACKAGE_NAME@"
+ SectionIn RO
+
+ SetOutPath "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/iconv.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libatk-1.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libcairo-2.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libffi-6.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgdk-win32-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgdk_pixbuf-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgio-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libglib-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgmodule-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgobject-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libgtk-win32-2.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libintl-8.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libogg-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libpango-1.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libpangocairo-1.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libpangowin32-1.0-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libpixman-1-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libpng15-15.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libvorbis-0.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/libvorbisfile-3.dll"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/pango-querymodules.exe"
+ File "/usr/i686-w64-mingw32/sys-root/mingw/bin/zlib1.dll"
+
+ SetOutPath "$INSTDIR\etc"
+ File /r "/usr/i686-w64-mingw32/sys-root/mingw/etc/fonts"
+ File /r "/usr/i686-w64-mingw32/sys-root/mingw/etc/gtk-2.0"
+ CreateDirectory "$INSTDIR\etc\pango"
+
+ SetOutPath "$INSTDIR\lib"
+ File /r "/usr/i686-w64-mingw32/sys-root/mingw/lib/gdk-pixbuf-2.0"
+ File /r "/usr/i686-w64-mingw32/sys-root/mingw/lib/gtk-2.0"
+ File /r "/usr/i686-w64-mingw32/sys-root/mingw/lib/pango"
+
+ SetOutPath "$INSTDIR\."
+ File "easytag.exe"
+
+ ReadEnvStr $0 COMSPEC
+ SetOutPath "$INSTDIR"
+ nsExec::ExecToLog '$0 /C \usr\i686-w64-mingw32\sys-root\mingw\bin\pango-querymodules.exe > etc\pango\pango.modules'
+SectionEnd
+
+Section "Start Menu Shortcuts"
+ CreateDirectory "$SMPROGRAMS\ PACKAGE_NAME@"
+ CreateShortCut "$SMPROGRAMS\ PACKAGE_NAME@\Uninstall @PACKAGE_NAME lnk" "$INSTDIR\Uninstall @PACKAGE_NAME exe" "" "$INSTDIR\Uninstall @PACKAGE_NAME exe" 0
+ CreateShortCut "$SMPROGRAMS\ PACKAGE_NAME@\easytag.exe.lnk" "$INSTDIR\.\easytag.exe" "" "$INSTDIR\.\easytag.exe" 0
+SectionEnd
+
+Section "Desktop Icons"
+ CreateShortCut "$DESKTOP\easytag.exe.lnk" "$INSTDIR\.\easytag.exe" "" "$INSTDIR\.\easytag.exe" 0
+SectionEnd
+
+Section "Uninstall"
+ Delete /rebootok "$DESKTOP\easytag.exe.lnk"
+ Delete /rebootok "$SMPROGRAMS\ PROGRAM_NAME@\easytag.exe.lnk"
+ Delete /rebootok "$SMPROGRAMS\ PROGRAM_NAME@\Uninstall @PROGRAM_NAME lnk"
+ RMDir "$SMPROGRAMS\ PROGRAM_NAME@"
+
+ Delete /rebootok "$INSTDIR\.\easytag.exe"
+ RMDir "$INSTDIR\."
+
+ RMDir /r "$INSTDIR\lib\pango"
+
+ RMDir /r "$INSTDIR\lib\gtk-2.0"
+
+ RMDir /r "$INSTDIR\lib\gdk-pixbuf-2.0"
+
+ RMDir /r "$INSTDIR\etc\pango"
+
+ RMDir /r "$INSTDIR\etc\gtk-2.0"
+
+ RMDir /r "$INSTDIR\etc\fonts"
+
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\zlib1.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\pango-querymodules.exe"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libvorbisfile-3.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libvorbis-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libpng15-15.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libpixman-1-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libpangowin32-1.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libpangocairo-1.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libpango-1.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libogg-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libintl-8.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgtk-win32-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgobject-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgmodule-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libglib-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgio-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgdk_pixbuf-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgdk-win32-2.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libgcc_s_sjlj-1.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libffi-6.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libcairo-2.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\libatk-1.0-0.dll"
+ Delete /rebootok "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin\iconv.dll"
+ RMDir "$INSTDIR\\usr\i686-w64-mingw32\sys-root\mingw\bin"
+ RMDir "$INSTDIR"
+SectionEnd
+
+Section -post
+ WriteUninstaller "$INSTDIR\Uninstall @PROGRAM_NAME exe"
+SectionEnd
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]