Mercurial > mxe-octave
changeset 3462:369b21249f13
merge away extra head
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Jan 2014 03:45:26 -0500 |
parents | bc0e6c5189cd (diff) fc11211443d5 (current diff) |
children | 7901815035d6 |
files | dist-files.mk |
diffstat | 9 files changed, 205 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile.in Fri Jan 24 13:54:49 2014 -0500 +++ b/Makefile.in Tue Jan 28 03:45:26 2014 -0500 @@ -321,7 +321,7 @@ MSYS_EXTENSION_VER := 1.0.13 MSYS_BASE_DIR := $(TOP_DIR)/msys-base MSYS_EXTENSION_DIR := $(TOP_DIR)/msys-extension - MSYS_BASE_PACKAGES := $(addprefix msys-,bash coreutils diffutils dos2unix file findutils gawk grep gzip less libiconv libintl libmagic make msys-core patch regex sed tar termcap unzip wget) + MSYS_BASE_PACKAGES := $(addprefix msys-,bash coreutils diffutils dos2unix file findutils gawk grep gzip less libiconv libintl libmagic make msys-core patch regex sed tar termcap unzip zip wget) NOTEPAD_BASE_DIR := $(TOP_DIR)/notepad++ endif
--- a/binary-dist-rules.mk Fri Jan 24 13:54:49 2014 -0500 +++ b/binary-dist-rules.mk Tue Jan 28 03:45:26 2014 -0500 @@ -73,6 +73,8 @@ echo " notepad++..." cd $(TOP_DIR) \ && tar -c -h -f - notepad++ | ( cd $(OCTAVE_DIST_DIR) ; tar xpf - ) + echo " README.html..." + cp $(TOP_DIR)/installer-files/README.html $(OCTAVE_DIST_DIR)/ endef endif
--- a/build_packages.m Fri Jan 24 13:54:49 2014 -0500 +++ b/build_packages.m Tue Jan 28 03:45:26 2014 -0500 @@ -1,5 +1,11 @@ more ("off"); echo ("on"); +% cd to script directory as the packages files are in the same place +[packagedir] = fileparts(mfilename("fullpathext")); +if length(packagedir) > 0 + cd(packagedir); +endif +% install the packages pkg install general-1.3.2.tar.gz pkg install miscellaneous-1.2.0.tar.gz pkg install struct-1.0.10.tar.gz
--- a/dist-files.mk Fri Jan 24 13:54:49 2014 -0500 +++ b/dist-files.mk Tue Jan 28 03:45:26 2014 -0500 @@ -374,6 +374,7 @@ msys-unzip.mk \ msys-wget.mk \ msys-xz.mk \ + msys-zip.mk \ muparser.mk \ mxml-test.c \ mxml.mk \ @@ -724,7 +725,8 @@ gpl-3.0.txt \ octave.bmp \ octave-hdr.bmp \ - octave-logo.ico + octave-logo.ico \ + README.html INSTALL_FILES := $(addprefix installer-files/, $(INSTALL_FILES_1)) DIST_FILES := \
--- a/index.html Fri Jan 24 13:54:49 2014 -0500 +++ b/index.html Tue Jan 28 03:45:26 2014 -0500 @@ -1878,6 +1878,11 @@ <td id="msys-unzip-website"><a href="http://www.mingw.org/">MinGW unzip</a></td> </tr> <tr> + <td id="msys-zip-package">msys-zip</td> + <td id="msys-zip-version">3.0-1</td> + <td id="msys-zip-website"><a href="http://www.mingw.org/">MinGW zip</a></td> + </tr> + <tr> <td id="msys-termcap-package">msys-termcap</td> <td id="msys-termcap-version">0.20050421_1-2</td> <td id="msys-termcap-website"><a href="http://www.mingw.org/">MinGW termcap</a></td>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/installer-files/README.html Tue Jan 28 03:45:26 2014 -0500 @@ -0,0 +1,45 @@ +<html> +<head> +<title>GNU Octave</title> +<style TYPE="text/css"> +<!-- +body { +} +--> +</style> +</head> +<body> +<h2>Welcome</h2> +<p> +Thank you for installing GNU Octave! +</p> +<p> +Octave 3.8 is a major new release with many new features, including an +experimental graphical user interface. But because the GUI is not +quite as polished as we would like, we have decided to wait until the +4.0.x release series before making the GUI the default interface. +</p> +<p> +See the release notes or the "Experimental GUI Info" button in the GUI +for more information about the release and how you can help us with +GUI development and speed up the 4.0 release. +</p> +<h2>Included Octave Forge Packages</h2> +<p> +A number of Octave-forge packages have been included with this install Octave, +however they need to be installed in order to use them. +</p> +<p> +To install: +<ul> + <li>Start Octave and then open the build_packages.m file found in the src folder +where Octave was installed.</li> + <li>Run the build_packages.m script to build and install the packages.</li> +</ul> +Packages must then be loaded in order to use them with the <tt>pkg load PACKAGENAME</tt> command. +</p> +<p> +Other packages are available from <a href="http://octave.sourceforge.net/">Octave-Forge</a> +</p> +</body> +</html>
--- a/makeinst-script.sh Fri Jan 24 13:54:49 2014 -0500 +++ b/makeinst-script.sh Tue Jan 28 03:45:26 2014 -0500 @@ -36,7 +36,7 @@ !define DESCRIPTION "GNU Octave is a high-level programming language, primarily intended for numerical computations." !define INSTALLER_FILES "../installer-files" !define INSTALLER_NAME "octave-$OCTAVE_VERSION-installer.exe" -!define MAIN_APP_EXE "octave.exe" +!define MAIN_APP_EXE "octave-gui.exe" !define INSTALL_TYPE "SetShellVarContext current" !define PRODUCT_ROOT_KEY "HKLM" !define PRODUCT_KEY "Software\\Octave-$VERSION" @@ -69,6 +69,12 @@ ; MUI settings !include "MUI.nsh" +; custom dialogs +!include nsDialogs.nsh +; additional logic +!include LogicLib.nsh + + !define MUI_ABORTWARNING !define MUI_UNABORTWARNING !define MUI_HEADERIMAGE @@ -85,24 +91,15 @@ !define MUI_LICENSEPAGE_BUTTON "Next >" !insertmacro MUI_PAGE_LICENSE "\${INSTALLER_FILES}/gpl-3.0.txt" +Page custom octaveOptionsPage octaveOptionsLeave + !define MUI_PAGE_CUSTOMFUNCTION_LEAVE CheckPrevInstall !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES -; set up checkbox to create desktop icon -Function finishpage_desktopshortcut - SetOutPath "%USERPROFILE%" - CreateShortCut "\$desktop\\Octave-$VERSION (Command Line).lnk" "\$INSTDIR\\bin\\octave-cli.exe" "" "\$INSTDIR\\$ICON" 0 - CreateShortCut "\$desktop\\Octave-$VERSION (Experimental GUI).lnk" "\$INSTDIR\\bin\\octave-gui.exe" "" "\$INSTDIR\\$ICON" 0 -FunctionEnd - -!define MUI_FINISHPAGE_SHOWREADME "" -!define MUI_FINISHPAGE_SHOWREADME_CHECKED -!define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut" -!define MUI_FINISHPAGE_SHOWREADME_FUNCTION finishpage_desktopshortcut - !define MUI_FINISHPAGE_RUN "\$INSTDIR\\bin\\\${MAIN_APP_EXE}" +!define MUI_FINISHPAGE_SHOWREADME "\$INSTDIR\\README.html" !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM @@ -117,6 +114,50 @@ RequestExecutionLevel admin +###################################################################### +; custom options page functions + +Var InstallAllUsers +Var InstallAllUsersCtrl +Var InstallShortcuts +Var InstallShortcutsCtrl +Var RegisterOctaveFileType +Var RegisterOctaveFileTypeCtrl + +Function octaveOptionsPage + Push \$0 + nsDialogs::Create 1018 + Pop \$0 + + \${If} \$0 == error + Abort + \${EndIf} + + \${NSD_CreateCheckBox} 0 0 100% 12u "Install for all users" + Pop \$InstallAllUsersCtrl + \${NSD_SetState} \$InstallAllUsersCtrl \${BST_CHECKED} + + \${NSD_CreateCheckBox} 0 20 100% 12u "Create desktop shortcuts" + Pop \$InstallShortcutsCtrl + \${NSD_SetState} \$InstallShortcutsCtrl \${BST_CHECKED} + + \${NSD_CreateCheckBox} 0 40 100% 12u "Register .m file type with Octave" + Pop \$RegisterOctaveFileTypeCtrl + \${NSD_SetState} \$RegisterOctaveFileTypeCtrl \${BST_CHECKED} + + !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing" + nsDialogs::Show + Pop \$0 +FunctionEnd + +Function octaveOptionsLeave + \${NSD_GetState} \$InstallAllUsersCtrl \$InstallAllUsers + \${NSD_GetState} \$InstallShortcutsCtrl \$InstallShortcuts + \${NSD_GetState} \$RegisterOctaveFileTypeCtrl \$RegisterOctaveFileType +FunctionEnd + +###################################################################### + Function .onInit Call DetectWinVer Call CheckCurrVersion @@ -127,6 +168,18 @@ ; file section Section "MainFiles" + ; set context based on whether installing for user or all + \${If} \$InstallAllUsers == \${BST_CHECKED} + SetShellVarContext all + \${Else} + SetShellVarContext current + \${Endif} + + ; include the README + SetOutPath "\$INSTDIR" + File "$OCTAVE_SOURCE/README.html" + + ; distro files EOF # insert the files @@ -156,6 +209,9 @@ WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "UninstallString" "\$INSTDIR\\uninstall.exe" WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoModify" 1 WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "NoRepair" 1 + \${If} \$InstallAllUsers == \${BST_CHECKED} + WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "AllUsers" 1 + \${EndIf} WriteUninstaller "uninstall.exe" SectionEnd @@ -181,10 +237,60 @@ fi cat >> $OUTFILE << EOF + + \${If} \$InstallShortcuts == \${BST_CHECKED} + SetOutPath "%USERPROFILE%" + CreateShortCut "\$desktop\\Octave-$VERSION (Command Line).lnk" "\$INSTDIR\\bin\\octave-cli.exe" "" "\$INSTDIR\\$ICON" 0 + CreateShortCut "\$desktop\\Octave-$VERSION (Experimental GUI).lnk" "\$INSTDIR\\bin\\octave-gui.exe" "" "\$INSTDIR\\$ICON" 0 + \${Endif} + +SectionEnd + +Section "FileTypeRego" + ; Octave document + WriteRegStr HKCR "Octave.Document.$VERSION" "" "GNU Octave Script" + WriteRegStr HKCR "Octave.Document.$VERSION\\DefaultIcon" "" "\$INSTDIR\\$ICON" + ; document actions + WriteRegStr HKCR "Octave.Document.$VERSION\\shell\\open\\command" "" '"\$INSTDIR\\bin\\octave-gui.exe" --force-gui --persist --eval "edit %1"' + + \${If} \$RegisterOctaveFileType == \${BST_CHECKED} + ReadRegStr \$0 HKCR ".m" "" + StrCmp "\$0" "" no_back_type + WriteRegStr HKCR ".m" "backup_val" "\$0" +no_back_type: + WriteRegStr HKCR ".m" "" "Octave.Document.$VERSION" + WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "RegisteredFileType" 1 + \${EndIf} SectionEnd Section "Uninstall" + ReadRegDWORD \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "AllUsers" + IfErrors not_all_users + + SetShellVarContext all + +not_all_users: + ReadRegDWORD \$0 HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" "RegisteredFileType" + IfErrors not_registered_file + + ReadRegStr \$0 HKCR ".m" "backup_val" + IfErrors not_backup_file + + # retore backup + WriteRegStr HKCR ".m" "" "\$0" + + DeleteRegValue HKCR ".m" "backup_val" + + ; dont delete .m if just restored backup + Goto not_registered_file +not_backup_file: + DeleteRegKey HKCR ".m" + +not_registered_file: + ; delete file type + DeleteRegKey HKCR "Octave.Document.$VERSION" + DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Octave-$VERSION" DeleteRegKey HKLM "Software\\Octave-$VERSION"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/msys-zip.mk Tue Jan 28 03:45:26 2014 -0500 @@ -0,0 +1,23 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := msys-zip +$(PKG)_IGNORE := +$(PKG)_CHECKSUM := 38a09ab05f88abd8e31e769a4520b2caea79bfde +$(PKG)_REMOTE_SUBDIR := zip/zip-$($(PKG)_VERSION) +$(PKG)_SUBDIR := +$(PKG)_FILE := zip-$($(PKG)_VERSION)-msys-1.0.14-bin.tar.lzma +$(PKG)_URL := $(MSYS_EXTENSION_URL)/$($(PKG)_REMOTE_SUBDIR)/$($(PKG)_FILE)/download +$(PKG)_DEPS := + +define $(PKG)_UPDATE + echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2; + echo $($(PKG)_VERSION) +endef + +define $(PKG)_BUILD + mkdir -p '$(MSYS_EXTENSION_DIR)' + cd '$(1)' && tar cf - . | ( cd '$(MSYS_EXTENSION_DIR)'; tar xpf - ) + mkdir -p '$(MSYS_INFO_DIR)' + cd '$(1)' && find . > '$(MSYS_INFO_DIR)'/$(PKG).list +endef
--- a/src/of-miscellaneous.mk Fri Jan 24 13:54:49 2014 -0500 +++ b/src/of-miscellaneous.mk Tue Jan 28 03:45:26 2014 -0500 @@ -8,7 +8,7 @@ $(PKG)_SUBDIR := miscellaneous $(PKG)_FILE := miscellaneous-$($(PKG)_VERSION).tar.gz $(PKG)_URL := '$(OCTAVE_FORGE_BASE_URL)/$($(PKG)_FILE)/download' -$(PKG)_DEPS := of-general +$(PKG)_DEPS := of-general units define $(PKG)_UPDATE echo 'Warning: Updates are temporarily disabled for package $(PKG).' >&2;