2008-09-03 Marcus Brinkmann <marcus@g10code.com>
authorMarcus Brinkmann <mb@g10code.com>
Wed, 3 Sep 2008 17:47:23 +0000 (17:47 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Wed, 3 Sep 2008 17:47:23 +0000 (17:47 +0000)
* include/config.nsi.in: Add scute support.
* src/inst-sections.nsi: Likewise.
* src/inst-scute.nsi, src/uninst-scute.nsi: New files.
* src/Makefile.am (gpg4win_pkg_scute_configure): New variable.
(EXTRA_DIST): Add inst-scute.nsi and uninst-scute.nsi.
(gpg4win_spkgs): Add scute.
* configure.ac: Add scute.
* Makefile.am (EXTRA_DIST): Add patches/scute-1.2.0/01-bugfixes.patch.
* patches/scute-1.2.0/01-bugfixes.patch: New file.

ChangeLog
Makefile.am
configure.ac
include/config.nsi.in
patches/scute-1.2.0/01-bugfixes.patch [new file with mode: 0755]
src/Makefile.am
src/inst-scute.nsi [new file with mode: 0644]
src/inst-sections.nsi
src/uninst-scute.nsi [new file with mode: 0644]

index 7d529a4..c39585b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2008-09-03  Marcus Brinkmann  <marcus@g10code.com>
+
+       * include/config.nsi.in: Add scute support.
+       * src/inst-sections.nsi: Likewise.
+       * src/inst-scute.nsi, src/uninst-scute.nsi: New files.
+       * src/Makefile.am (gpg4win_pkg_scute_configure): New variable.
+       (EXTRA_DIST): Add inst-scute.nsi and uninst-scute.nsi.
+       (gpg4win_spkgs): Add scute.
+       * configure.ac: Add scute.
+       * Makefile.am (EXTRA_DIST): Add patches/scute-1.2.0/01-bugfixes.patch.
+       * patches/scute-1.2.0/01-bugfixes.patch: New file.
+
 2008-09-03  Werner Koch  <wk@g10code.com>
 
        * configure.ac: Remove man_novice_de and man_advanced_de.  Add
index 25daee8..69d04af 100644 (file)
@@ -52,7 +52,8 @@ EXTRA_DIST = autogen.sh README.SVN \
        patches/gnupg2-2.0.9/03-i18n+etc.patch \
        patches/gnupg2-2.0.9/04-ks-w32init.patch \
        patches/gnupg2-2.0.9/05-w32-http.patch \
-       patches/gpgol-0.9.91/01-gpgme.patch
+       patches/gpgol-0.9.91/01-gpgme.patch \
+        patches/scute-1.2.0/01-bugfixes.patch
 
 copy-news:
        cp NEWS doc/website/NEWS.last
index 761737a..5da9679 100644 (file)
@@ -191,7 +191,7 @@ GPG4WIN_SPKG([adns])
 GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
 GPG4WIN_SPKG([libgcrypt], [libgpg-error])
 GPG4WIN_SPKG([libksba], [libgpg-error])
-GPG4WIN_SPKG([libassuan], [w32pth])
+GPG4WIN_SPKG([libassuan], [libgpg-error w32pth])
 GPG4WIN_SPKG([dirmngr], [libgpg-error libgcrypt libassuan libksba])
 GPG4WIN_SPKG([w32pth])
 GPG4WIN_SPKG([pinentry], [libiconv gtk+])
@@ -201,6 +201,7 @@ GPG4WIN_SPKG([gnupg2], [libiconv libgcrypt libksba libassuan libgpg-error dnl
 GPG4WIN_SPKG([pthreads-w32])
 GPG4WIN_SPKG([gpgol], [gpgme libassuan])
 GPG4WIN_SPKG([gpgex], [libassuan])
+GPG4WIN_SPKG([scute], [libgpg-error libassuan])
 GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
 GPG4WIN_SPKG([winpt], [gpgme gnupg2])
 GPG4WIN_SPKG([libgsasl])
index 7306dbf..2c1fb4d 100644 (file)
 !define gpg4win_pkg_kleopatra_version @gpg4win_pkg_kleopatra_version@
 !define gpg4win_pkg_kleopatra_src @gpg4win_pkg_kleopatra_src@
 
+@HAVE_PKG_SCUTE@
+!define gpg4win_pkg_scute @gpg4win_pkg_scute@
+!define gpg4win_pkg_scute_version @gpg4win_pkg_scute_version@
+
 # Internal packages.
 @HAVE_PKG_COMPENDIUM_DE@
 
diff --git a/patches/scute-1.2.0/01-bugfixes.patch b/patches/scute-1.2.0/01-bugfixes.patch
new file mode 100755 (executable)
index 0000000..a4e65a3
--- /dev/null
@@ -0,0 +1,54 @@
+#! /bin/sh
+patch -p0 -f $* < $0
+exit $?
+
+
+diff -rup src/Makefile.am src/Makefile.am
+--- src/Makefile.am    2008-09-02 16:08:09.000000000 +0200
++++ src/Makefile.am    2008-09-03 19:29:28.000000000 +0200
+@@ -146,7 +146,7 @@ clean-local:
+ scute_LDADD = @LTLIBOBJS@ $(srcdir)/scute.def -L. -lassuan -lgpg-error -lws2_32
+-#.rc.o:
+-#     $(RC) -I $(srcdir) -I . `test -f '$<' || echo '$(srcdir)/'`$< $@
++.rc.o:
++      $(RC) -I $(srcdir) -I . `test -f '$<' || echo '$(srcdir)/'`$< $@
+ endif
+diff -rup src/Makefile.in src/Makefile.in
+--- src/Makefile.in    2008-09-02 18:37:38.000000000 +0200
++++ src/Makefile.in    2008-09-03 19:29:46.000000000 +0200
+@@ -210,7 +210,7 @@ am__objects_2 = locking.$(OBJEXT) error-
+       p11-verifyrecoverinit.$(OBJEXT) p11-verifyupdate.$(OBJEXT) \
+       p11-waitforslotevent.$(OBJEXT) p11-wrapkey.$(OBJEXT)
+ @HAVE_W32_SYSTEM_TRUE@am_scute_OBJECTS = dllmain.$(OBJEXT) \
+-@HAVE_W32_SYSTEM_TRUE@        $(am__objects_2)
++@HAVE_W32_SYSTEM_TRUE@        $(am__objects_2) versioninfo.$(OBJEXT)
+ scute_OBJECTS = $(am_scute_OBJECTS)
+ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+@@ -1456,8 +1456,8 @@ uninstall-am: uninstall-binPROGRAMS unin
+ @HAVE_W32_SYSTEM_TRUE@clean-local:
+ @HAVE_W32_SYSTEM_TRUE@        rm -f libgpg-error.a libassuan.a
+-#.rc.o:
+-#     $(RC) -I $(srcdir) -I . `test -f '$<' || echo '$(srcdir)/'`$< $@
++@HAVE_W32_SYSTEM_TRUE@.rc.o:
++@HAVE_W32_SYSTEM_TRUE@        $(RC) -I $(srcdir) -I . `test -f '$<' || echo '$(srcdir)/'`$< $@
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+diff -rup src/support.h src/support.h
+--- src/support.h      2008-08-08 17:50:53.000000000 +0200
++++ src/support.h      2008-09-03 19:29:28.000000000 +0200
+@@ -53,7 +53,8 @@ scute_copy_string (char *dest, char *src
+ }
+ #ifndef HAVE_STPCPY
+-#include "stpcpy.h"
++/* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
++extern char *stpcpy (char *dst, const char *src);
+ #endif
+ /*-- Simple replacement functions. */
index 856e230..8b28fad 100644 (file)
@@ -40,6 +40,7 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi config.site \
         inst-gpa.nsi              uninst-gpa.nsi             \
         inst-gpgee.nsi            uninst-gpgee.nsi           \
         inst-gpgme.nsi            uninst-gpgme.nsi           \
+        inst-scute.nsi            uninst-scute.nsi           \
         inst-gpgol.nsi            uninst-gpgol.nsi           \
         inst-gpgex.nsi            uninst-gpgex.nsi           \
         inst-gtk+.nsi             uninst-gtk+.nsi            \
@@ -81,7 +82,7 @@ CLEANFILES = g4wihelp.dll versioninfo.txt README.en.txt README.de.txt \
 gpg4win_spkgs = glib libgpg-error gpgme gpgol gpgex \
                gpa winpt libgsasl libtasn1 opencdk gnutls \
                 libetpan claws-mail gnupg2 pinentry \
-               libassuan libksba libgcrypt adns dirmngr w32pth
+               libassuan libksba libgcrypt adns dirmngr w32pth scute
 
 # Extra options to configure for individual packages.
 # We can use $(idir) here for the installation prefix.
@@ -208,6 +209,9 @@ gpg4win_pkg_claws_mail_configure = \
   --disable-spamassassin-plugin --disable-bogofilter-plugin \
   --disable-valgrind --disable-networkmanager-support
 
+gpg4win_pkg_scute_configure = --silent \
+  --with-gpgme-prefix=$(idir) --with-libassuan-prefix=$(idir)
+
 # Supported make-only source packages.
 gpg4win_mpkgs = pthreads-w32 bzip2
 
diff --git a/src/inst-scute.nsi b/src/inst-scute.nsi
new file mode 100644 (file)
index 0000000..f9da6a0
--- /dev/null
@@ -0,0 +1,45 @@
+# inst-scute.nsi - Installer snippet for scute.     -*- coding: latin-1; -*-
+# Copyright (C) 2005, 2007, 2008 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}/scute-${gpg4win_pkg_scute_version}
+
+${MementoSection} "Scute" SEC_scute
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_scute}"
+!else
+  ClearErrors
+  SetOverwrite try
+  File "${prefix}/bin/libscute-0.dll"
+
+  SetOverwrite lastused
+  ifErrors 0 +3
+      File /oname=libscute-0.dll.tmp "${prefix}/bin/libscute-0.dll"
+      Rename /REBOOTOK libscute-0.dll.tmp libscute-0.dll
+
+!endif
+${MementoSectionEnd}
+
+
+LangString DESC_SEC_scute ${LANG_ENGLISH} \
+   "PKCS #11 with GnuPG Agent"
index 9e3bd0a..c78e3a4 100644 (file)
 !ifdef HAVE_PKG_GPGEX
 !include "inst-gpgex.nsi"
 !endif
+!ifdef HAVE_PKG_SCUTE
+!include "inst-scute.nsi"
+!endif
 !ifdef HAVE_PKG_CLAWS_MAIL
 !include "inst-claws-mail.nsi"
 !endif
 !include "uninst-man_novice_en.nsi"
 !endif
 #!ifdef HAVE_PKG_EUDORAGPG
-#!include "inst-eudoragpg.nsi"
+#!include "uninst-eudoragpg.nsi"
 #!endif
 !ifdef HAVE_PKG_CLAWS_MAIL
 !include "uninst-claws-mail.nsi"
 !endif
+!ifdef HAVE_PKG_SCUTE
+!include "uninst-scute.nsi"
+!endif
 !ifdef HAVE_PKG_GPGEX
 !include "uninst-gpgex.nsi"
 !endif
 !ifdef HAVE_PKG_LIBKSBA
 !include "uninst-libksba.nsi"
 !endif
-!ifdef HAVE_PKG_GPGEX
-!include "uninst-gpgex.nsi"
-!endif
 !ifdef HAVE_PKG_GLIB
 !include "uninst-glib.nsi"
 !endif
@@ -392,6 +395,17 @@ calc_defaults_gpgol_done:
 calc_defaults_gpgex_done:
 !endif
 
+!ifdef HAVE_PKG_SCUTE
+  g4wihelp::config_fetch_bool "inst_scute"
+  StrCmp $R0 "1" 0 calc_defaults_scute_not_one
+   !insertmacro SelectSection ${SEC_scute}
+   Goto calc_defaults_scute_done
+  calc_defaults_scute_not_one:
+  StrCmp $R0 "0" 0 calc_defaults_scute_done
+   !insertmacro UnselectSection ${SEC_scute}
+calc_defaults_scute_done:
+!endif
+
 !ifdef HAVE_PKG_GPA
   g4wihelp::config_fetch_bool "inst_gpa"
   StrCmp $R0 "1" 0 calc_defaults_gpa_not_one
@@ -608,6 +622,14 @@ Function CalcDepends
   skip_gpgex:
 !endif
 
+!ifdef HAVE_PKG_SCUTE
+  !insertmacro SectionFlagIsSet ${SEC_scute} \
+               ${SF_SELECTED} have_scute skip_scute
+  have_scute:
+  # All dependencies are linked in statically.
+  skip_scute:
+!endif
+
 !ifdef HAVE_PKG_KLEOPATRA
   !insertmacro SectionFlagIsSet ${SEC_kleopatra} ${SF_SELECTED} have_kleopatra skip_kleopatra
   have_kleopatra:
@@ -907,6 +929,9 @@ FunctionEnd
 !ifdef HAVE_PKG_GPGEX
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpgex} $(DESC_SEC_gpgex)
 !endif
+!ifdef HAVE_PKG_SCUTE
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_scute} $(DESC_SEC_scute)
+!endif
 !ifdef HAVE_PKG_GPA
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpa} $(DESC_SEC_gpa)
 !endif
diff --git a/src/uninst-scute.nsi b/src/uninst-scute.nsi
new file mode 100644 (file)
index 0000000..723be4f
--- /dev/null
@@ -0,0 +1,36 @@
+# uninst-scute.nsi - Installer snippet for scute.   -*- coding: latin-1; -*-
+# Copyright (C) 2005, 2007, 2008 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}/scute-${gpg4win_pkg_scute_version}
+
+
+; Uninstaller section.
+Section "-un.scute"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_scute}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\libscute-0.dll"
+  RMDir "$INSTDIR"
+!endif
+SectionEnd