Mark gpgEx dependencies as SPGKEX packages
authorAndre Heinecke <aheinecke@intevation.de>
Fri, 14 Jun 2013 15:04:37 +0000 (15:04 +0000)
committerAndre Heinecke <aheinecke@intevation.de>
Fri, 14 Jun 2013 15:04:37 +0000 (15:04 +0000)
    This enables the new additional host logic for those
    packages.

    * configure.ac: Switch iconv / gettext to source packages and
    mark them as SPKGEX packages. Mark gpgEx dependencies as such.
    * packages/packages.current: Update libiconv and gettext and
    switch to source tarballs.
    * src/Makefile.am: Add iconv / gettext as source packages.
    Add gpgEx depdencies as gpg4win_expkgs

--
    gettext-tools are still resisting compilation. For now I've
    manually stepped in the build process to just build gettext-runtime.
    libiconv and w32-pth work as intended in the new extra architecture
    logic.

configure.ac
packages/packages.current
src/Makefile.am

index c5b7f0e..5bbca35 100644 (file)
@@ -341,8 +341,6 @@ AC_CHECK_PROGS(WGET, wget)
 # Packages.
 gpg4win_dup_sources=""
 
-GPG4WIN_BPKG_GNU([libiconv])
-GPG4WIN_BPKG_GNU([gettext], [libiconv])
 
 GPG4WIN_SPKG([zlib])
 GPG4WIN_BPKG_GNUWIN32([bsfilter])
@@ -365,11 +363,8 @@ GPG4WIN_SPKG([enchant], [pkgconfig glib])
 
 GPG4WIN_SPKG([bzip2])
 GPG4WIN_SPKG([adns])
-GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
 GPG4WIN_SPKG([libgcrypt], [libgpg-error])
 GPG4WIN_SPKG([libksba], [libgpg-error])
-GPG4WIN_SPKG([w32pth])
-GPG4WIN_SPKG([libassuan], [libgpg-error w32pth])
 GPG4WIN_SPKG([dirmngr], [libgpg-error libgcrypt libassuan libksba w32pth])
 GPG4WIN_SPKG([pinentry], [libiconv gtk+])
 GPG4WIN_SPKG([gpgme], [libgpg-error gnupg2 glib])
@@ -378,7 +373,6 @@ GPG4WIN_SPKG([gnupg2], [libiconv libgcrypt libksba libassuan libgpg-error dnl
                         w32pth zlib bzip2 adns pinentry])
 GPG4WIN_SPKG([pthreads-w32])
 GPG4WIN_SPKG([gpgol], [gpgme libassuan])
-GPG4WIN_SPKG([gpgex], [libassuan])
 GPG4WIN_SPKG([scute], [libgpg-error libassuan])
 GPG4WIN_SPKG([paperkey])
 GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
@@ -393,6 +387,15 @@ GPG4WIN_SPKG([claws-mail], [libiconv gettext zlib gtk+ libpng enchant glib dnl
                             gpgme pthreads-w32 crypt regex libetpan gnutls dnl
                             libxml2])
 GPG4WIN_SPKG([gtkhtml2_viewer], [curl claws-mail libxml2])
+
+# Packages needed for gpgex
+GPG4WIN_SPKGEX([w32pth])
+GPG4WIN_SPKGEX([libiconv])
+GPG4WIN_SPKGEX([gettext], [libiconv])
+GPG4WIN_SPKGEX([libgpg-error], [libiconv gettext])
+GPG4WIN_SPKGEX([libassuan], [libgpg-error w32pth])
+GPG4WIN_SPKGEX([gpgex], [libassuan])
+
 GPG4WIN_IPKG([compendium])
 
 # Qt related stuff.
index d14e380..5baff1a 100644 (file)
 #
 server ftp://ftp.cs.tu-berlin.de/pub/gnu
 
-# checked: 2012-03-28 wk - No newer W32 binaries available
-file gettext/gettext-runtime-0.13.1.bin.woe32.zip
-chk  8cd55585429b5d696ac3745e065f8613de26f19c
-file gettext/gettext-0.13.1.tar.gz
-chk  fa46cb397cf6768f5ff4fdf1854514a9ced5b02b
-
-# checked: 2012-03-28 wk - No newer W32 binaries available
-file libiconv/libiconv-1.9.1.bin.woe32.zip
-chk  b57f5e8234975ec3cde340e101886135eb532329
-file libiconv/libiconv-1.9.1.tar.gz
-chk  f130c93fdf20903ca21bace8b8822f46468c9d65
+# checked: 2013-06-14 ah - Switched to latest release
+file gettext/gettext-0.18.2.1.tar.gz
+chk  86066950cac2fcc49cc7bd23f5ea16bed522b410
+
+# checked: 2013-06-28 ah - Latest release
+file libiconv/libiconv-1.14.tar.gz
+chk  be7d67e50d72ff067b2c0291311bc283add36965
 
 #
 # zlib
index 1d4e00e..440e0cd 100644 (file)
@@ -104,11 +104,25 @@ gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
                gpa libgsasl libtasn1 opencdk gnutls curl libxml2 \
                 libetpan claws-mail gtkhtml2_viewer \
                vcalendar rssyl gnupg2 pinentry libassuan libksba libgcrypt \
-               adns dirmngr w32pth scute paperkey regex
+               adns dirmngr w32pth scute paperkey regex libiconv gettext
+
+# Supported source packages to build in an additional architecture
+gpg4win_expkgs = libiconv gettext w32pth
 
 # Extra options to configure for individual packages.
 # We can use $(idir) here for the installation prefix.
 
+gpg4win_pkg_libiconv_ex_configure = \
+       --enable-shared=no --enable-static=yes
+
+# Optimization flags for gettext are neccessary because of
+# http://savannah.gnu.org/bugs/?36443
+# Still some issues with gettext-tools
+gpg4win_pkg_gettext_configure = \
+  --with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
+  CPPFLAGS="-I$(idir)/include -O2" CFLAGS=-O2 \
+  LDFLAGS=-L$(idir)/lib CCC=$(host)-g++
+
 gpg4win_pkg_glib_configure = \
   --disable-modular-tests \
   --with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
@@ -353,26 +367,26 @@ gpg4win_pkg_zlib_make_args_inst = -fwin32/Makefile.gcc install \
        LIBRARY_PATH=$$$${pkgidir}/lib SHARED_MODE=1 IMPLIB=libz.dll.a
 
 # Supported binary packages.
-gpg4win_bpkgs = libiconv gettext pkgconfig pango expat freetype fontconfig \
+gpg4win_bpkgs = pkgconfig pango expat freetype fontconfig \
                 cairo atk qt dbus oxygen-icons kleopatra bsfilter
 
 # libiconv needs some special magic to generate a usable import
 # library.
-define gpg4win_pkg_libiconv_post_install
-(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib;          \
-cd $$$${pkgidir}/lib;                                  \
-$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
-endef
+define gpg4win_pkg_libiconv_post_install
+# (cp $(srcdir)/libiconv.def $$$${pkgidir}/lib;                \
+# cd $$$${pkgidir}/lib;                                        \
+$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
+endef
 
 # libiconv needs some special magic to generate a usable import
 # library.  Note that we include some internal symbols that are not
 # actually part of the DLL.  They are needed by the AM_GNU_GETTEXT
 # configure test, but not used otherwise.
-define gpg4win_pkg_gettext_post_install
-(cp $(srcdir)/libintl.def $$$${pkgidir}/lib;           \
-cd $$$${pkgidir}/lib;                                  \
-$(DLLTOOL) --output-lib libintl.dll.a --def libintl.def)
-endef
+define gpg4win_pkg_gettext_post_install
+# (cp $(srcdir)/libintl.def $$$${pkgidir}/lib;         \
+# cd $$$${pkgidir}/lib;                                        \
+$(DLLTOOL) --output-lib libintl.dll.a --def libintl.def)
+endef
 
 
 # Zlib needs some special magic to generate a libtool file.
@@ -404,9 +418,12 @@ endef
 
 # We need to fix the prefix in the various packages using pkgconfig,
 # or we can't substitute it properly in our pkg-config wrapper.
+# glib also installs an empty charset.alias for mingw which creates
+# a stow conflict with the one from iconv.
 define gpg4win_pkg_glib_post_install
  (cd $$$${pkgidir};                                                    \
- perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`)
+ perl -pi -e 's/^prefix=.*$$$$/prefix=\/usr/' `find . -name \*.pc`; \
+ rm $$$${pkgidir}/lib/charset.alias)
 endef
 
 define gpg4win_pkg_libffi_post_install
@@ -485,11 +502,11 @@ define gpg4win_pkg_kleopatra_post_install
 endef
 
 
-define gpg4win_pkg_libiconv_post_install
-(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib;          \
-cd $$$${pkgidir}/lib;                                  \
-$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
-endef
+#define gpg4win_pkg_libiconv_post_install
+#(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib;         \
+#cd $$$${pkgidir}/lib;                                 \
+#$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
+#endef
 
 # Qt is missing the pkgconfig files.
 define gpg4win_pkg_qt_post_install