Entirely removed GnuPG-1 and GPGex.
[gpg4win.git] / src / inst-gnupg2.nsi
1 # inst-gnupg2.nsi - Installer snippet for gnupg2.     -*- coding: latin-1; -*-
2 # Copyright (C) 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., 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/gpgv2.exe"
38   File "${prefix}/bin/gpgsm.exe"
39
40   # Fixme: gpgsplit is missing.  I doubt that it makes sense to rename
41   # it like we did with gpg.  It might be better to install this tool
42   # into a subdirectory.
43
44   ClearErrors
45   SetOverwrite try
46   File "${prefix}/bin/gpg-agent.exe"
47   SetOverwrite lastused
48   ifErrors 0 +3
49       File /oname=gpg-agent.exe.tmp "${prefix}/bin/gpg-agent.exe"
50       Rename /REBOOTOK gpg-agent.exe.tmp gpg-agent.exe
51
52   File "${prefix}/bin/scdaemon.exe"
53   File "${prefix}/bin/gpgconf.exe"
54   File "${prefix}/bin/gpg-connect-agent.exe"
55
56
57   # As a special exception, these programs are not kept in
58   # libexec/gnupg, where they belong.  Please see the comment in
59   # gnupg/g10/keyserver.c::keyserver_spawn() for an explanation.
60   File "${prefix}/libexec/gpg2keys_finger.exe"
61   File "${prefix}/libexec/gpg2keys_hkp.exe"
62   File "${prefix}/libexec/gpg2keys_curl.exe"
63   File "${prefix}/libexec/gpg2keys_ldap.exe"
64   File /nonfatal "${prefix}/libexec/gpg2keys_kdns.exe"
65   File "${prefix}/libexec/gpg-protect-tool.exe"
66   File "${prefix}/libexec/gpg-preset-passphrase.exe"
67
68   # Install the wrappers into the PATH included directory.  These are
69   # our poor hacker's symlinks.  We always install wrappers
70   # gpg[v]->gpg[v]2.  If old applications are not able to to work with
71   # gpg2, they may still install a gpg1 version and use the installed
72   # version directly without the wrapper.
73   SetOutPath "$INSTDIR\pub"
74   File /oname=gpg.exe       "${BUILD_DIR}/gpgwrap-2.exe"
75   File /oname=gpgv.exe      "${BUILD_DIR}/gpgwrap-2.exe"
76   File /oname=gpg2.exe      "${BUILD_DIR}/gpgwrap.exe"
77   File /oname=gpgsm.exe     "${BUILD_DIR}/gpgwrap.exe"
78   File /oname=gpg-connect-agent.exe  "${BUILD_DIR}/gpgwrap.exe"
79   # fixme: gpgsplit is missing; see above
80
81   SetOutPath "$INSTDIR\share\gnupg"
82   File "${prefix}/share/gnupg/qualified.txt"
83   # Due to problems with kleoptra we currently do not install the
84   # common certificates anymore.
85   #File "${prefix}/share/gnupg/com-certs.pem"
86   File "${prefix}/share/gnupg/gpg-conf.skel"
87   # [fixme: Missing in gnupg2] File "${prefix}/share/gnupg/options.skel"
88   # [fixme: Missing in gnupg2] File "${prefix}/share/gnupg/FAQ"
89   # [fixme: Missing in gnupg2] File "${prefix}/share/gnupg/faq.html"
90   File "${prefix}/share/man/man1/gpg2.man"
91   File "${prefix}/share/man/man1/gpgv2.man"
92   File "${prefix}/share/man/man1/gpgsm.man"
93   File "${prefix}/share/man/man1/gpg-agent.man"
94   File "${prefix}/share/man/man1/scdaemon.man"
95   File "${prefix}/share/man/man1/gpg-connect-agent.man"
96   File "${prefix}/share/man/man1/gpgconf.man"
97
98   # Install the language files for gpg.  Note that the PO files are
99   # required to be UTF-8 encoded and that the post-install macro in
100   # Makefile.am needs to build them.  The language used is selected by
101   # using a Registry entry; see inst-gnupg.nsi.
102   File /nonfatal "${prefix}/share/gnupg/help.*.txt"
103   SetOutPath "$INSTDIR\gnupg2.nls"
104   File /nonfatal "${prefix}/share/gnupg/*.mo"
105
106
107   SetOutPath "$INSTDIR\etc\gnupg"
108   File /oname=gpgconf-conf.skel "${source}/doc/examples/gpgconf.conf"
109
110
111   # If requested, install the configuration files.
112   ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData
113   StrCmp $0 "" no_config_gpg_conf_files
114   CreateDirectory "$0\gnupg"
115
116   g4wihelp::config_fetch "gpg.conf"
117   StrCmp $R0 "" no_config_gpg2_conf
118     CopyFiles $R0 "$0\gnupg\gpg.conf"
119   no_config_gpg2_conf:
120
121   g4wihelp::config_fetch "gpg-agent.conf"
122   StrCmp $R0 "" no_config_gpg_agent_conf
123     CopyFiles $R0 "$0\gnupg\gpg-agent.conf"
124   no_config_gpg_agent_conf:
125
126   g4wihelp::config_fetch "scdaemon.conf"
127   StrCmp $R0 "" no_config_scdaemon_conf
128     CopyFiles $R0 "$0\gnupg\scdaemon.conf"
129   no_config_scdaemon_conf:
130
131   g4wihelp::config_fetch "trustlist.txt"
132   StrCmp $R0 "" no_config_trustlist_txt
133     CopyFiles $R0 "$0\gnupg\trustlist.txt"
134   no_config_trustlist_txt:
135
136   no_config_gpg_conf_files:
137
138 !endif
139 ${MementoSectionEnd}
140
141 LangString DESC_SEC_gnupg2 ${LANG_ENGLISH} \
142    "GNU Privacy Guard"