]> sigrok.org Git - pulseview.git/blobdiff - contrib/pulseview_cross.nsi
pv::data::DecoderStack: Set _row for each annotation.
[pulseview.git] / contrib / pulseview_cross.nsi
index e2368303c5208118b2216eff36c3198848ea8350..78fa0c417c429f5aec64c1d1f7c1a5897a98ad7e 100644 (file)
@@ -1,7 +1,7 @@
 ##
 ## This file is part of the PulseView project.
 ##
-## Copyright (C) 2013 Uwe Hermann <uwe@hermann-uwe.de>
+## Copyright (C) 2013-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
@@ -70,21 +70,19 @@ 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.2.msi"
-# 
-# Standard install path of the Python installer (do not change!).
-!define PY_BIN "c:\Python32"
+# 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"
+!define CROSS "$%HOME%/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 MXE "$%HOME%/mxe-git/usr/i686-pc-mingw32"
 
 
 # --- MUI pages ---------------------------------------------------------------
@@ -130,17 +128,30 @@ Section "PulseView (required)" Section1
        # Install the file(s) specified below into the specified directory.
        SetOutPath "$INSTDIR"
 
-       # License file
+       # License file.
        File "../COPYING"
 
-       # PulseView (statically linked, includes all libs)
+       # PulseView (statically linked, includes all libs).
        File "${CROSS}/bin/pulseview.exe"
 
+       # libusb0.dll (needed for libusb-0.1).
+       File "${CROSS}/libusb0.dll"
+
+       # Zadig (used for installing libusb-win32 and WinUSB drivers).
+       File "${CROSS}/zadig.exe"
+       File "${CROSS}/zadig_xp.exe"
+
+       # Install the file(s) specified below into the specified directory.
+       SetOutPath "$INSTDIR\decoders"
+
+       # Protocol decoders.
+       File /r /x "__pycache__" "${CROSS}/share/libsigrokdecode/decoders/*"
+
        # Install the file(s) specified below into the specified directory.
-       # SetOutPath "$INSTDIR\decoders"
+       SetOutPath "$INSTDIR\firmware"
 
-       # Protocol decoders
-       # File /r /x "__pycache__" "${CROSS}/share/libsigrokdecode/decoders/*"
+       # Firmware files.
+       File /r "${CROSS}/share/sigrok-firmware/*"
 
        # Generate the uninstaller executable.
        WriteUninstaller "$INSTDIR\Uninstall.exe"
@@ -188,19 +199,19 @@ 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
+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 -----------------------------------------------------
@@ -213,13 +224,20 @@ Section "Uninstall"
        # Delete the application, the application data, and related libs.
        Delete "$INSTDIR\COPYING"
        Delete "$INSTDIR\pulseview.exe"
+       Delete "$INSTDIR\libusb0.dll"
+       Delete "$INSTDIR\zadig.exe"
+       Delete "$INSTDIR\zadig_xp.exe"
 
        # Delete all decoders and everything else in decoders/.
        # There could be *.pyc files or __pycache__ subdirs and so on.
-       # RMDir /r "$INSTDIR\decoders\*"
+       RMDir /r "$INSTDIR\decoders\*"
+
+       # Delete the firmware files.
+       RMDir /r "$INSTDIR\firmware\*"
 
        # Delete the install directory and its sub-directories.
-       # RMDir "$INSTDIR\decoders"
+       RMDir "$INSTDIR\decoders"
+       RMDir "$INSTDIR\firmware"
        RMDir "$INSTDIR"
 
        # Delete the links from the start menu.
@@ -238,11 +256,11 @@ SectionEnd
 
 # --- Component selection section descriptions --------------------------------
 
-LangString DESC_Section1 ${LANG_ENGLISH} "This installs the PulseView sigrok GUI."
-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 PulseView sigrok GUI, some firmware files, 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."
 
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
 !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
-!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
+!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
 !insertmacro MUI_FUNCTION_DESCRIPTION_END