]> ncurses.scripts.mit.edu Git - ncurses.git/blob - package/mingw-ncurses.nsi
ncurses 5.9 - patch 20131012
[ncurses.git] / package / mingw-ncurses.nsi
1 ; $Id: mingw-ncurses.nsi,v 1.4 2013/10/12 23:13:27 tom Exp $\r
2 \r
3 ; TODO add examples\r
4 ; TODO bump ABI to 6\r
5 \r
6 ; Define the application name\r
7 !define APPNAME "ncurses"\r
8 !define EXENAME "ncurses.exe"\r
9 \r
10 !define VERSION_MAJOR "5"\r
11 !define VERSION_MINOR "9"\r
12 !define VERSION_YYYY  "2013"\r
13 !define VERSION_MMDD  "1012"\r
14 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
15 \r
16 !define MY_ABI   "5"\r
17 !define MY_MODEL "w"\r
18 \r
19 !define SUBKEY "ncurses"\r
20 \r
21 !define INSTALL "${APPNAME} (Console)"\r
22 !define VERSION ${VERSION_MAJOR}.${VERSION_MINOR}\r
23 !define VERSION_FULL  ${VERSION}-${VERSION_PATCH}\r
24 \r
25 ; Main Install settings\r
26 Name "${INSTALL}"\r
27 InstallDir "c:\mingw"\r
28 InstallDirRegKey HKLM "Software\${SUBKEY}" "$INSTDIR\bin"\r
29 OutFile "NSIS-Output\${APPNAME}-${VERSION_FULL}-setup.exe"\r
30 \r
31 CRCCheck on\r
32 SetCompressor /SOLID lzma\r
33 \r
34 VIAddVersionKey ProductName "${SUBKEY}"\r
35 VIAddVersionKey CompanyName "http://invisible-island.net"\r
36 VIAddVersionKey LegalCopyright "© 2013, Thomas E. Dickey"\r
37 VIAddVersionKey FileDescription "NCurses Installer (MinGW)"\r
38 VIAddVersionKey FileVersion ${VERSION_FULL}\r
39 VIAddVersionKey ProductVersion ${VERSION_FULL}\r
40 VIAddVersionKey Comments "This installer was built with NSIS and cross-compiling to MinGW."\r
41 VIAddVersionKey InternalName "${APPNAME}-${VERSION_FULL}-setup.exe"\r
42 ; This is a dotted set of numbers limited to 16-bits each\r
43 VIProductVersion "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_YYYY}.${VERSION_MMDD}"\r
44 \r
45 ; Modern interface settings\r
46 !include "MUI.nsh"\r
47 \r
48 !define MUI_ABORTWARNING\r
49 ;!define MUI_FINISHPAGE_RUN\r
50 ;"$INSTDIR\bin\${EXENAME}"\r
51 \r
52 !insertmacro MUI_PAGE_WELCOME\r
53 !insertmacro MUI_PAGE_LICENSE "..\COPYING"\r
54 !insertmacro MUI_PAGE_COMPONENTS\r
55 !insertmacro MUI_PAGE_DIRECTORY\r
56 !insertmacro MUI_PAGE_INSTFILES\r
57 !insertmacro MUI_PAGE_FINISH\r
58 \r
59 !insertmacro MUI_UNPAGE_CONFIRM\r
60 !insertmacro MUI_UNPAGE_INSTFILES\r
61 \r
62 ; Set languages (first is default language)\r
63 !insertmacro MUI_LANGUAGE "English"\r
64 !insertmacro MUI_RESERVEFILE_LANGDLL\r
65 \r
66 InstType "Full"         ; SectionIn 1\r
67 InstType "Typical"      ; SectionIn 2\r
68 InstType "Minimal"      ; SectionIn 3\r
69 \r
70 Section "${APPNAME}" Section1\r
71 \r
72         SectionIn 1 2 3\r
73 \r
74         ; Set Section properties\r
75         SetOverwrite on\r
76 \r
77         ; Set Section Files and Shortcuts\r
78         SetOutPath "$INSTDIR\bin"\r
79 \r
80         File ".\bin\*.dll"\r
81 \r
82         SetOutPath "$INSTDIR\share\${APPNAME}"\r
83         File /oname=README.txt "..\README"\r
84         File /oname=README-mingw.txt "..\README.mingw"\r
85 \r
86         CreateDirectory "$SMPROGRAMS\${INSTALL}"\r
87         CreateShortCut "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk" "$INSTDIR\bin\${EXENAME}"\r
88         CreateShortCut "$SMPROGRAMS\${INSTALL}\Uninstall.lnk" "$INSTDIR\uninstall.exe"\r
89 \r
90 SectionEnd\r
91 \r
92 Section "development" Section2\r
93 \r
94         SectionIn 1 2\r
95 \r
96         ; Set Section properties\r
97         SetOverwrite on\r
98 \r
99         ; Set Section Files and Shortcuts\r
100         SetOutPath "$INSTDIR\share\${APPNAME}"\r
101 \r
102         SetOutPath "$INSTDIR\include\${APPNAME}${MY_MODEL}"\r
103 \r
104         File ".\include\${APPNAME}${MY_MODEL}\*.h"\r
105 \r
106         SetOutPath "$INSTDIR\lib"\r
107 \r
108         File ".\lib\*.a"\r
109 \r
110 SectionEnd\r
111 \r
112 Section "examples" Section3\r
113 \r
114         SectionIn 1\r
115 \r
116         ; Set Section properties\r
117         SetOverwrite on\r
118 \r
119         ; Set Section Files and Shortcuts\r
120         SetOutPath "$INSTDIR\lib\${APPNAME}"\r
121 \r
122 SectionEnd\r
123 \r
124 Section -FinishSection\r
125 \r
126         WriteRegStr HKLM "Software\${SUBKEY}" "" "$INSTDIR"\r
127         WriteRegStr HKLM "Software\${SUBKEY}" "Environment" ""\r
128         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "DisplayName" "${APPNAME} ${VERSION_FULL} (Console)"\r
129         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "UninstallString" "$INSTDIR\uninstall.exe"\r
130         WriteUninstaller "$INSTDIR\uninstall.exe"\r
131 \r
132 SectionEnd\r
133 \r
134 ; Modern install component descriptions\r
135 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\r
136         !insertmacro MUI_DESCRIPTION_TEXT ${Section1} "${SUBKEY} runtime"\r
137         !insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Development headers and libraries"\r
138         !insertmacro MUI_DESCRIPTION_TEXT ${Section3} "Examples"\r
139 !insertmacro MUI_FUNCTION_DESCRIPTION_END\r
140 \r
141 ;Uninstall section\r
142 Section Uninstall\r
143 \r
144         ;Remove from registry...\r
145         DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}"\r
146         DeleteRegKey HKLM "SOFTWARE\${SUBKEY}"\r
147 \r
148         ; Delete self\r
149         Delete "$INSTDIR\uninstall.exe"\r
150 \r
151         ; Delete Shortcuts\r
152         Delete "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk"\r
153         Delete "$SMPROGRAMS\${INSTALL}\Uninstall.lnk"\r
154 \r
155         ; Clean up application\r
156         Delete "$INSTDIR\bin\libform${MY_MODEL}${MY_ABI}.dll"\r
157         Delete "$INSTDIR\bin\libmenu${MY_MODEL}${MY_ABI}.dll"\r
158         Delete "$INSTDIR\bin\libncurses++${MY_MODEL}${MY_ABI}.dll"\r
159         Delete "$INSTDIR\bin\libncurses${MY_MODEL}${MY_ABI}.dll"\r
160         Delete "$INSTDIR\bin\libpanel${MY_MODEL}${MY_ABI}.dll"\r
161 \r
162         Delete "$INSTDIR\include\${APPNAME}${MY_MODEL}\*.h"\r
163 \r
164         Delete "$INSTDIR\lib\libform${MY_MODEL}.a"\r
165         Delete "$INSTDIR\lib\libmenu${MY_MODEL}.a"\r
166         Delete "$INSTDIR\lib\libncurses++${MY_MODEL}.a"\r
167         Delete "$INSTDIR\lib\libncurses${MY_MODEL}.a"\r
168         Delete "$INSTDIR\lib\libpanel${MY_MODEL}.a"\r
169 \r
170         Delete "$INSTDIR\lib\libform${MY_MODEL}.dll.a"\r
171         Delete "$INSTDIR\lib\libmenu${MY_MODEL}.dll.a"\r
172         Delete "$INSTDIR\lib\libncurses++${MY_MODEL}.dll.a"\r
173         Delete "$INSTDIR\lib\libncurses${MY_MODEL}.dll.a"\r
174         Delete "$INSTDIR\lib\libpanel${MY_MODEL}.dll.a"\r
175 \r
176         Delete "$INSTDIR\lib\${APPNAME}\*.exe"\r
177 \r
178         Delete "$INSTDIR\share\${APPNAME}\*.*"\r
179 \r
180         ; Remove remaining directories\r
181         RMDir "$SMPROGRAMS\${INSTALL}"\r
182         RMDir "$INSTDIR\share\${APPNAME}"\r
183         RMDir "$INSTDIR\share"\r
184         RMDir "$INSTDIR\lib\${APPNAME}"\r
185         RMDir "$INSTDIR\lib"\r
186         RMDir "$INSTDIR\include\${APPNAME}${MY_MODEL}"\r
187         RMDir "$INSTDIR\include"\r
188         RMDir "$INSTDIR\bin"\r
189         RMDir "$INSTDIR\"\r
190 \r
191 SectionEnd