More fixes for (portable) Vanilla installer
[gpg4win.git] / src / gpg4win.nsi
1 # gpg4win.nsi - Installer for GnuPG 4 Windows.        -*- coding: latin-1; -*-
2 # Copyright (C) 2005, 2007, 2008 g10 Code GmbH
3 #
4 # This file is part of GPG4Win.
5 #
6 # GPG4Win is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # GPG4Win is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19
20 !cd "${BUILD_DIR}"
21 !addincludedir "${TOP_SRCDIR}"
22 !addincludedir "${TOP_SRCDIR}/po"
23 !addincludedir "${SRCDIR}"
24 !addplugindir "${BUILD_DIR}"
25 !include "config.nsi"
26
27 # For the "light" version of the package, we explicitely disable some
28 # of the packages right after including config.nsi.
29 !ifdef GPG4WIN_LIGHT
30 !ifdef HAVE_PKG_COMPENDIUM
31 !undef HAVE_PKG_COMPENDIUM
32 !endif
33 !ifdef HAVE_PKG_KLEOPATRA
34 !undef HAVE_PKG_KLEOPATRA
35 !endif
36 !ifdef HAVE_PKG_OXYGEN_ICONS
37 !undef HAVE_PKG_OXYGEN_ICONS
38 !endif
39 !ifdef HAVE_PKG_QT
40 !undef HAVE_PKG_QT
41 !endif
42 !endif
43
44 # For the "vanilla" version of the package, we explicitely disable most
45 # of the packages right after including config.nsi.
46 !ifdef GPG4WIN_VANILLA
47 !ifdef HAVE_PKG_GPGOL
48 !undef HAVE_PKG_GPGOL
49 !endif
50 !ifdef HAVE_PKG_GPGEX
51 !undef HAVE_PKG_GPGEX
52 !endif
53 !ifdef HAVE_PKG_GPA
54 !undef HAVE_PKG_GPA
55 !endif
56 !ifdef HAVE_PKG_LIBGSASL
57 !undef HAVE_PKG_LIBGSASL
58 !endif
59 ;!ifdef HAVE_PKG_LIBTASN1
60 ;!undef HAVE_PKG_LIBTASN1
61 ;!endif
62 ;!ifdef HAVE_PKG_GNUTLS
63 ;!undef HAVE_PKG_GNUTLS
64 ;!endif
65 !ifdef HAVE_PKG_LIBXML2
66 !undef HAVE_PKG_LIBXML2
67 !endif
68 !ifdef HAVE_PKG_LIBETPAN
69 !undef HAVE_PKG_LIBETPAN
70 !endif
71 !ifdef HAVE_PKG_BSFILTER
72 !undef HAVE_PKG_BSFILTER
73 !endif
74 !ifdef HAVE_PKG_CRYPT
75 !undef HAVE_PKG_CRYPT
76 !endif
77 !ifdef HAVE_PKG_CLAWS_MAIL
78 !undef HAVE_PKG_CLAWS_MAIL
79 !endif
80 !ifdef HAVE_PKG_NOTIFICATION_PLUGIN
81 !undef HAVE_PKG_NOTIFICATION_PLUGIN
82 !endif
83 !ifdef HAVE_PKG_GTKHTML2_VIEWER
84 !undef HAVE_PKG_GTKHTML2_VIEWER
85 !endif
86 !ifdef HAVE_PKG_VCALENDAR
87 !undef HAVE_PKG_VCALENDAR
88 !endif
89 !ifdef HAVE_PKG_RSSYL
90 !undef HAVE_PKG_RSSYL
91 !endif
92 !ifdef HAVE_PKG_TNEF_PARSE
93 !undef HAVE_PKG_TNEF_PARSE
94 !endif
95 !ifdef HAVE_PKG_ATTACHWARNER
96 !undef HAVE_PKG_ATTACHWARNER
97 !endif
98 !ifdef HAVE_PKG_BSFILTER_PLUGIN
99 !undef HAVE_PKG_BSFILTER_PLUGIN
100 !endif
101 !ifdef HAVE_PKG_PTHREADS_W32
102 !undef HAVE_PKG_PTHREADS_W32
103 !endif
104 !ifdef HAVE_PKG_LIBPNG
105 !undef HAVE_PKG_LIBPNG
106 !endif
107 !ifdef HAVE_PKG_ENCHANT
108 !undef HAVE_PKG_ENCHANT
109 !endif
110 !ifdef HAVE_PKG_PKGCONFIG
111 !undef HAVE_PKG_PKGCONFIG
112 !endif
113 !ifdef HAVE_PKG_GLIB
114 !undef HAVE_PKG_GLIB
115 !endif
116 !ifdef HAVE_PKG_ATK
117 !undef HAVE_PKG_ATK
118 !endif
119 !ifdef HAVE_PKG_EXPAT
120 !undef HAVE_PKG_EXPAT
121 !endif
122 !ifdef HAVE_PKG_FREETYPE
123 !undef HAVE_PKG_FREETYPE
124 !endif
125 !ifdef HAVE_PKG_FONTCONFIG
126 !undef HAVE_PKG_FONTCONFIG
127 !endif
128 !ifdef HAVE_PKG_CAIRO
129 !undef HAVE_PKG_CAIRO
130 !endif
131 !ifdef HAVE_PKG_PANGO
132 !undef HAVE_PKG_PANGO
133 !endif
134 !ifdef HAVE_PKG_GTK_
135 !undef HAVE_PKG_GTK_
136 !endif
137 !ifdef HAVE_PKG_DBUS
138 !undef HAVE_PKG_DBUS
139 !endif
140 !ifdef HAVE_PKG_QT
141 !undef HAVE_PKG_QT
142 !endif
143 !ifdef HAVE_PKG_OXYGEN_ICONS
144 !undef HAVE_PKG_OXYGEN_ICONS
145 !endif
146 !ifdef HAVE_PKG_KLEOPATRA
147 !undef HAVE_PKG_KLEOPATRA
148 !endif
149 !ifdef HAVE_PKG_COMPENDIUM
150 !undef HAVE_PKG_COMPENDIUM
151 !endif
152 !endif
153
154
155 # The package name and version.  PRETTY_PACKAGE is a user visible name
156 # only while PACKAGE is useful for filenames etc.  PROD_VERSION is the
157 # product version and needs to be in the format "MAJ.MIN.MIC.BUILDNR".
158 # NOTE: Please keep the capitalization of PRETTY_PACKAGE_SHORT as it is
159 # used as registry key.
160 !define PACKAGE "${_PACKAGE}"
161 !define PRETTY_PACKAGE "Gpg4win"
162 !define PRETTY_PACKAGE_SHORT "GPG4Win"
163 !define VERSION "${_VERSION}"
164 !define PROD_VERSION "${_BUILD_FILEVERSION}"
165 !define COMPANY "g10 Code GmbH"
166 !define COPYRIGHT "Copyright (C) 2008 g10 Code GmbH"
167 !define DESCRIPTION "Gpg4win: The GNU Privacy Guard and Tools for Windows"
168
169 !define INSTALL_DIR "GnuPG"
170
171 !define WELCOME_TITLE_STR "$(T_WelcomeTitleGpg4win)"
172
173 !define ABOUT_STR "$(T_AboutGpg4win) \
174         \r\n\r\n$_CLICK \r\n\r\n\r\n\r\n\r\n \
175         $(T_AboutGpg4winVersion) \r\n \
176         $(T_AboutGpg4winFileVersion) \r\n\r\n \
177         $(T_AboutGpg4winReleaseDate)"
178
179 # The copyright license of the package.  Define only one of these.
180 !define LICENSE_GPL
181 # !define LICENSE_LGPL
182
183
184 # Define this if we require an NSIS running on Windows.  This is
185 # necessary if you want to handle DLLs properly.
186 # !define REQUIRE_W32_NSIS
187
188
189 # Define if in debug mode.
190 !ifdef GPG4WIN_DEBUG
191 !define DEBUG
192 !endif
193
194 # Most of the included software has implicit requirements for at least
195 # NT4 if not even higher.  To be sure require at least Windows XP.
196 # Fixme: Enable if we have makensis 2.50
197 #TargetMinimalOS 5.1
198
199 # Admin privileges are required for installation
200 RequestExecutionLevel admin
201
202 # The installation directory.
203 !define ipdir "playground/install/pkgs"
204 !define exipdir "playground/install-ex/pkgs"
205 !define bpdir "playground/build"
206
207 # Select the best compression algorithm available.  The dictionary
208 # size is the default (8 MB).
209 !ifndef DISABLE_LZMA
210 !ifndef SOURCES
211 SetCompressor /SOLID lzma
212 # SetCompressorDictSize 8
213 !endif
214 !endif
215
216 # Now include the generic parts.
217 !define HAVE_STARTMENU
218 !include "installer.nsi"
219
220
221 # Now include the sections.
222 !define BINARIES
223 !include "inst-sections.nsi"
224
225
226 # The WelcomeTitle is displayed on the first page.
227 LangString T_WelcomeTitleGpg4win ${LANG_ENGLISH} \
228   "Welcome to the installation of Gpg4win"
229
230 # The About string as displayed on the first page.
231 LangString T_AboutGpg4win ${LANG_ENGLISH} \
232  "Gpg4win is a installer package for Windows for EMail and \
233   file encryption using the core component GnuPG for Windows. \
234   Both relevant cryptography standards are supported, OpenPGP \
235   and S/MIME. Gpg4win and the software included with Gpg4win \
236   are Free Software."
237
238 LangString T_AboutGpg4winVersion ${LANG_ENGLISH} \
239  "This is Gpg4win version ${VERSION}"
240
241 LangString T_AboutGpg4winFileVersion ${LANG_ENGLISH} \
242  "file version ${PROD_VERSION}"
243
244 LangString T_AboutGpg4winReleaseDate ${LANG_ENGLISH} \
245  "release date ${_BUILD_ISODATE}"
246
247 # At long last, include all the translations.
248 !include "../po/catalogs.nsi"
249
250 # Now include the generic parts to end the installation.
251 !include "installer-finish.nsi"