Switch branches/tags
Clone or download
Latest commit 724bf40 Oct 17, 2018
Failed to load latest commit information.
build-aux Add a fallback version for gitlog-to-changelog. Apr 2, 2012
doc Update GPA to 0.10.0 Oct 17, 2018
m4 Use AC_PROG_MKDIR_P instead of AM_PROG_MKDIR_P Jun 19, 2018
packages Fix kde-l10n checksum Oct 17, 2018
patches Update GPA to 0.10.0 Oct 17, 2018
po Update Dutch translations Sep 19, 2018
src Asturian l10n was removed for kleopatra Oct 17, 2018
.gitignore Add tool to create a portable version. Aug 8, 2013
AUTHORS Update AUTHORS, NEWS and README. May 13, 2013
COPYING 2005-10-24 Marcus Brinkmann <marcus@g10code.de> Oct 24, 2005
ChangeLog Fix c+p errors in the docs Dec 5, 2012
INSTALL Add autogen.sh and support files Nov 2, 2005
Makefile.am Update GPA to 0.10.0 Oct 17, 2018
NEWS Post release version bump Oct 17, 2018
ONEWS Udpate manual. Aug 7, 2009
README Fix mingw package name in README for stretch May 3, 2018
THANKS Update libksba Sep 22, 2008
TODO 2007-09-07 Marcus Brinkmann <marcus@g10code.de> Sep 7, 2007
autogen.sh Change --build-w32 to old --build-w32-w64 Nov 13, 2015
compile Add custom plugin DLL Nov 14, 2005
config.guess Add autogen.sh and support files Nov 2, 2005
config.sub Add autogen.sh and support files Nov 2, 2005
configure.ac Post release version bump Oct 17, 2018
depcomp Add custom plugin DLL Nov 14, 2005
install-sh Add autogen.sh and support files Nov 2, 2005
missing Add autogen.sh and support files Nov 2, 2005
mkinstalldirs Add autogen.sh and support files Nov 2, 2005


This is gpg4win - the GUI Installer Builder for W32.

See also the file doc/README.en.txt.

For MSI Package instructions see src/README-msi.txt.


1. Download the source and binary packages that are required to build
   the installer:

   $ cd packages
   $ sh download.sh
   $ cd ..

1.5 (Only necessary when building from Git)

   $ ./autogen.sh

2. Configure the source tree for cross compilation:

   $ ./autogen.sh --build-w32

3. Build the installer:

   $ make

The installer will be made available in two files:


Basic requirements

A decent POSIX system is required for building this software as well
as GNU make.  We are using Debian GNU/Linux 9 (stretch), any other
POSIX system should work as well but you may run into problems due to
different toolchain versions. For MSI Packages you will additionally
need the dependencies mentioned in src/README-msi.txt

To satisfy all needs of configure at least the following packages need
to be installed:

    build-essential autoconf automake mingw-w64 mingw-w64-i686-dev \
    mingw-w64-x86-64-dev nsis stow unzip imagemagick texlive \
    latex-xcolor libglib2.0-dev gettext docbook-utils ghostscript \
    texinfo libgdk-pixbuf2.0-dev texlive-latex-extra libqt4-dev-bin \
    wget mingw-w64 texlive-lang-german cmake libgtk2.0-bin libxml2-utils \
    gperf libgettextpo-dev

Building the Webpages

The website is in the dedicated branch "website" in the git reposity.
Checkout that branch and read the instructions:

  git checkout website

Development Branches

The old version of gpg4win (version < 1.2) is since 1.1.3 tracked by
the GIT branch: gpg4win-1-branch.  Only important fixes will go into
this version.  The current version in the GIT master starts as version

Adding new packages to the installer:

This requires editing a couple of files; we might eventually automate
some of these tasks.  Here is a short run up:

1. Add constants for the package FOO into src/config.nsi.in .

2. Create 2 new installer scripts, named src/inst-foo.nsi and
   uninst-foo.nsi and add them to EXTRA_DIST in src/Makefile.am.

3. Add foo to one the variables gpg4win_bpgks (if foo should not be
   build be the gpg4win) or gpg4win_spkgs (if foo should be build by
   gpg4win) in src/Makefile.am .  Also add any required configure
   flags etc.

4. Add FOO to src/inst-sections.nsi.

5. Add detection of packages to configure.ac.  Check out the available
   macros in m4/gpg4win.m4.  Depending on the way an upstream package
   is packaged, you might need to write a new macro.

6. Add download information to packages/download.sh.

7. If the package ships pkg-config (*.pc) support files, you need add
   post install instructions to Makefile.am.  Note that *.pc files may
   be in the "runtime" directory ${pkgidir} if the package is built
   within gpg4win (or peculiarly shipped), or in the development
   package ${pkgidir_dev}.

8. Add the installed files to the mkportable headers.

Then run the usual "./autogen.sh" to create the actual configure file
and run configure as described above.

Kleopatra Locatization

The kde-l10n package is generated with the script src/kde-l10n.sh
execute it after a build to generate an updated l10n package which
you can then upload and add to packages.current.
The tarballs and the nsis scripts are located in the temp directory
kde-l10n prints as output.

Installer Slideshow

During installation we are showing a slide show. If you want to
change the contents shown add / modify files in the src/slideshow
subfolder. Install them in inst-gpg4win.nsi (Add them to the list
of files before g4wihelp::slide_show) and modify
src/slideshow/slides.dat accordingly.

Version numbers

We use a specific order of version numbers.  This is best shown by an

  2.1.1             - The final 2.1.1 release.
  2.1.1-beta88      - A snapshot before the 2.1.1 release.
                      (The 88 in this example is the number of
                       commits since the last release).

The important point is that we bump up the version number before we do
an release and append a suffix to mark it as a development version.
This allows other software to use a configure check for the next to be
released version of gpg4win.


The entire Gpg4win package is

  Copyright (C) 2005, 2006, 2007, 2008, 2009, 2012, 2013 g10 Code GmbH

  GPG4Win is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  GPG4Win is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  02110-1301, USA

This file

Copyright 2005, 2006, 2008 g10 Code GmbH

This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.

This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the