2005-10-20 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 20 Oct 2005 01:18:29 +0000 (01:18 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 20 Oct 2005 01:18:29 +0000 (01:18 +0000)
* configure.ac: Check for makensis.  Add gnupg as dependency for
gpgme.  Change config.sh into config.nsi.
* include/config.sh.in: File removed.
* src/gpg4win.sh: File removed.
* include/config.nsi.in: New file.
* include/Makefile.am (EXTRA_DIST): Change config.sh.in into
config.nsi.in.
* src/Makefile.am (gpg4win-$(VERSION).exe): New target.
(gpg4win-src-$(VERSION).exe): New target.
(all-local): Remove dependency on phony target all-gpg4win.
(all-local): Add dependency on gpg4win-$(VERSION).exe and
gpg4win-src-$(VERSION).exe.
(clean-local): New rule for this target.
* src/gpg4win.nsi, src/gpg4win-src.nsi, src/inst-atk.nsi,
src/inst-gettext.nsi, src/inst-glib.nsi, src/inst-gnupg.nsi,
src/inst-gpa.nsi, src/inst-gpgme.nsi, src/inst-gpgol.nsi,
src/inst-gtk+.nsi, src/inst-libgpg-error.nsi,
src/inst-libiconv.nsi, src/inst-libpng.nsi, src/inst-pango.nsi,
src/inst-pkgconfig.nsi, src/inst-sections.nsi, src/inst-zlib.nsi,
src/installer-finish.nsi, src/installer.nsi: New file.

30 files changed:
AUTHORS
ChangeLog
TODO [new file with mode: 0644]
configure.ac
include/Makefile.am
include/config.nsi.in [new file with mode: 0644]
include/config.sh.in [deleted file]
src/Makefile.am
src/gpg4win-src.nsi [new file with mode: 0644]
src/gpg4win.mk.in
src/gpg4win.nsi [new file with mode: 0644]
src/gpg4win.sh [deleted file]
src/inst-atk.nsi [new file with mode: 0644]
src/inst-gettext.nsi [new file with mode: 0644]
src/inst-glib.nsi [new file with mode: 0644]
src/inst-gnupg.nsi [new file with mode: 0644]
src/inst-gpa.nsi [new file with mode: 0644]
src/inst-gpgme.nsi [new file with mode: 0644]
src/inst-gpgol.nsi [new file with mode: 0644]
src/inst-gtk+.nsi [new file with mode: 0644]
src/inst-libgpg-error.nsi [new file with mode: 0644]
src/inst-libiconv.nsi [new file with mode: 0644]
src/inst-libpng.nsi [new file with mode: 0644]
src/inst-pango.nsi [new file with mode: 0644]
src/inst-pkgconfig.nsi [new file with mode: 0644]
src/inst-sections.nsi [new file with mode: 0644]
src/inst-zlib.nsi [new file with mode: 0644]
src/installer-finish.nsi [new file with mode: 0644]
src/installer.nsi [new file with mode: 0644]
src/pkg-config

diff --git a/AUTHORS b/AUTHORS
index e69de29..26c9048 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -0,0 +1,19 @@
+Package: gpg4win
+Maintainer: Marcus Brinkmann <marcus@g10code.com>
+Bug reports: gpg4win-devel@wald.intevation.de
+Security related bug reports: security@gnupg.org
+
+
+g10 Code GmbH <code@g10code.com>
+ - Design and implementation.
+
+
+ Copyright 2005 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
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
index f85fcff..9f1d1b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2005-10-20  Marcus Brinkmann  <marcus@g10code.de>
+
+       * configure.ac: Check for makensis.  Add gnupg as dependency for
+       gpgme.  Change config.sh into config.nsi.
+       * include/config.sh.in: File removed.
+       * src/gpg4win.sh: File removed.
+       * include/config.nsi.in: New file.
+       * include/Makefile.am (EXTRA_DIST): Change config.sh.in into
+       config.nsi.in.
+       * src/Makefile.am (gpg4win-$(VERSION).exe): New target.
+       (gpg4win-src-$(VERSION).exe): New target.
+       (all-local): Remove dependency on phony target all-gpg4win.
+       (all-local): Add dependency on gpg4win-$(VERSION).exe and
+       gpg4win-src-$(VERSION).exe.
+       (clean-local): New rule for this target.
+       * src/gpg4win.nsi, src/gpg4win-src.nsi, src/inst-atk.nsi,
+       src/inst-gettext.nsi, src/inst-glib.nsi, src/inst-gnupg.nsi,
+       src/inst-gpa.nsi, src/inst-gpgme.nsi, src/inst-gpgol.nsi,
+       src/inst-gtk+.nsi, src/inst-libgpg-error.nsi,
+       src/inst-libiconv.nsi, src/inst-libpng.nsi, src/inst-pango.nsi,
+       src/inst-pkgconfig.nsi, src/inst-sections.nsi, src/inst-zlib.nsi,
+       src/installer-finish.nsi, src/installer.nsi: New file.
+
 2005-10-18  Marcus Brinkmann  <marcus@g10code.de>
 
        configure.ac: Enable libiconv and gettext dependencies for Gtk+.
 
        * packages/download.sh: Fix downloading of Gtk source packages.
 
+
+ Copyright 2005 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
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..f8dc08d
--- /dev/null
+++ b/TODO
@@ -0,0 +1,27 @@
+* Add copyright statements to all files !!!
+
+* Integrate patches into CVS !!!
+
+* Record the dependencies in the build list in the gpg4win.mk.in
+   Makefile using make dependencies between the stamp-final-$(1)
+   targets.  This would hopefully ensure that parallel makes work. !
+
+* Invent something clever to cope with new versions of packages, which
+   may have a different file list.  We can't use globs because Delete
+   must still work.  Either have inst-PACKAGE-VERSION.nsi files, or
+   have globs plus some scripting to generate the .nis files. !
+
+* Check out which locale files to install and where. !!!
+
+* Check which iconv to use !!
+
+* Strip the binaries (simple find running over the whole pkgs tree). !!
+
+* Make make dist work. !!
+
+* Finish modularization of installer.  NSIS' macro language is not up
+   to the task, so we need a bit of configure/make magic as well (a la
+   autoheader). !!!
+
+* Allow to enable debug mode from configure line. !
+
index 1acdf70..275900f 100644 (file)
@@ -26,7 +26,7 @@ AC_INIT([gpg4win],[0.0.0-cvs],[gpg4win-devel@wald.intevation.org])
 PACKAGE=$PACKAGE_NAME
 VERSION=$PACKAGE_VERSION
 
-AC_CONFIG_SRCDIR(include/config.sh.in)
+AC_CONFIG_SRCDIR(include/config.nsi.in)
 AC_CONFIG_MACRO_DIR(m4)
 
 AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
@@ -46,6 +46,7 @@ AC_CHECK_PROGS(MKDIR, mkdir)
 AC_CHECK_PROGS(CP, cp)
 AC_CHECK_PROGS(RM, rm)
 AC_CHECK_PROGS(STOW, stow)
+AC_CHECK_PROGS(MAKENSIS, makensis)
 AC_PROG_INSTALL
 
 
@@ -69,7 +70,7 @@ GPG4WIN_BPKG_GTK_DEV([atk], [glib pkgconfig])
 GPG4WIN_BPKG_GTK_DEV([pango], [glib pkgconfig])
 
 GPG4WIN_SPKG([libgpg-error])
-GPG4WIN_SPKG([gpgme], [libgpg-error])
+GPG4WIN_SPKG([gpgme], [libgpg-error gnupg])
 GPG4WIN_SPKG([gnupg])
 GPG4WIN_SPKG([gpgol], [gpgme])
 GPG4WIN_SPKG([gpa], [zlib gtk+ libpng glib gpgme])
@@ -80,5 +81,5 @@ GPG4WIN_FINALIZE
 # Finalize.
 
 AC_CONFIG_FILES(Makefile packages/Makefile include/Makefile src/Makefile)
-AC_CONFIG_FILES(include/config.sh src/gpg4win.mk)
+AC_CONFIG_FILES(include/config.nsi src/gpg4win.mk)
 AC_OUTPUT
index 6f3b877..f9c440e 100644 (file)
@@ -1 +1 @@
-EXTRA_DIST = config.sh.in
+EXTRA_DIST = config.nsh.in
diff --git a/include/config.nsi.in b/include/config.nsi.in
new file mode 100644 (file)
index 0000000..fa96bc3
--- /dev/null
@@ -0,0 +1,103 @@
+# config.nsi - Configuration settings for gpg4win.nsi.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!define _PACKAGE @PACKAGE@
+!define _VERSION @VERSION@
+
+!define top_srcdir @top_srcdir@
+!define build @build_cpu@-@build_os@
+!define host @host_cpu@-@host_os@
+!define MAKE @MAKE@
+!define UNZIP @UNZIP@
+!define TAR @TAR@
+!define MKDIR @MKDIR@
+!define CP @CP@
+!define RM @RM@
+!define STOW @STOW@
+!define INSTALL "@INSTALL@"
+!define WGET @WGET@
+
+
+# The package build list, in order.
+!define gpg4win_build_list "@gpg4win_build_list@"
+
+
+# The default packages source directory.
+!define gpg4win_packages @gpg4win_packages@
+
+
+# The path of each package.
+
+!define gpg4win_pkg_libgpg_error @gpg4win_pkg_libgpg_error@
+!define gpg4win_pkg_libgpg_error_version @gpg4win_pkg_libgpg_error_version@
+
+!define gpg4win_pkg_gpgme @gpg4win_pkg_gpgme@
+!define gpg4win_pkg_gpgme_version @gpg4win_pkg_gpgme_version@
+
+!define gpg4win_pkg_gnupg @gpg4win_pkg_gnupg@
+!define gpg4win_pkg_gnupg_version @gpg4win_pkg_gnupg_version@
+
+!define gpg4win_pkg_gpgol @gpg4win_pkg_gpgol@
+!define gpg4win_pkg_gpgol_version @gpg4win_pkg_gpgol_version@
+
+!define gpg4win_pkg_gpa @gpg4win_pkg_gpa@
+!define gpg4win_pkg_gpa_version @gpg4win_pkg_gpa_version@
+
+!define gpg4win_pkg_zlib @gpg4win_pkg_zlib@
+!define gpg4win_pkg_zlib_version @gpg4win_pkg_zlib_version@
+!define gpg4win_pkg_zlib_dev @gpg4win_pkg_zlib_dev@
+!define gpg4win_pkg_zlib_src @gpg4win_pkg_zlib_src@
+
+!define gpg4win_pkg_libpng @gpg4win_pkg_libpng@
+!define gpg4win_pkg_libpng_version @gpg4win_pkg_libpng_version@
+!define gpg4win_pkg_libpng_dev @gpg4win_pkg_libpng_dev@
+!define gpg4win_pkg_libpng_src @gpg4win_pkg_libpng_src@
+
+!define gpg4win_pkg_pkgconfig @gpg4win_pkg_pkgconfig@
+!define gpg4win_pkg_pkgconfig_version @gpg4win_pkg_pkgconfig_version@
+!define gpg4win_pkg_pkgconfig_src @gpg4win_pkg_pkgconfig_src@
+
+!define gpg4win_pkg_glib @gpg4win_pkg_glib@
+!define gpg4win_pkg_glib_version @gpg4win_pkg_glib_version@
+!define gpg4win_pkg_glib_dev @gpg4win_pkg_glib_dev@
+!define gpg4win_pkg_glib_src @gpg4win_pkg_glib_src@
+
+!define gpg4win_pkg_atk @gpg4win_pkg_atk@
+!define gpg4win_pkg_atk_version @gpg4win_pkg_atk_version@
+!define gpg4win_pkg_atk_dev @gpg4win_pkg_atk_dev@
+!define gpg4win_pkg_atk_src @gpg4win_pkg_atk_src@
+
+!define gpg4win_pkg_pango @gpg4win_pkg_pango@
+!define gpg4win_pkg_pango_version @gpg4win_pkg_pango_version@
+!define gpg4win_pkg_pango_dev @gpg4win_pkg_pango_dev@
+!define gpg4win_pkg_pango_src @gpg4win_pkg_pango_src@
+
+!define gpg4win_pkg_gtk_ @gpg4win_pkg_gtk_@
+!define gpg4win_pkg_gtk__version @gpg4win_pkg_gtk__version@
+!define gpg4win_pkg_gtk__dev @gpg4win_pkg_gtk__dev@
+!define gpg4win_pkg_gtk__src @gpg4win_pkg_gtk__src@
+
+!define gpg4win_pkg_libiconv @gpg4win_pkg_libiconv@
+!define gpg4win_pkg_libiconv_version @gpg4win_pkg_libiconv_version@
+!define gpg4win_pkg_libiconv_src @gpg4win_pkg_libiconv_src@
+
+!define gpg4win_pkg_gettext @gpg4win_pkg_gettext@
+!define gpg4win_pkg_gettext_version @gpg4win_pkg_gettext_version@
+!define gpg4win_pkg_gettext_src @gpg4win_pkg_gettext_src@
diff --git a/include/config.sh.in b/include/config.sh.in
deleted file mode 100755 (executable)
index 430e391..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#! /bin/sh -e
-
-# System configuration
-
-top_srcdir=@top_srcdir@
-build=@build_cpu@-@build_os@
-host=@host_cpu@-@host_os@
-MAKE=@MAKE@
-UNZIP=@UNZIP@
-TAR=@TAR@
-MKDIR=@MKDIR@
-CP=@CP@
-RM=@RM@
-STOW=@STOW@
-INSTALL="@INSTALL@"
-WGET=@WGET@
-
-
-# The package build list, in order.
-gpg4win_build_list="@gpg4win_build_list@"
-
-
-# The default packages source directory.
-gpg4win_packages=@gpg4win_packages@
-
-
-# The path of each package.
-
-gpg4win_pkg_libgpg_error=@gpg4win_pkg_libgpg_error@
-gpg4win_pkg_libgpg_error_version=@gpg4win_pkg_libgpg_error_version@
-
-gpg4win_pkg_gpgme=@gpg4win_pkg_gpgme@
-gpg4win_pkg_gpgme_version=@gpg4win_pkg_gpgme_version@
-
-gpg4win_pkg_gnupg=@gpg4win_pkg_gnupg@
-gpg4win_pkg_gnupg_version=@gpg4win_pkg_gnupg_version@
-
-gpg4win_pkg_gpgol=@gpg4win_pkg_gpgol@
-gpg4win_pkg_gpgol_version=@gpg4win_pkg_gpgol_version@
-
-gpg4win_pkg_gpa=@gpg4win_pkg_gpa@
-gpg4win_pkg_gpa_version=@gpg4win_pkg_gpa_version@
-
-gpg4win_pkg_zlib=@gpg4win_pkg_zlib@
-gpg4win_pkg_zlib_version=@gpg4win_pkg_zlib_version@
-gpg4win_pkg_zlib_dev=@gpg4win_pkg_zlib_dev@
-gpg4win_pkg_zlib_src=@gpg4win_pkg_zlib_src@
-
-gpg4win_pkg_libpng=@gpg4win_pkg_libpng@
-gpg4win_pkg_libpng_version=@gpg4win_pkg_libpng_version@
-gpg4win_pkg_libpng_dev=@gpg4win_pkg_libpng_dev@
-gpg4win_pkg_libpng_src=@gpg4win_pkg_libpng_src@
-
-gpg4win_pkg_pkgconfig=@gpg4win_pkg_pkgconfig@
-gpg4win_pkg_pkgconfig_version=@gpg4win_pkg_pkgconfig_version@
-gpg4win_pkg_pkgconfig_src=@gpg4win_pkg_pkgconfig_src@
-
-gpg4win_pkg_glib=@gpg4win_pkg_glib@
-gpg4win_pkg_glib_version=@gpg4win_pkg_glib_version@
-gpg4win_pkg_glib_dev=@gpg4win_pkg_glib_dev@
-gpg4win_pkg_glib_src=@gpg4win_pkg_glib_src@
-
-gpg4win_pkg_atk=@gpg4win_pkg_atk@
-gpg4win_pkg_atk_version=@gpg4win_pkg_atk_version@
-gpg4win_pkg_atk_dev=@gpg4win_pkg_atk_dev@
-gpg4win_pkg_atk_src=@gpg4win_pkg_atk_src@
-
-gpg4win_pkg_pango=@gpg4win_pkg_pango@
-gpg4win_pkg_pango_version=@gpg4win_pkg_pango_version@
-gpg4win_pkg_pango_dev=@gpg4win_pkg_pango_dev@
-gpg4win_pkg_pango_src=@gpg4win_pkg_pango_src@
-
-gpg4win_pkg_gtk_=@gpg4win_pkg_gtk_@
-gpg4win_pkg_gtk__version=@gpg4win_pkg_gtk__version@
-gpg4win_pkg_gtk__dev=@gpg4win_pkg_gtk__dev@
-gpg4win_pkg_gtk__src=@gpg4win_pkg_gtk__src@
-
-gpg4win_pkg_libiconv=@gpg4win_pkg_libiconv@
-gpg4win_pkg_libiconv_version=@gpg4win_pkg_libiconv_version@
-gpg4win_pkg_libiconv_src=@gpg4win_pkg_libiconv_src@
-
-gpg4win_pkg_gettext=@gpg4win_pkg_gettext@
-gpg4win_pkg_gettext_version=@gpg4win_pkg_gettext_version@
-gpg4win_pkg_gettext_src=@gpg4win_pkg_gettext_src@
index 0ceb955..859e48b 100644 (file)
@@ -1,3 +1,23 @@
+# Makefile.am - Installer for GnuPG 4 Windows Makefile.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
 EXTRA_DIST = gpg4win.sh pkg-config
 
 # Supported source packages.
@@ -79,6 +99,19 @@ endef
 
 $(eval $(call INCLUDE_BY_MAKE,gpg4win.mk))
 
-all-local: all-gpg4win
-
 clean-local: clean-gpg4win
+
+gpg4win-$(VERSION).exe: gpg4win.nsi inst-sections.nsi \
+   installer.nsi installer-finish.nsi \
+  $(addsuffix .nsi,$(addprefix inst-,$(gpg4win_build_list))) stamps/stamp-final
+       $(MAKENSIS) gpg4win.nsi
+
+gpg4win-src-$(VERSION).exe: gpg4win-src.nsi inst-sections.nsi \
+  installer.nsi installer-finish.nsi \
+  $(addsuffix .nsi,$(addprefix inst-,$(gpg4win_build_list))) stamps/stamp-final
+       $(MAKENSIS) gpg4win-src.nsi
+
+all-local: gpg4win-$(VERSION).exe gpg4win-src-$(VERSION).exe
+
+clean-local:
+       rm -f gpg4win-$(VERSION).exe gpg4win-src-$(VERSION).exe
diff --git a/src/gpg4win-src.nsi b/src/gpg4win-src.nsi
new file mode 100644 (file)
index 0000000..fd9a8b6
--- /dev/null
@@ -0,0 +1,77 @@
+# gpg4win-src.nsi - Installer for GnuPG 4 Windows sources.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+# We need StrRep.
+!include "StrFunc.nsh"
+
+
+!include "../include/config.nsi"
+
+# The package name and version.  PRETTY_PACKAGE is a user visible name
+# only while PACKAGE is useful for filenames etc.  PROD_VERSION is the
+# product version and needs to be in the format "MAJ.MIN.MIC.BUILDNR".
+!define PACKAGE "${_PACKAGE}-src"
+!define PRETTY_PACKAGE "GnuPG For Windows Sources"
+!define PRETTY_PACKAGE_SHORT "GPG4WinSrc"
+!define VERSION "${_VERSION}"
+# FIXME
+!define PROD_VERSION "0.0.0.1"
+!define COMPANY "g10 Code GmbH"
+!define COPYRIGHT "Copyright (C) 2005 g10 Code GmbH"
+!define DESCRIPTION "GPG4Win: The GNU Privacy Guard and tools for Windows (Source Files)"
+
+!define INSTALL_DIR "GnuPG\Source"
+
+!define ABOUT_ENGLISH \
+ "GnuPG is GNU's tool for secure communication and data storage. \
+  It can be used to encrypt data and to create digital signatures. \
+  It includes an advanced key management facility and is compliant \
+  with the proposed OpenPGP Internet standard as described in RFC2440. \
+  \r\n\r\n$_CLICK \
+  \r\n\r\n\r\n\r\n\r\nThis is GnuPG version ${VERSION}\r\n\
+  file version ${PROD_VERSION}"
+!define ABOUT_GERMAN \
+  "GnuPG is das Werkzeug aus dem GNU Projekt zur sicheren Kommunikation \
+   sowie zum sicheren Speichern von Daten. \
+   \r\n\r\n$_CLICK \
+   \r\n\r\n\r\n\r\n\r\nDies ist GnuPG Version ${VERSION}\r\n\
+   Dateiversion ${PROD_VERSION}"
+
+
+# The copyright license of the package.  Define only one of these.
+!define LICENSE_GPL
+# !define LICENSE_LGPL
+
+
+# The installation directory.
+!define ipdir "playground/install/pkgs"
+
+
+# Now include the generic parts.
+!include "installer.nsi"
+
+
+# Now include all the sections.
+!define SOURCES
+!include "inst-sections.nsi"
+
+
+# Now include the generic parts to end the installation.
+!include "installer-finish.nsi"
index f3dc9a0..f1e89af 100644 (file)
@@ -1,3 +1,23 @@
+# gpg4win.m4 - Installer for GnuPG 4 Windows Makefile.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
 # No servicable parts below this line :)
 
 
diff --git a/src/gpg4win.nsi b/src/gpg4win.nsi
new file mode 100644 (file)
index 0000000..b15b036
--- /dev/null
@@ -0,0 +1,81 @@
+# gpg4win.nsi - Installer for GnuPG 4 Windows.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+!include "../include/config.nsi"
+
+# The package name and version.  PRETTY_PACKAGE is a user visible name
+# only while PACKAGE is useful for filenames etc.  PROD_VERSION is the
+# product version and needs to be in the format "MAJ.MIN.MIC.BUILDNR".
+!define PACKAGE "${_PACKAGE}"
+!define PRETTY_PACKAGE "GnuPG For Windows"
+!define PRETTY_PACKAGE_SHORT "GPG4Win"
+!define VERSION "${_VERSION}"
+# FIXME
+!define PROD_VERSION "0.0.0.1"
+!define COMPANY "g10 Code GmbH"
+!define COPYRIGHT "Copyright (C) 2005 g10 Code GmbH"
+!define DESCRIPTION "GPG4Win: The GNU Privacy Guard and tools for Windows"
+
+!define INSTALL_DIR "GnuPG"
+
+!define ABOUT_ENGLISH \
+ "GnuPG is GNU's tool for secure communication and data storage. \
+  It can be used to encrypt data and to create digital signatures. \
+  It includes an advanced key management facility and is compliant \
+  with the proposed OpenPGP Internet standard as described in RFC2440. \
+  \r\n\r\n$_CLICK \
+  \r\n\r\n\r\n\r\n\r\nThis is GnuPG version ${VERSION}\r\n\
+  file version ${PROD_VERSION}"
+!define ABOUT_GERMAN \
+  "GnuPG is das Werkzeug aus dem GNU Projekt zur sicheren Kommunikation \
+   sowie zum sicheren Speichern von Daten. \
+   \r\n\r\n$_CLICK \
+   \r\n\r\n\r\n\r\n\r\nDies ist GnuPG Version ${VERSION}\r\n\
+   Dateiversion ${PROD_VERSION}"
+
+
+# The copyright license of the package.  Define only one of these.
+!define LICENSE_GPL
+# !define LICENSE_LGPL
+
+
+# Define this if we require an NSIS running on Windows.  This is
+# necessary if you want to handle DLLs properly.
+# !define REQUIRE_W32_NSIS
+
+
+# Define if in debug mode.
+#!define DEBUG
+
+
+# The installation directory.
+!define ipdir "playground/install/pkgs"
+
+
+# Now include the generic parts.
+!include "installer.nsi"
+
+
+# Now include the sections.
+!define BINARIES
+!include "inst-sections.nsi"
+
+
+# Now include the generic parts to end the installation.
+!include "installer-finish.nsi"
diff --git a/src/gpg4win.sh b/src/gpg4win.sh
deleted file mode 100755 (executable)
index 875d55e..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-#! /bin/sh -e
-
-# TODO
-# Check source signatures.
-# Check source for binary packages.
-# Optionally strip after installation.
-# User configuration.
-
-. ../include/config.sh
-
-builddir=`pwd`
-
-# Now set up the paths.
-
-root=${builddir}/playground
-packages=${builddir}/../packages
-
-# Input variables:
-#
-# root         Must be set to the build root directory.
-# packages     Must be set to the source directory.
-
-# no_run=echo
-no_run=
-
-# Derived configuration.
-
-sdir="${packages}"
-bdir="${root}/build"
-pdir="${builddir}/${top_srcdir}/patches"
-idir="${root}/install"
-ipdir="${root}/install/pkgs"
-
-export PKG_CONFIG=${builddir}/${top_srcdir}/src/pkg-config
-export PKG_CONFIG_PATH="${idir}/lib/pkgconfig"
-export SYSROOT="${idir}"
-
-
-# Clear installation and build directory.
-
-${no_run} ${RM} -fR "${root}"
-${no_run} ${MKDIR} "${root}"
-${no_run} ${MKDIR} "${idir}"
-${no_run} ${MKDIR} "${ipdir}"
-${no_run} ${MKDIR} "${bdir}"
-
-
-# install_binary BINARY SOURCE PREFIXVAR
-
-# Install the binary package BINARY with the corresponding source SOURCE.
-# The installation prefix is returned in PREFIXVAR.
-function install_binary()
-{
-    pkg=$1
-    spkg=$2
-    pkgsdir="${bdir}/${spkg}"
-    pkgbdir="${bdir}/${spkg}-build"
-    pkgpdir="${pdir}/${spkg}"
-    pkgidir="${ipdir}/${pkg}"
-
-    ${no_run} ${MKDIR} "${pkgidir}"
-    (cd ${pkgidir}; ${no_run} ${UNZIP} "${sdir}/${pkg}.zip")
-    (cd ${ipdir}; ${no_run} ${STOW} "${pkg}")
-
-    eval ${3}_PREFIX="${pkgidir}"
-}
-
-
-# install_source SOURCE CONFIG PREFIXVAR
-
-# Install the source package SOURCE with configure flags CONFIG.
-# The installation prefix is returned in PREFIXVAR.
-function install_source()
-{
-    pkg=$1
-    spkg=${pkg}
-    pkgsdir="${bdir}/${spkg}"
-    pkgbdir="${bdir}/${spkg}-build"
-    pkgpdir="${pdir}/${spkg}"
-    pkgidir="${ipdir}/${pkg}"
-
-    (cd "${bdir}"; ${no_run} ${TAR} xzf "${sdir}/${spkg}.tar.gz")
-
-    for pfile in "${pkgpdir}"/*.patch ; do
-       (cd "${pkgsdir}"; ${no_run} "${pfile}")
-    done
-
-    ${no_run} mkdir ${pkgbdir}
-    (cd "${pkgbdir}"; \
-       ${no_run} "${pkgsdir}/configure" --prefix="${pkgidir}" \
-       --host="${host}" --build="${build}" ${2})
-
-    (cd "${pkgbdir}"; ${no_run} ${MAKE})
-    
-    (cd "${pkgbdir}"; ${no_run} ${MAKE} install)
-
-    (cd ${ipdir}; ${no_run} ${STOW} "${pkg}")
-
-    eval ${3}_PREFIX="${pkgidir}"
-}
-
-
-# Install iconv runtime and development.
-
-# Required by Gtk.  Provides iconv.dll.
-install_binary libiconv-1.9.1.bin.woe32 libiconv-1.9.1 LIBICONV
-# FIXME: Conflict iconv.exe
-
-#(cd ${ipdir}; ${no_run} ${RM} libiconv-1.9.1.bin.woe32/bin/iconv.exe)
-#(cd ${ipdir}; ${no_run} ${RM} libiconv-1.9.1.bin.woe32/include/iconv.h)
-#(cd ${ipdir}; ${no_run} ${RM} libiconv-1.9.1.bin.woe32/include/libcharset.h)
-#(cd ${ipdir}; ${no_run} ${RM} -fR libiconv-1.9.1.bin.woe32/share)
-#(cd ${ipdir}; ${no_run} ${STOW} libiconv-1.9.1.bin.woe32)
-
-# Provides libiconv-2.dll
-#install_binary libiconv-1.8-1-bin libiconv-1.8-1-src
-#install_binary libiconv-1.8-1-lib libiconv-1.8-1-src LIBICONV
-
-# Install gettext runtime and development.
-
-# Required by Gtk.  Provides intl.dll.
-install_binary gettext-runtime-0.13.1.bin.woe32 gettext-0.13.1 LIBINTL
-#(cd ${ipdir}; ${no_run} ${RM} gettext-runtime-0.13.1.bin.woe32/bin/gettext.exe)
-#(cd ${ipdir}; ${no_run} ${RM} gettext-runtime-0.13.1.bin.woe32/bin/ngettext.exe)
-#(cd ${ipdir}; ${no_run} ${RM} gettext-runtime-0.13.1.bin.woe32/bin/envsubst.exe)
-#(cd ${ipdir}; ${no_run} ${RM} gettext-runtime-0.13.1.bin.woe32/bin/gettext.sh)
-#(cd ${ipdir}; ${no_run} ${RM} -fR gettext-runtime-0.13.1.bin.woe32/share)
-#(cd ${ipdir}; ${no_run} ${RM} -fR gettext-runtime-0.13.1.bin.woe32/include)
-#(cd ${ipdir}; ${no_run} ${STOW} gettext-runtime-0.13.1.bin.woe32)
-
-#install_binary gettext-0.14.4-bin gettext-0.14.4
-#install_binary gettext-0.14.4-lib gettext-0.14.4 LIBINTL
-#install_binary gettext-0.14.4-dep gettext-0.14.4
-
-
-# Install zlib runtime and development.
-
-install_binary zlib-${gpg4win_pkg_zlib_version}-bin zlib-${gpg4win_pkg_zlib_version}-src
-install_binary zlib-${gpg4win_pkg_zlib_version}-lib zlib-${gpg4win_pkg_zlib_version}-src ZLIB
-
-# Now generate the required file for libtool (FIXME: Is this really
-# required?).
-(cd ${ipdir}; ${no_run} ${STOW} -D zlib-${gpg4win_pkg_zlib_version}-lib)
-(cd ${ZLIB_PREFIX}; ${no_run} cat > lib/libz.la <<EOF)
-dlname='../bin/zlib1.dll'
-library_names='libz.dll.a'
-old_library='libz.a'
-dependency_libs=''
-current=1
-age=2
-revision=3
-installed=yes
-shouldnotlink=no
-dlopen=''
-dlpreopen=''
-libdir="${ZLIB_PREFIX}/lib"
-EOF
-(cd ${ipdir}; ${no_run} ${STOW} zlib-${gpg4win_pkg_zlib_version}-lib)
-
-
-# Install Glib runtime and development.
-
-# extra-source: dirent.zip
-install_binary glib-${gpg4win_pkg_glib_version} glib-${gpg4win_pkg_glib_version}
-install_binary glib-dev-${gpg4win_pkg_glib_version} glib-${gpg4win_pkg_glib_version} GLIB
-
-
-# Install Gtk+ runtime and development.  Requires glib.
-
-install_binary atk-${gpg4win_pkg_atk_version} atk-${gpg4win_pkg_atk_version}
-install_binary atk-dev-${gpg4win_pkg_atk_version} atk-${gpg4win_pkg_atk_version} ATK
-
-install_binary pango-${gpg4win_pkg_pango_version} pango-${gpg4win_pkg_pango_version}
-install_binary pango-dev-${gpg4win_pkg_pango_version} pango-${gpg4win_pkg_pango_version} PANGO
-
-install_binary gtk+-${gpg4win_pkg_gtk__version} gtk+-${gpg4win_pkg_gtk__version}
-install_binary gtk+-dev-${gpg4win_pkg_gtk__version} gtk+-${gpg4win_pkg_gtk__version} GTK2
-
-
-# Install libpng runtime and development.
-
-install_binary libpng-${gpg4win_pkg_libpng_version}-bin libpng-${gpg4win_pkg_libpng_version}-src
-install_binary libpng-${gpg4win_pkg_libpng_version}-lib libpng-${gpg4win_pkg_libpng_version}-src LIBPNG
-
-
-# Install pkg-config.  Requires Gtk+.  (FIXME: Is this needed?)
-
-install_binary pkgconfig-${gpg4win_pkg_pkgconfig_version} pkgconfig-0.15.0
-
-
-# BINARY FIXUP
-
-# We need to fix the prefix in the various packages, or we can't
-# substitute it properly in our pkg-config wrapper.
-
-(cd ${ipdir}; ${no_run} perl -pi -e 's/^prefix=.*$/prefix=\/usr/' `find . -name \*.pc`)
-
-
-# Install GnuPG.
-
-install_source gnupg-${gpg4win_pkg_gnupg_version}
-
-
-# Install libgpg-error.
-
-install_source libgpg-error-${gpg4win_pkg_libgpg_error_version} "" LIBGPG_ERROR
-
-
-# Install GPGME.  Requires libgpg-error.
-
-install_source gpgme-${gpg4win_pkg_gpgme_version} \
-  "--with-gpg-error-prefix=${idir} --without-gpgsm" \
-  GPGME
-
-
-# Install GPA.  Requires zlib, Gtk+, libpng, glib, GPGME.
-
-install_source gpa-${gpg4win_pkg_gpa_version} \
-    "--with-libiconv-prefix=${idir} --with-libintl-prefix=${idir} --with-gpgme-prefix=${idir} --with-zlib=${idir}" \
-    GPA
-
-# Install GPGol.  Requires GPGME.
-
-install_source gpgol-${gpg4win_pkg_gpgol_version} "--with-gpgme-prefix=${idir}" GPA
-
-# Install GPGee.  FIXME  (From installable exe ?)
-
-#
diff --git a/src/inst-atk.nsi b/src/inst-atk.nsi
new file mode 100644 (file)
index 0000000..8ceb098
--- /dev/null
@@ -0,0 +1,49 @@
+# inst-atk.nsi - Installer snippet for atk.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/atk-${gpg4win_pkg_atk_version}
+
+!ifdef DEBUG
+Section "atk" SEC_atk
+!else
+Section "-atk" SEC_atk
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File ${gpg4win_pkg_atk_src}
+!else
+  File ${prefix}/bin/libatk-1.0-0.dll
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.atk"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_atk_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libatk-1.0-0.dll"
+!endif
+  RMDir "$INSTDIR"
+SectionEnd
diff --git a/src/inst-gettext.nsi b/src/inst-gettext.nsi
new file mode 100644 (file)
index 0000000..4649877
--- /dev/null
@@ -0,0 +1,62 @@
+# inst-gettext.nsi - Installer snippet for gettext.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gettext-${gpg4win_pkg_gettext_version}
+
+!ifdef DEBUG
+Section "gettext" SEC_gettext
+!else
+Section "-gettext" SEC_gettext
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File ${gpg4win_pkg_gettext_src}
+!else
+  File ${prefix}/bin/intl.dll
+!ifdef DEBUG
+  # We install a couple of binaries that may be useful for testing.
+  File ${prefix}/bin/gettext.exe
+  File ${prefix}/bin/ngettext.exe
+  File ${prefix}/bin/envsubst.exe
+  File ${prefix}/bin/asprintf.dll
+!endif
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.gettext"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gettext_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\intl.dll"
+!ifdef DEBUG
+  Delete "$INSTDIR\gettext.exe"
+  Delete "$INSTDIR\ngettext.exe"
+  Delete "$INSTDIR\envsubst.exe"
+  Delete "$INSTDIR\asprintf.dll"
+!endif
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-glib.nsi b/src/inst-glib.nsi
new file mode 100644 (file)
index 0000000..d5e61ec
--- /dev/null
@@ -0,0 +1,56 @@
+# inst-glib.nsi - Installer snippet for glib.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/glib-${gpg4win_pkg_glib_version}
+
+!ifdef DEBUG
+Section "glib" SEC_glib
+!else
+Section "-glib" SEC_glib
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File ${gpg4win_pkg_glib_src}
+!else
+  File ${prefix}/bin/gspawn-win32-helper.exe
+  File ${prefix}/bin/libglib-2.0-0.dll
+  File ${prefix}/bin/libgmodule-2.0-0.dll
+  File ${prefix}/bin/libgobject-2.0-0.dll
+  File ${prefix}/bin/libgthread-2.0-0.dll
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.glib"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_glib_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\gspawn-win32-helper.exe"
+  Delete "$INSTDIR\libglib-2.0-0.dll"
+  Delete "$INSTDIR\libgmodule-2.0-0.dll"
+  Delete "$INSTDIR\libgobject-2.0-0.dll"
+  Delete "$INSTDIR\libgthread-2.0-0.dll"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-gnupg.nsi b/src/inst-gnupg.nsi
new file mode 100644 (file)
index 0000000..80d2cea
--- /dev/null
@@ -0,0 +1,85 @@
+# inst-gnupg.nsi - Installer snippet for gnupg.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gnupg-${gpg4win_pkg_gnupg_version}
+
+
+Section "gnupg" SEC_gnupg
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_gnupg}"
+!else
+  File "${prefix}/bin/gpg.exe"
+  File "${prefix}/bin/gpgsplit.exe"
+  File "${prefix}/bin/gpgv.exe"
+
+  # As a special exception, these programs are not kept in
+  # libexec/gnupg, where they belong.  Please see the comment in
+  # gnupg/g10/keyserver.c::keyserver_spawn() for an explanation.
+  File "${prefix}/libexec/gnupg/gpgkeys_finger.exe"
+  File "${prefix}/libexec/gnupg/gpgkeys_hkp.exe"
+  File "${prefix}/libexec/gnupg/gpgkeys_http.exe"
+  File "${prefix}/libexec/gnupg/gpgkeys_ldap.exe"
+
+  SetOutPath "$INSTDIR\share\gnupg"
+  File "${prefix}/share/gnupg/options.skel"
+  File "${prefix}/share/gnupg/FAQ"
+  File "${prefix}/share/gnupg/faq.html"
+
+  WriteRegStr HKLM "Software\GNU\GnuPG" "Install Directory" $INSTDIR
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.gnupg"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gnupg}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\gpg.exe"
+  Delete "$INSTDIR\gpgsplit.exe"
+  Delete "$INSTDIR\gpgv.exe"
+
+  Delete "$INSTDIR\gpgkeys_finger.exe"
+  Delete "$INSTDIR\gpgkeys_hkp.exe"
+  Delete "$INSTDIR\gpgkeys_http.exe"
+  Delete "$INSTDIR\gpgkeys_ldap.exe"
+
+  Delete "$INSTDIR\share\gnupg"
+  Delete "$INSTDIR\share\gnupg/options.skel"
+  Delete "$INSTDIR\share\gnupg/FAQ"
+  Delete "$INSTDIR\share\gnupg/faq.html"
+  RMDir "$INSTDIR\share\gnupg"
+  RMDir "$INSTDIR\share"
+  RMDir "$INSTDIR"
+
+  DeleteRegValue HKLM "Software\GNU\GnuPG" "Install Directory"
+!endif
+SectionEnd
+
+
+LangString DESC_SEC_gnupg ${LANG_ENGLISH} \
+   "GNU Privacy Guard"
+LangString DESC_SEC_gnupg ${LANG_GERMAN} \
+   "GNU Privacy Guard"
diff --git a/src/inst-gpa.nsi b/src/inst-gpa.nsi
new file mode 100644 (file)
index 0000000..066f1a2
--- /dev/null
@@ -0,0 +1,65 @@
+# inst-gpa.nsi - Installer snippet for gpa.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gpa-${gpg4win_pkg_gpa_version}
+
+
+Section "gpa" SEC_gpa
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_gpa}"
+!else
+  File ${prefix}/bin/gpa.exe
+
+  SetOutPath "$INSTDIR\share\gpa"
+  File ${prefix}/share/gpa/gpa_tips.en
+  File ${prefix}/share/gpa/gpa_tips.de
+  File ${prefix}/share/gpa/gpa_logo.ppm
+  File ${prefix}/share/gpa/gpa.png
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.gpa"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gpa}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\gpa.exe"
+
+  Delete "$INSTDIR\share\gpa\gpa_tips.en"
+  Delete "$INSTDIR\share\gpa\gpa_tips.de"
+  Delete "$INSTDIR\share\gpa\gpa_logo.ppm"
+  Delete "$INSTDIR\share\gpa\gpa.png"
+  RMDir "$INSTDIR\share\gpa"
+  RMDir "$INSTDIR\share"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
+
+
+LangString DESC_SEC_gpa ${LANG_ENGLISH} \
+   "GNU Privacy Assistant"
+LangString DESC_SEC_gpa ${LANG_GERMAN} \
+   "GNU Privacy Assistent"
diff --git a/src/inst-gpgme.nsi b/src/inst-gpgme.nsi
new file mode 100644 (file)
index 0000000..fe72458
--- /dev/null
@@ -0,0 +1,49 @@
+# inst-gpgme.nsi - Installer snippet for gpgme.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gpgme-${gpg4win_pkg_gpgme_version}
+
+!ifdef DEBUG
+Section "gpgme" SEC_gpgme
+!else
+Section "-gpgme" SEC_gpgme
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_gpgme}"
+!else
+  File ${prefix}/bin/libgpgme-11.dll
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.gpgme"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gpgme}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libgpgme-11.dll"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-gpgol.nsi b/src/inst-gpgol.nsi
new file mode 100644 (file)
index 0000000..125aa85
--- /dev/null
@@ -0,0 +1,51 @@
+# inst-gpgol.nsi - Installer snippet for gpgol.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gpgol-${gpg4win_pkg_gpgol_version}
+
+
+Section "gpgol" SEC_gpgol
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_gpgol}"
+!else
+  File ${prefix}/bin/libgpgol-0-9-3-cvs.dll
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.gpgol"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gpgol}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libgpgol-0-9-3-cvs.dll"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
+
+
+LangString DESC_SEC_gpgol ${LANG_ENGLISH} \
+   "GnuPG for Outlook"
+LangString DESC_SEC_gpgol ${LANG_GERMAN} \
+   "GnuPG für Outlook"
diff --git a/src/inst-gtk+.nsi b/src/inst-gtk+.nsi
new file mode 100644 (file)
index 0000000..5be2731
--- /dev/null
@@ -0,0 +1,141 @@
+# inst-gtk+.nsi - Installer snippet for gtk+.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gtk+-${gpg4win_pkg_gtk__version}
+
+!ifdef DEBUG
+Section "gtk+" SEC_gtk_
+!else
+Section "-gtk+" SEC_gtk_
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_gtk__src}"
+!else
+  File ${prefix}/bin/libgdk_pixbuf-2.0-0.dll
+  File ${prefix}/bin/libgdk-win32-2.0-0.dll
+  File ${prefix}/bin/libgtk-win32-2.0-0.dll
+
+  SetOutPath "$INSTDIR\etc\gtk-2.0"
+  File ${prefix}/etc/gtk-2.0/gdk-pixbuf.loaders
+  File ${prefix}/etc/gtk-2.0/gtk.immodules
+
+  SetOutPath "$INSTDIR\lib\gtk-2.0\2.4.0\loaders"
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-ani.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-bmp.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-gif.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-ico.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-jpeg.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-pcx.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-pnm.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-ras.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-tga.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-tiff.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-wbmp.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-xbm.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-xpm.dll
+
+  SetOutPath "$INSTDIR\lib\gtk-2.0\2.4.0\immodules"
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-am-et.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-cedilla.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-cyrillic-translit.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-ime.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-inuktitut.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-ipa.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-thai-broken.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-ti-er.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-ti-et.dll
+  File ${prefix}/lib/gtk-2.0/2.4.0/immodules/im-viqr.dll
+
+  SetOutPath "$INSTDIR\share\themes\Default\gtk-2.0"
+  File ${prefix}/share/themes/Default/gtk-2.0/gtkrc
+  SetOutPath "$INSTDIR\share\themes\Default\gtk-2.0-key"
+  File ${prefix}/share/themes/Default/gtk-2.0-key/gtkrc
+
+  SetOutPath "$INSTDIR\share\themes\Emacs\gtk-2.0-key"
+  File ${prefix}/share/themes/Emacs/gtk-2.0-key/gtkrc
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.gtk+"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gtk__src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libgdk_pixbuf-2.0-0.dll"
+  Delete "$INSTDIR\libgdk-win32-2.0-0.dll"
+  Delete "$INSTDIR\libgtk-win32-2.0-0.dll"
+
+  Delete "$INSTDIR\etc\gtk-2.0\gdk-pixbuf.loaders"
+  Delete "$INSTDIR\etc\gtk-2.0\gtk.immodules"
+  RMDir "$INSTDIR\etc\gtk-2.0"
+  RMDir "$INSTDIR\etc"
+
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-ani.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-bmp.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-gif.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-ico.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-jpeg.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-pcx.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-png.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-pnm.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-ras.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-tga.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-tiff.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-wbmp.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-xbm.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-xpm.dll"
+  RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\loaders"
+
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-am-et.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-cedilla.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-cyrillic-translit.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ime.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-inuktitut.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ipa.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-thai-broken.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ti-er.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ti-et.dll"
+  Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-viqr.dll"
+  RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\immodules"
+  RMDir "$INSTDIR\lib\gtk-2.0\2.4.0"
+  RMDir "$INSTDIR\lib\gtk-2.0"
+  RMDir "$INSTDIR\lib"
+
+  Delete "$INSTDIR\share\themes\Default\gtk-2.0\gtkrc"
+  RMDir "$INSTDIR\share\themes\Default\gtk-2.0"
+  Delete "$INSTDIR\share\themes\Default\gtk-2.0-key\gtkrc"
+  RMDir "$INSTDIR\share\themes\Default\gtk-2.0-key"
+  RMDir "$INSTDIR\share\themes\Default"
+
+  Delete "$INSTDIR\share\themes\Emacs\gtk-2.0-key\gtkrc"
+  RMDir "$INSTDIR\share\themes\Emacs\gtk-2.0-key"
+  RMDir "$INSTDIR\share\themes\Emacs"
+  RMDir "$INSTDIR\share\themes"
+  RMDir "$INSTDIR\share"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-libgpg-error.nsi b/src/inst-libgpg-error.nsi
new file mode 100644 (file)
index 0000000..644bf65
--- /dev/null
@@ -0,0 +1,57 @@
+# inst-libgpg-error.nsi - Installer snippet for libgpg-error.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/libgpg-error-${gpg4win_pkg_libgpg_error_version}
+
+
+!ifdef DEBUG
+Section "libgpg-error" SEC_libgpg_error
+!else
+Section "-libgpg-error" SEC_libgpg_error
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_libgpg_error}"
+!else
+  File ${prefix}/bin/libgpg-error-0.dll
+!ifdef DEBUG
+  # We install a couple of binaries that may be useful for testing.
+  File ${prefix}/bin/gpg-error.exe
+!endif
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.libgpg-error"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_libgpg_error}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libgpg-error-0.dll"
+!ifdef DEBUG
+  Delete "$INSTDIR\gpg-error.exe"
+!endif
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-libiconv.nsi b/src/inst-libiconv.nsi
new file mode 100644 (file)
index 0000000..c1c1fc2
--- /dev/null
@@ -0,0 +1,57 @@
+# inst-libiconv.nsi - Installer snippet for libiconv.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/libiconv-${gpg4win_pkg_libiconv_version}
+
+!ifdef DEBUG
+Section "libiconv" SEC_libiconv
+!else
+Section "-libiconv" SEC_libiconv
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_libiconv_src}"
+!else
+  File ${prefix}/bin/iconv.dll
+!ifdef DEBUG
+  # We install a couple of binaries that may be useful for testing.
+  File ${prefix}/bin/charset.dll
+  File ${prefix}/bin/iconv.exe
+!endif
+!endif
+SectionEnd
+
+; Uninstaller section.
+Section "-un.libiconv"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_libiconv_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\iconv.dll"
+!ifdef DEBUG
+  Delete "$INSTDIR\charset.dll"
+  Delete "$INSTDIR\iconv.exe"
+!endif
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-libpng.nsi b/src/inst-libpng.nsi
new file mode 100644 (file)
index 0000000..8586fe2
--- /dev/null
@@ -0,0 +1,68 @@
+# inst-libpng.nsi - Installer snippet for libpng.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/libpng-${gpg4win_pkg_libpng_version}
+
+!ifdef DEBUG
+Section "libpng" SEC_libpng
+!else
+Section "-libpng" SEC_libpng
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_libpng_src}"
+!else
+  File ${prefix}/bin/libpng13.dll
+!ifdef DEBUG
+  # We install a couple of binaries that may be useful for testing.
+  File ${prefix}/bin/png2pnm.exe
+  File ${prefix}/bin/pngtest.exe
+  File ${prefix}/bin/pnm2png.exe
+  File ${prefix}/bin/rpng-win.exe
+  File ${prefix}/bin/rpng2-win.exe
+  File ${prefix}/bin/VisualPng.exe
+  File ${prefix}/bin/wpng.exe
+!endif
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.libpng"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_libpng_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libpng13.dll"
+!ifdef DEBUG
+  Delete "$INSTDIR\png2pnm.exe"
+  Delete "$INSTDIR\pngtest.exe"
+  Delete "$INSTDIR\pnm2png.exe"
+  Delete "$INSTDIR\rpng-win.exe"
+  Delete "$INSTDIR\rpng2-win.exe"
+  Delete "$INSTDIR\VisualPng.exe"
+  Delete "$INSTDIR\wpng.exe"
+!endif
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-pango.nsi b/src/inst-pango.nsi
new file mode 100644 (file)
index 0000000..f35c32e
--- /dev/null
@@ -0,0 +1,90 @@
+# inst-pango.nsi - Installer snippet for pango.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/pango-${gpg4win_pkg_pango_version}
+
+!ifdef DEBUG
+Section "pango" SEC_pango
+!else
+Section "-pango" SEC_pango
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_pango_src}"
+!else
+  File ${prefix}/bin/pango-querymodules.exe
+  File ${prefix}/bin/libpango-1.0-0.dll
+  File ${prefix}/bin/libpangoft2-1.0-0.dll
+  File ${prefix}/bin/libpangowin32-1.0-0.dll
+
+  SetOutPath "$INSTDIR\etc\pango"
+  File ${prefix}/etc/pango/pango.aliases
+  File ${prefix}/etc/pango/pango.modules
+
+  SetOutPath "$INSTDIR\lib\pango\1.4.0\modules"
+  File ${prefix}/lib/pango/1.4.0/modules/pango-arabic-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-basic-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-basic-win32.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-hangul-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-hebrew-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-indic-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-khmer-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-syriac-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-thai-fc.dll
+  File ${prefix}/lib/pango/1.4.0/modules/pango-tibetan-fc.dll
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.pango"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_pango_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\pango-querymodules.exe"
+  Delete "$INSTDIR\libpango-1.0-0.dll"
+  Delete "$INSTDIR\libpangoft2-1.0-0.dll"
+  Delete "$INSTDIR\libpangowin32-1.0-0.dll"
+
+  Delete "$INSTDIR\etc\pango\pango.aliases"
+  Delete "$INSTDIR\etc\pango\pango.modules"
+  RMDir "$INSTDIR\etc\pango"
+  RMDir "$INSTDIR\etc"
+
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-arabic-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-basic-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-basic-win32.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-hangul-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-hebrew-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-indic-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-khmer-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-syriac-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-thai-fc.dll"
+  Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-tibetan-fc.dll"
+  RMDir "$INSTDIR\lib\pango\1.4.0\modules"
+  RMDir "$INSTDIR\lib\pango\1.4.0"
+  RMDir "$INSTDIR\lib\pango"
+  RMDir "$INSTDIR\lib"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/inst-pkgconfig.nsi b/src/inst-pkgconfig.nsi
new file mode 100644 (file)
index 0000000..0ed8968
--- /dev/null
@@ -0,0 +1,46 @@
+# inst-pkgconfig.nsi - Installer snippet for pkgconfig.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/pkgconfig-${gpg4win_pkg_pkgconfig_version}
+
+!ifdef DEBUG
+Section "pkgconfig" SEC_pkgconfig
+!else
+Section "-pkgconfig" SEC_pkgconfig
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_pkgconfig_src}"
+!else
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.pkgconfig"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_pkgconfig_src}"
+  Call un.SourceDelete
+!else
+!endif
+SectionEnd
diff --git a/src/inst-sections.nsi b/src/inst-sections.nsi
new file mode 100644 (file)
index 0000000..783ca53
--- /dev/null
@@ -0,0 +1,143 @@
+# inst-sections.nsi - Installer for GnuPG 4 Windows sections.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+# Sections
+
+!include "inst-gnupg.nsi"
+!include "inst-libgpg-error.nsi"
+!include "inst-libiconv.nsi"
+!include "inst-pkgconfig.nsi"
+!include "inst-zlib.nsi"
+!include "inst-gpgme.nsi"
+!include "inst-gettext.nsi"
+!include "inst-glib.nsi"
+!include "inst-libpng.nsi"
+!include "inst-gpgol.nsi"
+!include "inst-pango.nsi"
+!include "inst-atk.nsi"
+!include "inst-gtk+.nsi"
+!include "inst-gpa.nsi"
+
+# Dependency Management
+
+!include "Sections.nsh"
+
+Function .onSelChange
+  # This section could very well be autogenerated from the
+  # information in configure.ac.  Note that it doesn't hurt to have
+  # stuff here for packages that we don't include.
+
+  # First clear all indirect dependencies.
+  !insertmacro UnselectSection ${SEC_libiconv}
+  !insertmacro UnselectSection ${SEC_gettext}
+  !insertmacro UnselectSection ${SEC_zlib}
+  !insertmacro UnselectSection ${SEC_libpng}
+  !insertmacro UnselectSection ${SEC_pkgconfig}
+  !insertmacro UnselectSection ${SEC_glib}
+  !insertmacro UnselectSection ${SEC_atk}
+  !insertmacro UnselectSection ${SEC_pango}
+  !insertmacro UnselectSection ${SEC_gtk_}
+  !insertmacro UnselectSection ${SEC_libgpg_error}
+  !insertmacro UnselectSection ${SEC_gpgme}
+
+  # Then enable all dependencies in reverse build list order!
+
+  !insertmacro SectionFlagIsSet ${SEC_gpa} ${SF_SELECTED} have_gpa skip_gpa
+  have_gpa:
+  !insertmacro SelectSection ${SEC_zlib}
+  !insertmacro SelectSection ${SEC_gtk_}
+  !insertmacro SelectSection ${SEC_libpng}
+  !insertmacro SelectSection ${SEC_glib}
+  !insertmacro SelectSection ${SEC_gpgme}
+  !insertmacro SelectSection ${SEC_gnupg}
+  skip_gpa:
+
+  !insertmacro SectionFlagIsSet ${SEC_gtk_} \
+               ${SF_SELECTED} have_gtk_ skip_gtk_
+  have_gtk_:
+  !insertmacro SelectSection ${SEC_atk}
+  !insertmacro SelectSection ${SEC_pango}
+  !insertmacro SelectSection ${SEC_glib}
+  !insertmacro SelectSection ${SEC_libiconv}
+  !insertmacro SelectSection ${SEC_gettext}
+  !insertmacro SelectSection ${SEC_pkgconfig}
+  skip_gtk_:
+
+  !insertmacro SectionFlagIsSet ${SEC_atk} \
+               ${SF_SELECTED} have_atk skip_atk
+  have_atk:
+  !insertmacro SelectSection ${SEC_glib}
+  !insertmacro SelectSection ${SEC_pkgconfig}
+  skip_atk:
+
+  !insertmacro SectionFlagIsSet ${SEC_pango} \
+               ${SF_SELECTED} have_pango skip_pango
+  have_pango:
+  !insertmacro SelectSection ${SEC_glib}
+  !insertmacro SelectSection ${SEC_pkgconfig}
+  skip_pango:
+
+  !insertmacro SectionFlagIsSet ${SEC_gpgol} \
+               ${SF_SELECTED} have_gpgol skip_gpgol
+  have_gpgol:
+  !insertmacro SelectSection ${SEC_gpgme}
+  !insertmacro SelectSection ${SEC_gnupg}
+  skip_gpgol:
+
+  !insertmacro SectionFlagIsSet ${SEC_libpng} \
+               ${SF_SELECTED} have_libpng skip_libpng
+  have_libpng:
+  !insertmacro SelectSection ${SEC_pkgconfig}
+  skip_libpng:
+
+  !insertmacro SectionFlagIsSet ${SEC_glib} \
+               ${SF_SELECTED} have_glib skip_glib
+  have_glib:
+  !insertmacro SelectSection ${SEC_pkgconfig}
+  skip_glib:
+
+  !insertmacro SectionFlagIsSet ${SEC_gettext} \
+               ${SF_SELECTED} have_gettext skip_gettext
+  have_gettext:
+  !insertmacro SelectSection ${SEC_libiconv}
+  skip_gettext:
+
+  !insertmacro SectionFlagIsSet ${SEC_gpgme} \
+               ${SF_SELECTED} have_gpgme skip_gpgme
+  have_gpgme:
+  !insertmacro SelectSection ${SEC_libgpg_error}
+  skip_gpgme:
+
+  # Package "zlib" has no dependencies.
+  # Package "pkgconfig" has no dependencies.
+  # Package "libiconv" has no dependencies.
+  # Package "libgpg-error" has no dependencies.
+  # Package "gnupg" has no dependencies.
+
+FunctionEnd
+
+
+# This must be in a central place.  Urgs.
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpgol} $(DESC_SEC_gpgol)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpa} $(DESC_SEC_gpa)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gnupg} $(DESC_SEC_gnupg)
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
diff --git a/src/inst-zlib.nsi b/src/inst-zlib.nsi
new file mode 100644 (file)
index 0000000..86497f5
--- /dev/null
@@ -0,0 +1,49 @@
+# inst-zlib.nsi - Installer snippet for zlib.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/zlib-${gpg4win_pkg_zlib_version}
+
+!ifdef DEBUG
+Section "zlib" SEC_zlib
+!else
+Section "-zlib" SEC_zlib
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_zlib_src}"
+!else
+  File ${prefix}/bin/zlib1.dll
+!endif
+SectionEnd
+
+
+; Uninstaller section.
+Section "-un.zlib"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_zlib_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\zlib1.dll"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd
diff --git a/src/installer-finish.nsi b/src/installer-finish.nsi
new file mode 100644 (file)
index 0000000..32fca53
--- /dev/null
@@ -0,0 +1,45 @@
+# installer-finish.nsi - Installer for GnuPG 4 Windows.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+# Last section is a hidden one.
+Section
+
+  WriteUninstaller "$INSTDIR\${PACKAGE}-uninstall.exe"
+
+#  StrCpy $MYTMP "Software\Microsoft\Windows\CurrentVersion\Uninstall\GnuPG"
+#  WriteRegExpandStr HKLM $MYTMP "UninstallString" '"$INSTDIR\uninst-gnupg.exe"'
+#  WriteRegExpandStr HKLM $MYTMP "InstallLocation" "$INSTDIR"
+#  WriteRegStr       HKLM $MYTMP "DisplayName"     "GNU Privacy Guard"
+#  WriteRegStr       HKLM $MYTMP "DisplayIcon"     "$INSTDIR\gpg.exe,0"
+#  WriteRegStr       HKLM $MYTMP "DisplayVersion"  "${VERSION}"
+#  WriteRegStr       HKLM $MYTMP "Publisher"       "Free Software Foundation"
+#  WriteRegStr       HKLM $MYTMP "URLInfoAbout"    "http://www.gnupg.org/"
+#  WriteRegDWORD     HKLM $MYTMP "NoModify"        "1"
+#  WriteRegDWORD     HKLM $MYTMP "NoRepair"        "1"
+
+SectionEnd
+
+
+Section Uninstall
+  Delete "$INSTDIR\${PACKAGE}-uninstall.exe"
+  RMDir "$INSTDIR"
+
+  DeleteRegValue HKLM "Software\GNU\${PRETTY_PACKAGE_SHORT}" \
+        "Install Directory"
+SectionEnd
diff --git a/src/installer.nsi b/src/installer.nsi
new file mode 100644 (file)
index 0000000..648b7ab
--- /dev/null
@@ -0,0 +1,232 @@
+# installer.nsi - Installer for GnuPG 4 Windows.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+# No servicable parts beyond this line.  Stay clear :)
+
+!ifdef REQUIRE_W32_NSIS
+!ifdef PACKAGE_LIBRARY
+!include "Library.nsh"
+!endif
+!else
+!macro InstallLib libtype shared install localfile destfile tempbasedir
+  File "${localfile}"
+!macroend
+!endif
+
+
+# We use the modern UI.
+!include "MUI.nsh"
+
+
+# Set the package name.
+Name "${PRETTY_PACKAGE} ${VERSION}"
+
+
+# Set the output filename.
+OutFile "${PACKAGE}-${VERSION}.exe"
+
+
+# Set the installation directory.
+!ifndef INSTALL_DIR
+!define INSTALL_DIR "${PACKAGE}"
+!endif
+InstallDir "$PROGRAMFILES\GNU\${INSTALL_DIR}\"
+
+InstallDirRegKey HKLM "Software\GNU\${PRETTY_PACKAGE_SHORT}" \
+       "Install Directory"
+
+
+# Select the best compression algorithm available.  The dictionary
+# size is the default (8 MB).
+SetCompressor lzma
+# SetCompressorDictSize 8
+
+
+# Add version information to the file properties.
+VIProductVersion "${PROD_VERSION}"
+VIAddVersionKey "ProductName" "${PRETTY_PACKAGE_SHORT} (${VERSION})"
+!ifdef LICENSE_GPL
+VIAddVersionKey "Comments" \
+   "${PRETTY_PACKAGE_SHORT} is Free Software; you can redistribute it  \
+    and/or modify it under the terms of the GNU General Public License.  \
+    You should have received a copy of the GNU General Public License  \
+    along with this software; if not, write to the Free Software  \
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,  \
+    MA 02110-1301, USA"
+!else
+VIAddVersionKey "Comments" \
+   "${PRETTY_PACKAGE_SHORT} is Free Software; you can redistribute it  \
+    and/or modify it under the terms of the GNU Lesser General Public  \
+    License. You should have received a copy of the GNU Lesser General  \
+    Public License along with this software; if not, write to the Free  \
+    Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,  \
+    MA 02110-1301, USA"
+!endif
+VIAddVersionKey "CompanyName" "${COMPANY}"
+VIAddVersionKey "LegalTrademarks" ""
+VIAddVersionKey "LegalCopyright" "${COPYRIGHT}"
+VIAddVersionKey "FileDescription" "${DESCRIPTION}"
+VIAddVersionKey "FileVersion" "${PROD_VERSION}"
+
+
+# Interface Settings
+
+# !define MUI_ABORTWARNING
+!define MUI_FINISHPAGE_NOAUTOCLOSE
+!define MUI_UNFINISHPAGE_NOAUTOCLOSE
+
+# Remember the installer language
+
+#!define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
+#!define MUI_LANGDLL_REGISTRY_KEY "Software\GNU\${PRETTY_PACKAGE_SHORT}" 
+#!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+
+# The list of wizard pages.
+
+!define MUI_WELCOMEPAGE_TEXT "$(T_About)"
+!insertmacro MUI_PAGE_WELCOME
+
+!define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)"
+!define MUI_PAGE_HEADER_SUBTEXT "$(T_GPLHeader)"
+!define MUI_LICENSEPAGE_TEXT_BOTTOM "$(T_GPLShort)"
+!insertmacro MUI_PAGE_LICENSE "../COPYING"
+
+!define MUI_PAGE_CUSTOMFUNCTION_SHOW PrintNonAdminWarning
+!insertmacro MUI_PAGE_COMPONENTS
+
+!insertmacro MUI_PAGE_INSTFILES
+
+!insertmacro MUI_PAGE_FINISH
+
+
+# Uninstaller pages.
+
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+
+
+#Page license
+#Page components
+#Page directory
+#Page instfiles
+#UninstPage uninstConfirm
+#UninstPage instfiles
+
+
+# Language support.  This has to be done after defining the pages, but
+# before defining the translation strings.  Confusing.
+
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "German"
+
+!insertmacro MUI_RESERVEFILE_LANGDLL
+!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+ReserveFile "../COPYING"
+
+
+# Language support
+
+# The About string as displayed on the first page.
+LangString T_About ${LANG_ENGLISH} "${ABOUT_ENGLISH}"
+LangString T_About ${LANG_GERMAN} "${ABOUT_GERMAN}"
+
+# Startup page
+LangString T_GPLHeader ${LANG_ENGLISH} \
+  "This software is licensed under the terms of the GNU General Public \
+   License (GPL) which guarantees your freedom to share and change Free \
+   Software."
+LangString T_GPLHeader ${LANG_GERMAN}} \
+  "Diese Software ist unter der GNU General Public License \
+   (GPL) lizensiert; dies gibt Ihnen die Freiheit, sie \
+   zu ändern und weiterzugeben."
+
+LangString T_GPLShort ${LANG_ENGLISH} \
+  "In short: You are allowed to run this software for any purpose. \
+   You may distribute it as long as you give the recipients the same \
+   rights you have received."
+LangString T_GPLShort ${LANG_GERMAN} \
+  "In aller Kürze: Sie haben das Recht, die Software zu jedem Zweck \
+   einzusetzen.  Sie können die Software weitergeben, sofern Sie dem \
+   Empfänger dieselben Rechte einräumen, die auch Sie erhalten haben."
+
+
+# Functions
+
+# PrintNonAdminWarning
+
+# Check whether the current user is in the Administrator group or an
+# OS version without the need for an Administrator is in use.  Print a
+# warning if this is not the case.
+
+Function PrintNonAdminWarning
+  ClearErrors
+  UserInfo::GetName
+  IfErrors leave
+  Pop $0
+  UserInfo::GetAccountType
+  Pop $1
+  StrCmp $1 "Admin" leave +1
+  MessageBox MB_OK "$(T_AdminNeeded)"
+
+ leave:
+FunctionEnd
+
+# From Function PrintNonAdminWarning
+LangString T_AdminNeeded ${LANG_ENGLISH} \
+   "Warning: Administrator permissions required for a successful installation"
+LangString T_AdminNeeded ${LANG_GERMAN} \
+   "Warnung: Für eine erfolgreiche Installation werden \
+    Administratorrechte benötigt."
+
+
+# FIXME: The GetAfterChar function comes from the NSIS wiki.
+Function un.GetAfterChar
+  Exch $0 ; chop char
+  Exch
+  Exch $1 ; input string
+  Push $2
+  Push $3
+  StrCpy $2 0
+  loop:
+    IntOp $2 $2 - 1
+    StrCpy $3 $1 1 $2
+    StrCmp $3 "" 0 +3
+      StrCpy $0 ""
+      Goto exit2
+    StrCmp $3 $0 exit1
+    Goto loop
+  exit1:
+    IntOp $2 $2 + 1
+    StrCpy $0 $1 "" $2
+  exit2:
+    Pop $3
+    Pop $2
+    Pop $1
+    Exch $0 ; output
+FunctionEnd
+
+
+Function un.SourceDelete
+  Push "/"
+  Call un.GetAfterChar
+  Pop $R0
+  Delete "$INSTDIR\$R0"
+FunctionEnd
index 3322e60..35ab546 100755 (executable)
@@ -1,4 +1,22 @@
 #!/bin/bash
+# pkg-config - wrapper script for cross-compilation.
+# Copyright (C) 2005 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# 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
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 
 CMD=/usr/bin/pkg-config
 PREFIX=/usr