[easytag/wip/mingw32: 8/9] Generate NSIS installer script



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]