[virt-tools-list] [PATCH virt-viewer 17/17] Add virt-viewer.nsis

Marc-André Lureau marcandre.lureau at gmail.com
Fri Jan 27 13:51:36 UTC 2012


From: Marc-André Lureau <marcandre.lureau at redhat.com>

Use ${DESTDIR} variable and @prefix@ to look for files.
Can't easily be generated, it has too much customization.
---
 Makefile.am              |   36 ++++---
 configure.ac             |   18 ++--
 data/Makefile.am         |    6 +
 data/virt-viewer.nsis.in |  266 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 304 insertions(+), 22 deletions(-)
 create mode 100644 data/Makefile.am
 create mode 100644 data/virt-viewer.nsis.in

diff --git a/Makefile.am b/Makefile.am
index a40b3c0..4569623 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,24 +1,30 @@
+NULL =
 
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = src man plugin po
+SUBDIRS = src man plugin po data
 
-EXTRA_DIST = @PACKAGE at .spec \
-	intltool-extract.in             \
-        intltool-merge.in               \
-        intltool-update.in
+EXTRA_DIST =					\
+	@PACKAGE at .spec				\
+	intltool-extract.in			\
+	intltool-merge.in			\
+	intltool-update.in			\
+	$(NULL)
 
-DISTCLEAN_FILES = @PACKAGE at .spec \
-        intltool-extract                \
-        intltool-merge                  \
-        intltool-update
+DISTCLEAN_FILES =				\
+	@PACKAGE at .spec				\
+	intltool-extract			\
+	intltool-merge				\
+	intltool-update				\
+	$(NULL)
 
-MAINTAINERCLEANFILES =          \
-        m4/libtool.m4                   \
-        m4/lt~obsolete.m4               \
-        m4/ltoptions.m4                 \
-        m4/ltsugar.m4                   \
-        m4/ltversion.m4
+MAINTAINERCLEANFILES =				\
+        m4/libtool.m4				\
+        m4/ltoptions.m4				\
+        m4/ltsugar.m4				\
+        m4/ltversion.m4				\
+        m4/lt~obsolete.m4			\
+	$(NULL)
 
 dist-hook: gen-ChangeLog
 
diff --git a/configure.ac b/configure.ac
index d5988b3..a54f41b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -149,13 +149,17 @@ if test "x$enable_plugin" = "xyes"; then
 fi
 AM_CONDITIONAL(ENABLE_PLUGIN, [test "x$enable_plugin" = "xyes"])
 
-AC_OUTPUT(Makefile
-          src/Makefile
-          man/Makefile
-	  po/Makefile.in
-	  plugin/Makefile
-          virt-viewer.spec
-          mingw32-virt-viewer.spec)
+AC_OUTPUT([
+    Makefile
+    data/Makefile
+    data/virt-viewer.nsis
+    man/Makefile
+    mingw32-virt-viewer.spec
+    plugin/Makefile
+    po/Makefile.in
+    src/Makefile
+    virt-viewer.spec
+])
 
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Configuration summary])
diff --git a/data/Makefile.am b/data/Makefile.am
new file mode 100644
index 0000000..bd6386f
--- /dev/null
+++ b/data/Makefile.am
@@ -0,0 +1,6 @@
+NULL=
+
+EXTRA_DIST =					\
+	virt-viewer.nsis.in			\
+	$(NULL)
+
diff --git a/data/virt-viewer.nsis.in b/data/virt-viewer.nsis.in
new file mode 100644
index 0000000..d25cacd
--- /dev/null
+++ b/data/virt-viewer.nsis.in
@@ -0,0 +1,266 @@
+#!Nsis Installer Command Script
+# @configure_input@
+# To build an installer from the script you would normally do:
+#
+#   makensis virt-viewer.nsis
+#
+# which will generate the output file 'virt-viewer- at VERSION@.exe' which is a Windows
+# installer containing your program.
+
+Name "virt-viewer"
+OutFile "virt-viewer- at VERSION@.exe"
+InstallDir "c:\virt-viewer"
+InstallDirRegKey HKLM SOFTWARE\virt-viewer "Install_Dir"
+
+ShowInstDetails hide
+ShowUninstDetails hide
+
+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 "virt-viewer"
+  SectionIn RO
+
+  SetOutPath "$INSTDIR\bin"
+  File "@prefix@/bin/gst-discoverer-0.10.exe"
+  File "@prefix@/bin/gst-feedback.exe"
+  File "@prefix@/bin/gst-inspect-0.10.exe"
+  File "@prefix@/bin/gst-inspect.exe"
+  File "@prefix@/bin/gst-launch-0.10.exe"
+  File "@prefix@/bin/gst-launch.exe"
+  File "@prefix@/bin/gst-typefind-0.10.exe"
+  File "@prefix@/bin/gst-typefind.exe"
+  File "@prefix@/bin/gst-xmlinspect-0.10.exe"
+  File "@prefix@/bin/gst-xmlinspect.exe"
+  File "@prefix@/bin/gst-xmllaunch-0.10.exe"
+  File "@prefix@/bin/gst-xmllaunch.exe"
+  File "@prefix@/bin/libatk-1.0-0.dll"
+  File "@prefix@/bin/libcairo-2.dll"
+  File "@prefix@/bin/libcelt051-0.dll"
+  File "@prefix@/bin/libcrypto-10.dll"
+  File "@prefix@/bin/libffi-6.dll"
+  File "@prefix@/bin/libfontconfig-1.dll"
+  File "@prefix@/bin/libfreetype-6.dll"
+  File "@prefix@/bin/libgdk-win32-2.0-0.dll"
+  File "@prefix@/bin/libgdk-win32-2.0-0.dll"
+  File "@prefix@/bin/libgdk_pixbuf-2.0-0.dll"
+  File "@prefix@/bin/libgdk_pixbuf-2.0-0.dll"
+  File "@prefix@/bin/libgio-2.0-0.dll"
+  File "@prefix@/bin/libglib-2.0-0.dll"
+  File "@prefix@/bin/libgmodule-2.0-0.dll"
+  File "@prefix@/bin/libgobject-2.0-0.dll"
+  File "@prefix@/bin/libgstapp-0.10-0.dll"
+  File "@prefix@/bin/libgstaudio-0.10-0.dll"
+  File "@prefix@/bin/libgstbase-0.10-0.dll"
+  File "@prefix@/bin/libgstcontroller-0.10-0.dll"
+  File "@prefix@/bin/libgstfft-0.10-0.dll"
+  File "@prefix@/bin/libgstinterfaces-0.10-0.dll"
+  File "@prefix@/bin/libgstpbutils-0.10-0.dll"
+  File "@prefix@/bin/libgstreamer-0.10-0.dll"
+  File "@prefix@/bin/libgstvideo-0.10-0.dll"
+  File "@prefix@/bin/libgthread-2.0-0.dll"
+  File "@prefix@/bin/libgtk-win32-2.0-0.dll"
+  File "@prefix@/bin/iconv.dll"
+  File "@prefix@/bin/libintl-8.dll"
+  File "@prefix@/bin/libjpeg-62.dll"
+  File "@prefix@/bin/liborc-0.4-0.dll"
+  File "@prefix@/bin/liborc-test-0.4-0.dll"
+  File "@prefix@/bin/libpango-1.0-0.dll"
+  File "@prefix@/bin/libpangocairo-1.0-0.dll"
+  File "@prefix@/bin/libpangoft2-1.0-0.dll"
+  File "@prefix@/bin/libpangowin32-1.0-0.dll"
+  File "@prefix@/bin/libpixman-1-0.dll"
+  File "@prefix@/bin/libpng15-15.dll"
+  File "@prefix@/bin/libspice-client-glib-2.0-1.dll"
+  File "@prefix@/bin/libspice-client-gtk-2.0-1.dll"
+  File "@prefix@/bin/libspice-controller-0.dll"
+  File "@prefix@/bin/libssl-10.dll"
+  File "@prefix@/bin/libxml2-2.dll"
+
+  File "@prefix@/bin/libssh2-1.dll"
+  File "@prefix@/bin/libcurl-4.dll"
+  File "@prefix@/bin/libportablexdr-0.dll"
+  File "@prefix@/bin/libidn-11.dll"
+  File "@prefix@/bin/libssp-0.dll"
+  File "@prefix@/bin/libvirt-0.dll"
+  File "@prefix@/bin/libvirt-qemu-0.dll"
+  File "@prefix@/bin/virsh.exe"
+  File "@prefix@/bin/virt-pki-validate"
+  File "@prefix@/bin/virt-xml-validate"
+
+  #gtkvnc
+  File "@prefix@/bin/libgnutls-26.dll"
+  File "@prefix@/bin/libgpg-error-0.dll"
+  File "@prefix@/bin/libgcrypt-11.dll"
+  File "@prefix@/bin/libgvnc-1.0-0.dll"
+  File "@prefix@/bin/libgtk-vnc-1.0-0.dll"
+
+  File "@prefix@/bin/pango-querymodules.exe"
+  File "${DESTDIR}@prefix@/bin/remote-viewer.exe"
+  File "${DESTDIR}@prefix@/bin/virt-viewer.exe"
+  File "@prefix@/bin/zlib1.dll"
+
+  SetOutPath "$INSTDIR\etc"
+  File /r "@prefix@/etc/fonts"
+  File /r "@prefix@/etc/gtk-2.0"
+  File /r "@prefix@/etc/libvirt"
+  CreateDirectory "$INSTDIR\etc\pango"
+
+  CreateDirectory "$INSTDIR\etc\gtk-2.0"
+
+  SetOutPath "$INSTDIR\lib"
+  File /r "@prefix@/lib/gdk-pixbuf-2.0"
+  File /r "@prefix@/lib/gtk-2.0"
+  File /r "@prefix@/lib/pango"
+
+  SetOutPath "$INSTDIR\lib\gstreamer-0.10"
+  File "@prefix@/lib/gstreamer-0.10/libgstapp.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstaudioconvert.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstaudiofx.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstaudiorate.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstaudioresample.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstaudiotestsrc.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstautodetect.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstcoreelements.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstdirectsoundsink.dll"
+  File "@prefix@/lib/gstreamer-0.10/libgstdirectsoundsrc.dll"
+
+  SetOutPath "$INSTDIR\share"
+  File /r "@prefix@/share/libvirt"
+
+  # fixme for all languages
+  SetOutPath "$INSTDIR\share\locale\fr"
+  File "@prefix@/share/locale/fr/LC_MESSAGES/libvirt.*"
+  File "${DESTDIR}@prefix@/share/locale/fr/LC_MESSAGES/virt-viewer.*"
+
+  SetOutPath "$INSTDIR\share\virt-viewer\ui"
+  File "${DESTDIR}@prefix@/share/virt-viewer/ui/*.xml"
+
+  SetOutPath "$INSTDIR\share\themes\MS-Windows\gtk-2.0"
+  File "@prefix@/share/themes/MS-Windows/gtk-2.0/gtkrc"
+
+  ReadEnvStr $0 COMSPEC
+  SetOutPath "$INSTDIR"
+  nsExec::ExecToLog '$0 /C bin\pango-querymodules.exe > etc\pango\pango.modules'
+  nsExec::ExecToLog 'echo gtk-theme-name = "MS-Windows" > etc\gtk-2.0\gtkrc'
+
+SectionEnd
+
+Section "Start Menu Shortcuts"
+  CreateDirectory "$SMPROGRAMS\virt-viewer"
+  CreateShortCut "$SMPROGRAMS\virt-viewer\Uninstall virt-viewer.lnk" "$INSTDIR\Uninstall virt-viewer.exe" "" "$INSTDIR\Uninstall virt-viewer.exe" 0
+#  CreateShortCut "$SMPROGRAMS\virt-viewer\virt-viewer.exe.lnk" "$INSTDIR\bin\virt-viewer.exe" "" "$INSTDIR\bin\virt-viewer.exe" 0
+SectionEnd
+
+Section "Desktop Icons"
+#  CreateShortCut "$DESKTOP\virt-viewer.exe.lnk" "$INSTDIR\bin\virt-viewer.exe" "" "$INSTDIR\bin\virt-viewer.exe" 0
+SectionEnd
+
+Section "Uninstall"
+#  Delete /rebootok "$DESKTOP\virt-viewer.exe.lnk"
+#  Delete /rebootok "$SMPROGRAMS\virt-viewer\virt-viewer.exe.lnk"
+  Delete /rebootok "$SMPROGRAMS\virt-viewer\Uninstall virt-viewer.lnk"
+  RMDir "$SMPROGRAMS\virt-viewer"
+
+  RMDir /r "$INSTDIR\lib\pango"
+
+  RMDir /r "$INSTDIR\lib\gtk-2.0"
+
+  Delete /rebootok "$INSTDIR\share\virt-viewer\ui\*.xml"
+  Delete /rebootok "$INSTDIR\share\themes\MS-Windows\gtk-2.0\gtkrc"
+
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstdirectsoundsrc.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstdirectsoundsink.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstcoreelements.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstautodetect.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudiotestsrc.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudioresample.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudiorate.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudiofx.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudioconvert.dll"
+  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstapp.dll"
+  RMDir "$INSTDIR\lib\gstreamer-0.10"
+
+  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\bin\remote-viewer.exe"
+  Delete /rebootok "$INSTDIR\bin\pango-querymodules.exe"
+  Delete /rebootok "$INSTDIR\bin\libpangoft2-1.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgdk_pixbuf-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgdk-win32-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\gst-xmllaunch.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-xmllaunch-0.10.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-xmlinspect.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-xmlinspect-0.10.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-typefind.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-typefind-0.10.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-launch.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-launch-0.10.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-inspect.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-inspect-0.10.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-feedback.exe"
+  Delete /rebootok "$INSTDIR\bin\gst-discoverer-0.10.exe"
+  RMDir "$INSTDIR\bin"
+
+  Delete /rebootok "$INSTDIR\bin\libffi-6.dll"
+  Delete /rebootok "$INSTDIR\bin\zlib1.dll"
+  Delete /rebootok "$INSTDIR\bin\libxml2-2.dll"
+  Delete /rebootok "$INSTDIR\bin\libssl-10.dll"
+  Delete /rebootok "$INSTDIR\bin\libspice-client-gtk-2.0-1.dll"
+  Delete /rebootok "$INSTDIR\bin\libspice-client-glib-2.0-1.dll"
+  Delete /rebootok "$INSTDIR\bin\libspice-controller-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libpng15-15.dll"
+  Delete /rebootok "$INSTDIR\bin\libpixman-1-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libpangowin32-1.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libpangocairo-1.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libpango-1.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\liborc-test-0.4-0.dll"
+  Delete /rebootok "$INSTDIR\bin\liborc-0.4-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libjpeg-62.dll"
+  Delete /rebootok "$INSTDIR\bin\libintl-8.dll"
+  Delete /rebootok "$INSTDIR\bin\iconv.dll"
+  Delete /rebootok "$INSTDIR\bin\libgtk-win32-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgthread-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstvideo-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstreamer-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstpbutils-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstinterfaces-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstfft-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstcontroller-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstbase-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstaudio-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgstapp-0.10-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgobject-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgmodule-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libglib-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgio-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgdk_pixbuf-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libgdk-win32-2.0-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libfreetype-6.dll"
+  Delete /rebootok "$INSTDIR\bin\libfontconfig-1.dll"
+  Delete /rebootok "$INSTDIR\bin\libcrypto-10.dll"
+  Delete /rebootok "$INSTDIR\bin\libcelt051-0.dll"
+  Delete /rebootok "$INSTDIR\bin\libcairo-2.dll"
+  Delete /rebootok "$INSTDIR\bin\libatk-1.0-0.dll"
+  RMDir "$INSTDIR\bin"
+  RMDir "$INSTDIR"
+SectionEnd
+
+Section -post
+  WriteUninstaller "$INSTDIR\Uninstall virt-viewer.exe"
+SectionEnd
-- 
1.7.7.6




More information about the virt-tools-list mailing list