Updated GnuPG.
[gpg4win.git] / src / inst-gnupg.nsi
1 # inst-gnupg.nsi - Installer snippet for gnupg.     -*- coding: latin-1; -*-
2 # Copyright (C) 2005 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
21 !ifdef prefix
22 !undef prefix
23 !endif
24 !define prefix ${ipdir}/gnupg-${gpg4win_pkg_gnupg_version}
25
26
27 ${MementoSection} "GnuPG" SEC_gnupg
28   SectionIn RO
29
30   SetOutPath "$INSTDIR"
31 !ifdef SOURCES
32   File "${gpg4win_pkg_gnupg}"
33 !else
34   File "${prefix}/bin/gpg.exe"
35   File "${prefix}/bin/gpgsplit.exe"
36   File "${prefix}/bin/gpgv.exe"
37
38   # As a special exception, these programs are not kept in
39   # libexec/gnupg, where they belong.  Please see the comment in
40   # gnupg/g10/keyserver.c::keyserver_spawn() for an explanation.
41   File "${prefix}/libexec/gnupg/gpgkeys_finger.exe"
42   File "${prefix}/libexec/gnupg/gpgkeys_hkp.exe"
43   File "${prefix}/libexec/gnupg/gpgkeys_curl.exe"
44   File "${prefix}/libexec/gnupg/gpgkeys_ldap.exe"
45
46   SetOutPath "$INSTDIR\pub"
47   File /oname=gpg.exe      "${BUILD_DIR}/gpgwrap.exe"
48   File /oname=gpgv.exe     "${BUILD_DIR}/gpgwrap.exe"
49   File /oname=gpgsplit.exe "${BUILD_DIR}/gpgwrap.exe"
50
51   SetOutPath "$INSTDIR\share\gnupg"
52   File "${prefix}/share/gnupg/options.skel"
53   File "${prefix}/share/gnupg/FAQ"
54   File "${prefix}/share/gnupg/faq.html"
55   File "${prefix}/share/man/man1/gpg.man"
56   File "${prefix}/share/man/man1/gpgv.man"
57   File "${prefix}/share/man/man7/gnupg.man"
58
59   # Install the language files for gpg.  Note that the PO files are
60   # required to be UTF-8 encoded and that the post-install macro in
61   # Makefile.am needs to build them.
62
63   # Note that we do not install the mo files for gpg1 anymore.  This
64   # is because the build systems can't cope with it (stow conflicts)
65   # and becuase translations for the server version are usually not
66   # required.  Instead we install the gnupg2 mo files.
67   #SetOutPath "$INSTDIR\gnupg.nls"
68
69
70   # If requested, install the configured gpg.conf.
71   Var /GLOBAL ConfigGPGConf
72   g4wihelp::config_fetch "gpg.conf"
73   StrCpy $ConfigGPGConf $R0
74   StrCmp $ConfigGPGConf "" no_config_gpg_conf
75     ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData
76     StrCmp $0 "" no_config_gpg_conf
77     CreateDirectory "$0\gnupg"
78     CopyFiles $ConfigGPGConf "$0\gnupg\gpg.conf"
79   no_config_gpg_conf:
80
81
82   WriteRegStr HKLM "Software\GNU\GnuPG" "Install Directory" $INSTDIR
83
84   # We used to determine the language using a Registry entry.
85   # Although we don't want to delete the user's Lang Resgistry Setting
86   # becuase he might have have selected a different language than his
87   # default.  We delete the gloabl Lang of the installation.
88   DeleteRegValue HKLM "Software\GNU\GnuPG" "Lang" 
89
90   # This old key is required for GPGee.  Please do not use in new
91   # applications.
92   # Note: We don't use it anymore so that gpgme decides what gpg to use
93   #       For the new gpg4win we actually use gpg2.exe.
94   #       To cope with old installations we actually remove this value.
95   #       However we can only remove the HKLM version not those set by
96   #       the user under HKCU.
97   #WriteRegStr HKLM "Software\GNU\GnuPG" "gpgProgram" "$INSTDIR\gpg.exe"
98   DeleteRegValue HKLM "Software\GNU\GnuPG" "gpgProgram"
99
100   # Add the public directory to the PATH
101   Push "$INSTDIR\pub"
102   Call AddToPath
103
104 !endif
105 ${MementoSectionEnd}
106
107
108 LangString DESC_SEC_gnupg ${LANG_ENGLISH} \
109    "GNU Privacy Guard"
110