]> sigrok.org Git - sigrok-cli.git/blobdiff - contrib/sigrok-cli_cross.nsi.in
sigrok-cli_cross.nsi.in: Bump Python version to 3.6.
[sigrok-cli.git] / contrib / sigrok-cli_cross.nsi.in
index c68572800e2a43e989ed7f57dfaf6259630e26e4..2e3ac337054167f48746507acefc0064cb083d5a 100644 (file)
@@ -1,7 +1,7 @@
 ##
 ## This file is part of the sigrok-cli project.
 ##
-## Copyright (C) 2011-2013 Uwe Hermann <uwe@hermann-uwe.de>
+## Copyright (C) 2011-2014 Uwe Hermann <uwe@hermann-uwe.de>
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -14,8 +14,7 @@
 ## GNU General Public License for more details.
 ##
 ## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+## along with this program; if not, see <http://www.gnu.org/licenses/>.
 ##
 
 #
@@ -38,7 +37,7 @@
 Name "@PACKAGE_NAME@"
 
 # Filename of the installer executable.
-OutFile "@PACKAGE_NAME@-@PACKAGE_VERSION@-installer.exe"
+OutFile "@PACKAGE_NAME@-@SC_PACKAGE_VERSION@-installer.exe"
 
 # Where to install the application.
 InstallDir "$PROGRAMFILES\sigrok\@PACKAGE_NAME@"
@@ -54,7 +53,7 @@ RequestExecutionLevel admin
 # --- MUI interface configuration ---------------------------------------------
 
 # Use the following icon for the installer EXE file.
-!define MUI_ICON "sigrok-logo-notext.ico"
+!define MUI_ICON "@top_srcdir@/contrib/sigrok-logo-notext.ico"
 
 # Show a nice image at the top of each installer page.
 !define MUI_HEADERIMAGE
@@ -70,21 +69,9 @@ RequestExecutionLevel admin
 !define MUI_LICENSEPAGE_BUTTON $(^NextBtn)
 !define MUI_LICENSEPAGE_TEXT_BOTTOM "Click Next to continue."
 
-# File name of the Python installer MSI file.
-!define PY_INST "python-3.2.3.msi"
-
-# Standard install path of the Python installer (do not change!).
-!define PY_BIN "c:\Python32"
-
 # Path where the cross-compiled sigrok tools and libraries are located.
 # Change this to where-ever you installed libsigrok.a and so on.
-# TODO: Figure out how to use $HOME (of the host that runs "makensis").
-!define CROSS "/home/uwe/sr_mingw"
-
-# Path where the cross-compiled MXE tools and libraries are located.
-# Change this to where-ever you installed MXE (and the files it built).
-# TODO: Figure out how to use $HOME (of the host that runs "makensis").
-!define MXE "/home/uwe/mxe-git/usr/i686-pc-mingw32"
+!define CROSS "@prefix@"
 
 
 # --- MUI pages ---------------------------------------------------------------
@@ -93,7 +80,7 @@ RequestExecutionLevel admin
 !insertmacro MUI_PAGE_WELCOME
 
 # Show the license of the project.
-!insertmacro MUI_PAGE_LICENSE "../COPYING"
+!insertmacro MUI_PAGE_LICENSE "@top_srcdir@/COPYING"
 
 # Show a screen which allows the user to select which components to install.
 !insertmacro MUI_PAGE_COMPONENTS
@@ -130,17 +117,31 @@ Section "@PACKAGE_NAME@ (required)" Section1
        # Install the file(s) specified below into the specified directory.
        SetOutPath "$INSTDIR"
 
-       # License file
-       File "../COPYING"
+       # License file.
+       File "@top_srcdir@/COPYING"
 
-       # sigrok-cli
+       # sigrok-cli.exe.
        File "${CROSS}/bin/@PACKAGE_NAME@.exe"
 
-       # Install the file(s) specified below into the specified directory.
-       SetOutPath "$INSTDIR\decoders"
+       # Zadig (used for installing WinUSB drivers).
+       File "${CROSS}/zadig.exe"
+       File "${CROSS}/zadig_xp.exe"
+
+       # Python
+       File "${CROSS}/python36.dll"
+       File "${CROSS}/python36.zip"
+
+       SetOutPath "$INSTDIR\share"
 
-       # Protocol decoders
-       File /r /x "__pycache__" "${CROSS}/share/libsigrokdecode/decoders/*"
+       # Protocol decoders.
+       File /r /x "__pycache__" /x "*.pyc" "${CROSS}/share/libsigrokdecode"
+
+       # Firmware files.
+       File /r "${CROSS}/share/sigrok-firmware"
+
+       # Example *.sr files.
+       SetOutPath "$INSTDIR\examples"
+       File /r "${CROSS}/share/sigrok-dumps/*"
 
        # Generate the uninstaller executable.
        WriteUninstaller "$INSTDIR\Uninstall.exe"
@@ -151,8 +152,8 @@ Section "@PACKAGE_NAME@ (required)" Section1
 
        # Create a shortcut for sigrok-cli (this merely opens a "DOS box").
        # Set the working directory (where the user will be placed into when
-       # the DOS box starts) to the user's Desktop directory.
-       SetOutPath "$DESKTOP"
+       # the DOS box starts) to the installation directory.
+       SetOutPath "$INSTDIR"
        CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\sigrok command-line tool.lnk" \
                "$SYSDIR\cmd.exe" \
                "/K echo For instructions run @PACKAGE_NAME@ --help." \
@@ -164,6 +165,16 @@ Section "@PACKAGE_NAME@ (required)" Section1
                "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 \
                SW_SHOWNORMAL "" "Uninstall @PACKAGE_NAME@"
 
+       # Create a shortcut for the Zadig executable.
+       CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig.lnk" \
+               "$INSTDIR\zadig.exe" "" "$INSTDIR\zadig.exe" 0 \
+               SW_SHOWNORMAL "" "Zadig"
+
+       # Create a shortcut for the Zadig executable (for Win XP).
+       CreateShortCut "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (Win XP).lnk" \
+               "$INSTDIR\zadig_xp.exe" "" "$INSTDIR\zadig_xp.exe" 0 \
+               SW_SHOWNORMAL "" "Zadig (Win XP)"
+
        # Create registry keys for "Add/remove programs" in the control panel.
        WriteRegStr HKLM "${REGSTR}" "DisplayName" "@PACKAGE_STRING@"
        WriteRegStr HKLM "${REGSTR}" "UninstallString" \
@@ -177,7 +188,7 @@ Section "@PACKAGE_NAME@ (required)" Section1
        WriteRegStr HKLM "${REGSTR}" "URLUpdateInfo" \
                "http://sigrok.org/wiki/Downloads"
        WriteRegStr HKLM "${REGSTR}" "URLInfoAbout" "http://sigrok.org"
-       WriteRegStr HKLM "${REGSTR}" "DisplayVersion" "@PACKAGE_VERSION@"
+       WriteRegStr HKLM "${REGSTR}" "DisplayVersion" "@SC_PACKAGE_VERSION@"
        WriteRegStr HKLM "${REGSTR}" "Contact" \
                "sigrok-devel@lists.sourceforge.org"
        WriteRegStr HKLM "${REGSTR}" "Comments" \
@@ -192,23 +203,6 @@ Section "@PACKAGE_NAME@ (required)" Section1
 SectionEnd
 
 
-# --- Python installer section ------------------------------------------------
-
-Section "Python" Section2
-
-       # Copy the Python installer MSI file into the temporary directory.
-       SetOutPath "$TEMP"
-       File "${CROSS}/${PY_INST}"
-
-       # Run the Python installer MSI file from within our installer.
-       ExecWait '"msiexec" /i "$TEMP\${PY_INST}" /QB- /passive ALLUSERS=1'
-
-       # Remove Python installer MSI file again.
-       Delete "$TEMP\${PY_INST}"
-
-SectionEnd
-
-
 # --- Uninstaller section -----------------------------------------------------
 
 Section "Uninstall"
@@ -219,18 +213,31 @@ Section "Uninstall"
        # Delete the application, the application data, and related libs.
        Delete "$INSTDIR\COPYING"
        Delete "$INSTDIR\@PACKAGE_NAME@.exe"
+       Delete "$INSTDIR\zadig.exe"
+       Delete "$INSTDIR\zadig_xp.exe"
+       Delete "$INSTDIR\python36.dll"
+       Delete "$INSTDIR\python36.zip"
 
-       # Delete all decoders and everything else in decoders/.
+       # Delete all decoders and everything else in libsigrokdecode/.
        # There could be *.pyc files or __pycache__ subdirs and so on.
-       RMDir /r "$INSTDIR\decoders\*"
+       RMDir /r "$INSTDIR\share\libsigrokdecode"
+
+       # Delete the firmware files.
+       RMDir /r "$INSTDIR\share\sigrok-firmware"
+
+       # Delete the example *.sr files.
+       RMDir /r "$INSTDIR\examples\*"
 
        # Delete the install directory and its sub-directories.
-       RMDir "$INSTDIR\decoders"
+       RMDir "$INSTDIR\share"
+       RMDir "$INSTDIR\examples"
        RMDir "$INSTDIR"
 
        # Delete the links from the start menu.
        Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\sigrok command-line tool.lnk"
        Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Uninstall.lnk"
+       Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig.lnk"
+       Delete "$SMPROGRAMS\sigrok\@PACKAGE_NAME@\Zadig (Win XP).lnk"
 
        # Delete the sub-directory in the start menu.
        RMDir "$SMPROGRAMS\sigrok\@PACKAGE_NAME@"
@@ -244,11 +251,9 @@ SectionEnd
 
 # --- Component selection section descriptions --------------------------------
 
-LangString DESC_Section1 ${LANG_ENGLISH} "This installs the sigrok command-line tool, the protocol decoders, and all required libraries."
-LangString DESC_Section2 ${LANG_ENGLISH} "This installs Python 3.2 in its default location of c:\Python32. If you already have Python 3.2 installed, you don't need to re-install it."
+LangString DESC_Section1 ${LANG_ENGLISH} "This installs the sigrok command-line tool, some firmware files, the protocol decoders, some example files, and all required libraries."
 
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
 !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
-!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
 !insertmacro MUI_FUNCTION_DESCRIPTION_END