b1ede26ac162b66ba75b95c6e218129bf4684136
[gpg4win.git] / src / inst-gnupg2.nsi
1 # inst-gnupg2.nsi - Installer snippet for gnupg2.     -*- coding: latin-1; -*-
2 # Copyright (C) 2007 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., 51 Franklin Street, Fifth Floor, Boston,
19 # MA 02110-1301, USA.
20
21
22 !ifdef prefix
23 !undef prefix
24 !endif
25 !define prefix ${ipdir}/gnupg2-${gpg4win_pkg_gnupg2_version}
26 !define source ${bpdir}/gnupg2-${gpg4win_pkg_gnupg2_version}
27
28
29 ${MementoSection} "GnuPG2" SEC_gnupg2
30   SectionIn RO
31
32   SetOutPath "$INSTDIR"
33 !ifdef SOURCES
34   File "${gpg4win_pkg_gnupg2}"
35 !else
36   File "${prefix}/bin/gpg2.exe"
37   File "${prefix}/bin/gpgsm.exe"
38
39   ClearErrors
40   SetOverwrite try
41   File "${prefix}/bin/gpg-agent.exe"
42   SetOverwrite lastused
43   ifErrors 0 +3
44       File /oname=gpg-agent.exe.tmp "${prefix}/bin/gpg-agent.exe"
45       Rename /REBOOTOK gpg-agent.exe.tmp gpg-agent.exe
46
47   File "${prefix}/bin/scdaemon.exe"
48   File "${prefix}/bin/gpgconf.exe"
49   File "${prefix}/bin/gpg-connect-agent.exe"
50
51
52   # As a special exception, these programs are not kept in
53   # libexec/gnupg, where they belong.  Please see the comment in
54   # gnupg/g10/keyserver.c::keyserver_spawn() for an explanation.
55   File "${prefix}/libexec/gpg2keys_finger.exe"
56   File "${prefix}/libexec/gpg2keys_hkp.exe"
57   File "${prefix}/libexec/gpg2keys_curl.exe"
58   File "${prefix}/libexec/gpg2keys_ldap.exe"
59   File /nonfatal "${prefix}/libexec/gpg2keys_knds.exe"
60   File "${prefix}/libexec/gpg-protect-tool.exe"
61   File "${prefix}/libexec/gpg-preset-passphrase.exe"
62
63   SetOutPath "$INSTDIR\pub"
64   File /oname=gpg2.exe      "${BUILD_DIR}/gpgwrap.exe"
65   File /oname=gpgsm.exe     "${BUILD_DIR}/gpgwrap.exe"
66   File /oname=gpg-connect-agent.exe  "${BUILD_DIR}/gpgwrap.exe"
67
68   SetOutPath "$INSTDIR\share\gnupg"
69   File "${prefix}/share/gnupg/qualified.txt"
70   # Due to problems with kleoptra we currently do not install the
71   # common certificates anymore.
72   #File "${prefix}/share/gnupg/com-certs.pem"
73   File "${prefix}/share/gnupg/gpg-conf.skel"
74
75   # Install the language files for gpg.  Note that the PO files are
76   # required to be UTF-8 encoded and that the post-install macro in
77   # Makefile.am needs to build them.  The language used is selected by
78   # using a Registry entry; see ints-gnupg.nsi.
79   File /nonfatal "${prefix}/share/gnupg/help.*.txt"
80   SetOutPath "$INSTDIR\gnupg2.nls"
81   File /nonfatal "${prefix}/share/gnupg/*.mo"
82
83
84   SetOutPath "$INSTDIR\etc\gnupg"
85   File /oname=gpgconf-conf.skel "${source}/doc/examples/gpgconf.conf"
86
87
88   # If requested, install the configuration files.
89   ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData
90   StrCmp $0 "" no_config_gpg_conf_files
91   CreateDirectory "$0\gnupg"
92
93   g4wihelp::config_fetch "gpg.conf"
94   StrCmp $R0 "" no_config_gpg2_conf
95     CopyFiles $R0 "$0\gnupg\gpg.conf"
96   no_config_gpg2_conf:
97
98   g4wihelp::config_fetch "gpg-agent.conf"
99   StrCmp $R0 "" no_config_gpg_agent_conf
100     CopyFiles $R0 "$0\gnupg\gpg-agent.conf"
101   no_config_gpg_agent_conf:
102
103   g4wihelp::config_fetch "scdaemon.conf"
104   StrCmp $R0 "" no_config_scdaemon_conf
105     CopyFiles $R0 "$0\gnupg\scdaemon.conf"
106   no_config_scdaemon_conf:
107
108   g4wihelp::config_fetch "trustlist.txt"
109   StrCmp $R0 "" no_config_trustlist_txt
110     CopyFiles $R0 "$0\gnupg\trustlist.txt"
111   no_config_trustlist_txt:
112
113   no_config_gpg_conf_files:
114
115 !endif
116 ${MementoSectionEnd}
117
118 LangString DESC_SEC_gnupg2 ${LANG_ENGLISH} \
119    "GNU Privacy Guard with S/MIME support"