1#! /bin/sh 2. config/version 3bitsize=$1 4release=`echo "$pari_release"|sed 's/\./-/g'` 5cat << EOT 6;--- PARI/GP: NullSoft Installer configuration file 7!include "MUI.nsh" 8Name "PARI $pari_release_verbose (${bitsize}bit)" 9!define dll "libpari.dll" 10!define PARIver "Pari$bitsize-$release" 11EOT 12cat << 'EOT' 13!define top ".." 14!define tree "..\mingw" 15AutoCloseWindow false 16RequestExecutionLevel highest 17 18OutFile "..\${PARIver}.exe" 19InstallDir "$PROGRAMFILES\${PARIver}" 20InstallDirRegKey HKLM "Software\${PARIver}" "" 21 22!define MUI_ABORTWARNING 23 24!insertmacro MUI_PAGE_WELCOME 25!insertmacro MUI_PAGE_LICENSE "${top}\COPYING" 26!insertmacro MUI_PAGE_COMPONENTS 27!insertmacro MUI_PAGE_DIRECTORY 28!insertmacro MUI_PAGE_INSTFILES 29!insertmacro MUI_PAGE_FINISH 30 31!insertmacro MUI_UNPAGE_WELCOME 32!insertmacro MUI_UNPAGE_CONFIRM 33!insertmacro MUI_UNPAGE_INSTFILES 34!insertmacro MUI_UNPAGE_FINISH 35 36!insertmacro MUI_LANGUAGE "English" 37;-------------------------------- 38;Installer Sections 39 40!define uninst "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PARIver}" 41 42Section "pari (required)" SecCopy 43 SetOutPath "$INSTDIR" 44 File "${tree}\bin\gp.exe" 45 File "${tree}\bin\${dll}" 46 File /oname=gphelp.pl "${tree}\bin\gphelp" 47 File /oname=gprc.txt "${tree}\gprc.mingw" 48 49 WriteRegStr HKCU "Software\${PARIver}" "" $INSTDIR 50 WriteRegStr HKLM ${uninst} "DisplayName" "${PARIver} (remove only)" 51 WriteRegStr HKLM ${uninst} "UninstallString" '"$INSTDIR\uninstall.exe"' 52 53 WriteUninstaller "$INSTDIR\Uninstall.exe" 54SectionEnd 55 56Section "Data files" SecGAL 57 SetOutPath "$INSTDIR" 58 File /r "${tree}\data" 59SectionEnd 60 61Section "documentation" SecDOC 62 CreateDirectory "$INSTDIR\etc" 63 SetOutPath "$INSTDIR" 64 File /r "${tree}\share\pari\doc" 65 File /r "${tree}\perl" 66 File /r "${tree}\share\pari\examples" 67 File /oname=gprc_dft.txt "${tree}\gprc.dft" 68SectionEnd 69 70Section "Development files" SecDEV 71 CreateDirectory "$INSTDIR\include" 72 CreateDirectory "$INSTDIR\lib" 73 SetOutPath "$INSTDIR" 74 File /r "${tree}\lib" 75 File /r "${tree}\include" 76SectionEnd 77 78Function .onInstSuccess 79 MessageBox MB_OK "Thank you for using PARI/GP! Double-click on 'gp' to start the calculator.$\r$\n" 80 ExecShell "open" "$INSTDIR" 81FunctionEnd 82 83!define short "$SMPROGRAMS\${PARIver}" 84 85Section "shortcuts" SecSM 86 CreateDirectory "${short}" 87 CreateShortCut "${short}\gp.lnk" "$INSTDIR\gp.exe" "" "$INSTDIR\gp.exe" 0 88 CreateShortCut "${short}\users.lnk" "$INSTDIR\doc\users.pdf" "" "$INSTDIR\doc\users.pdf" 0 89 CreateShortCut "${short}\libpari.lnk" "$INSTDIR\doc\libpari.pdf" "" "$INSTDIR\doc\libpari.pdf" 0 90 CreateShortCut "${short}\tutorial.lnk" "$INSTDIR\doc\tutorial.pdf" "" "$INSTDIR\doc\tutorial.pdf" 0 91 CreateShortCut "${short}\refcard.lnk" "$INSTDIR\doc\refcard.pdf" "" "$INSTDIR\doc\refcard.pdf" 0 92 WriteINIStr "${short}\PARI pages.url" "InternetShortcut" "URL" "http://pari.math.u-bordeaux.fr" 93 CreateShortCut "${short}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 94 CreateShortCut "$DESKTOP\PARI.lnk" "$INSTDIR\gp.exe" 95SectionEnd 96 97;-------------------------------- 98;Descriptions 99 100LangString DESC_SecCopy ${LANG_ENGLISH} "Copy pari files to application folder." 101LangString DESC_DOC ${LANG_ENGLISH} "Install documentation and online help." 102LangString DESC_EX ${LANG_ENGLISH} "Install sample GP scripts." 103LangString DESC_GAL ${LANG_ENGLISH} "Install Pari package files." 104LangString DESC_DEV ${LANG_ENGLISH} "Add libpari development files." 105LangString DESC_SM ${LANG_ENGLISH} "Add PARI shortcuts to Start Menu and desktop." 106 107!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN 108 !insertmacro MUI_DESCRIPTION_TEXT ${SecCopy} $(DESC_SecCopy) 109 !insertmacro MUI_DESCRIPTION_TEXT ${SecGAL} $(DESC_GAL) 110 !insertmacro MUI_DESCRIPTION_TEXT ${SecSM} $(DESC_SM) 111 !insertmacro MUI_DESCRIPTION_TEXT ${SecDOC} $(DESC_DOC) 112 !insertmacro MUI_DESCRIPTION_TEXT ${SecDEV} $(DESC_DEV) 113!insertmacro MUI_FUNCTION_DESCRIPTION_END 114 115;-------------------------------- 116Section "Uninstall" 117 Delete "$INSTDIR\gp.exe" 118 Delete "$INSTDIR\gphelp.pl" 119 Delete "$INSTDIR\gprc_dft.txt" 120 Delete "$INSTDIR\${dll}" 121 122 RMDir /r "$INSTDIR\perl" 123 RMDir /r "$INSTDIR\etc" 124 RMDir /r "$INSTDIR\doc" 125 RMDir /r "$INSTDIR\examples" 126 RMDir /r "$INSTDIR\data" 127 RMDir /r "$INSTDIR\include" 128 RMDir /r "$INSTDIR\lib" 129 Delete "$INSTDIR\Uninstall.exe" 130 131 DeleteRegKey HKLM ${uninst} 132 DeleteRegKey /ifempty HKLM "Software\${PARIver}" 133 134 RMDir /r "$SMPROGRAMS\${PARIver}" 135 Delete "$DESKTOP\PARI.lnk" 136 RMDir "$INSTDIR" 137SectionEnd 138EOT 139