From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> 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@.spec \ - intltool-extract.in \ - intltool-merge.in \ - intltool-update.in +EXTRA_DIST = \ + @PACKAGE@.spec \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + $(NULL) -DISTCLEAN_FILES = @PACKAGE@.spec \ - intltool-extract \ - intltool-merge \ - intltool-update +DISTCLEAN_FILES = \ + @PACKAGE@.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-@VERSION@.exe' which is a Windows +# installer containing your program. + +Name "virt-viewer" +OutFile "virt-viewer-@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