1#! /bin/sh 2. config/version 3release=`echo "$pari_release"|sed 's/\./-/g'` 4cat << EOT 5;--- PARI/GP: NullSoft Installer configuration file 6!include "MUI.nsh" 7Name "PARI $pari_release_verbose" 8!define dll "libpari.dll" 9!define PARIver "Pari-$release" 10EOT 11cat << 'EOT' 12;--No need to modify things below -- 13!define top ".." 14!define cfgdir "${top}\config" 15AutoCloseWindow false 16RequestExecutionLevel highest 17 18OutFile "Pari.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 /oname=gp.exe "gp-dyn.exe" 45 File /oname=.gprc "${cfgdir}\cygwin-gprc" 46 File /oname=postinst "${cfgdir}\cygwin-postinst" 47 File "${top}\misc\tex2mail" 48 File "${dll}" 49 FILE "\cygwin\bin\cygcrypt-0.dll" 50 FILE "\cygwin\bin\cygiconv-2.dll" 51 FILE "\cygwin\bin\cygintl-8.dll" 52 File "\cygwin\bin\cyggmp-3.dll" 53 File "\cygwin\bin\cygncursesw-10.dll" 54 File "\cygwin\bin\cygreadline7.dll" 55 File "\cygwin\bin\cygperl5_10.dll" 56 File "\cygwin\bin\cyggcc_s-1.dll" 57 File "\cygwin\bin\cygssp-0.dll" 58 File "\cygwin\bin\cygwin1.dll" 59 File "\cygwin\bin\perl.exe" 60 File "\cygwin\bin\sh.exe" 61 File "\cygwin\bin\ln.exe" 62 SetOutPath "$INSTDIR\terminfo\c" 63 File /nonfatal "\cygwin\usr\share\terminfo\c\cygwin" 64 SetOutPath "$INSTDIR\terminfo\63" 65 File /nonfatal "\cygwin\usr\share\terminfo\63\cygwin" 66 SetOutPath "$INSTDIR" 67 CreateDirectory "$INSTDIR\..\bin" 68 ExecWait 'sh ./postinst' 69 Delete "ln.exe" 70 Delete "postinst" 71 72 WriteRegStr HKCU "Software\${PARIver}" "" $INSTDIR 73 WriteRegStr HKLM ${uninst} "DisplayName" "${PARIver} (remove only)" 74 WriteRegStr HKLM ${uninst} "UninstallString" '"$INSTDIR\uninstall.exe"' 75 76 WriteUninstaller "$INSTDIR\Uninstall.exe" 77SectionEnd 78 79SectionGroup /e "Data files" SecDATA 80Section "Elliptic curves files" SecELL 81 SetOutPath "$INSTDIR\data\elldata" 82 File "${top}\data\elldata\*" 83SectionEnd 84 85Section "Galois files" SecGAL 86 SetOutPath "$INSTDIR\data\galdata" 87 File "${top}\data\galdata\*" 88SectionEnd 89 90Section "Frobenius of elliptic curves files" SecSEA 91 SetOutPath "$INSTDIR\data\seadata" 92 File "${top}\data\seadata\*" 93SectionEnd 94 95Section "Galois polynomial files" SecGPL 96 SetOutPath "$INSTDIR\data\galpol" 97 File "${top}\data\galpol\*" 98SectionEnd 99SectionGroupEnd 100 101Section "documentation" SecDOC 102 SetOutPath "$INSTDIR" 103 File "${top}\doc\gphelp" 104 SetOutPath $INSTDIR\doc 105 File "${top}\doc\translations" 106 File "${top}\doc\*.tex" 107 File "${top}\doc\*.pdf" 108SectionEnd 109 110Section "examples" SecEX 111 SetOutPath "$INSTDIR" 112 File "${top}\doc\gphelp" 113 SetOutPath $INSTDIR\examples 114 File "${top}\examples\EXPLAIN" 115 File "${top}\examples\Inputrc" 116 File "${top}\examples\*.gp" 117 File "${top}\examples\*.c" 118 File "${top}\examples\Makefile.cygwin-i686" 119SectionEnd 120 121Function .onInstSuccess 122 MessageBox MB_OK "Thank you for using PARI/GP! Double-click on 'gp' to start the calculator.$\r$\nTweak $INSTDIR\.gprc to customize GP: colors, script search path, etc." 123 ExecShell "open" "$INSTDIR" 124FunctionEnd 125 126!define short "$SMPROGRAMS\${PARIver}" 127 128Section "shortcuts" SecSM 129 CreateDirectory "${short}" 130 CreateShortCut "${short}\gp.lnk" "$INSTDIR\gp.exe" "" "$INSTDIR\gp.exe" 0 131 CreateShortCut "${short}\users.lnk" "$INSTDIR\doc\users.pdf" "" "$INSTDIR\doc\users.pdf" 0 132 CreateShortCut "${short}\libpari.lnk" "$INSTDIR\doc\libpari.pdf" "" "$INSTDIR\doc\libpari.pdf" 0 133 CreateShortCut "${short}\tutorial.lnk" "$INSTDIR\doc\tutorial.pdf" "" "$INSTDIR\doc\tutorial.pdf" 0 134 CreateShortCut "${short}\refcard.lnk" "$INSTDIR\doc\refcard.pdf" "" "$INSTDIR\doc\refcard.pdf" 0 135 WriteINIStr "${short}\PARI pages.url" "InternetShortcut" "URL" "http://pari.math.u-bordeaux.fr" 136 CreateShortCut "${short}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 137 CreateShortCut "$DESKTOP\PARI.lnk" "$INSTDIR\gp.exe" 138SectionEnd 139 140;-------------------------------- 141;Descriptions 142 143LangString DESC_SecCopy ${LANG_ENGLISH} "Copy pari files to application folder." 144LangString DESC_DOC ${LANG_ENGLISH} "Install documentation and online help." 145LangString DESC_EX ${LANG_ENGLISH} "Install sample GP scripts." 146LangString DESC_DATA ${LANG_ENGLISH} "Data files pertaining to pari" 147LangString DESC_ELL ${LANG_ENGLISH} "Install elliptic curves data files (for ellsearch and ellidentify)." 148LangString DESC_GAL ${LANG_ENGLISH} "Install Galois data files (for polgalois in degree > 7)." 149LangString DESC_SEA ${LANG_ENGLISH} "Install Modular polynomials (for ellap'SEA implementation)." 150LangString DESC_GPL ${LANG_ENGLISH} "Install Galois polynomials data files (for galoisgetpol)." 151LangString DESC_SM ${LANG_ENGLISH} "Add PARI shortcuts to Start Menu and desktop." 152 153!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN 154 !insertmacro MUI_DESCRIPTION_TEXT ${SecCopy} $(DESC_SecCopy) 155 !insertmacro MUI_DESCRIPTION_TEXT ${SecDATA} $(DESC_DATA) 156 !insertmacro MUI_DESCRIPTION_TEXT ${SecELL} $(DESC_ELL) 157 !insertmacro MUI_DESCRIPTION_TEXT ${SecGAL} $(DESC_GAL) 158 !insertmacro MUI_DESCRIPTION_TEXT ${SecSEA} $(DESC_SEA) 159 !insertmacro MUI_DESCRIPTION_TEXT ${SecGPL} $(DESC_GPL) 160 !insertmacro MUI_DESCRIPTION_TEXT ${SecSM} $(DESC_SM) 161 !insertmacro MUI_DESCRIPTION_TEXT ${SecDOC} $(DESC_DOC) 162 !insertmacro MUI_DESCRIPTION_TEXT ${SecEX} $(DESC_EX) 163!insertmacro MUI_FUNCTION_DESCRIPTION_END 164 165;-------------------------------- 166Section "Uninstall" 167 Delete "$INSTDIR\gp.exe" 168 Delete "$INSTDIR\.gprc" 169 Delete "$INSTDIR\gphelp" 170 Delete "$INSTDIR\tex2mail" 171 Delete "$INSTDIR\${dll}" 172 Delete "$INSTDIR\cygcrypt-0.dll" 173 Delete "$INSTDIR\cygiconv-2.dll" 174 Delete "$INSTDIR\cygintl-8.dll" 175 Delete "$INSTDIR\cyggmp-3.dll" 176 Delete "$INSTDIR\cygncursesw-10.dll" 177 Delete "$INSTDIR\cygreadline7.dll" 178 Delete "$INSTDIR\cygperl5_10.dll" 179 Delete "$INSTDIR\cyggcc_s-1.dll" 180 Delete "$INSTDIR\cygssp-0.dll" 181 Delete "$INSTDIR\cygwin1.dll" 182 Delete "$INSTDIR\perl.exe" 183 Delete "$INSTDIR\sh.exe" 184 185 Delete "$INSTDIR\Uninstall.exe" 186 RMDir /r "$INSTDIR\doc" 187 RMDir /r "$INSTDIR\examples" 188 RMDir /r "$INSTDIR\data" 189 RMDir /r "$INSTDIR\terminfo" 190 191 DeleteRegKey HKLM ${uninst} 192 DeleteRegKey /ifempty HKLM "Software\${PARIver}" 193 194 RMDir /r "$SMPROGRAMS\${PARIver}" 195 Delete "$DESKTOP\PARI.lnk" 196 Delete "$INSTDIR\..\bin\sh" 197 RMDir "$INSTDIR\..\bin" 198 RMDir "$INSTDIR" 199SectionEnd 200EOT 201