[evolution] [Win32] Update some of the libraries to more recent versions



commit 0f9663749b296a4f67dda243af1db780b1e9901f
Author: Milan Crha <mcrha redhat com>
Date:   Sun Jul 12 20:02:09 2015 +0200

    [Win32] Update some of the libraries to more recent versions

 win32/Makefile                |  109 +++---
 win32/patches/atk.patch       |   11 -
 win32/patches/gcr.patch       |  951 ++++++++++++++++++++++-------------------
 win32/patches/gtk.patch       |  170 ++------
 win32/patches/libepoxy.patch  |   52 +++
 win32/patches/libical.patch   |  233 +++++++++--
 win32/patches/libtasn1.patch  |   42 --
 win32/patches/nettle.patch    |   69 +++
 win32/patches/openldap.patch  |  128 +++++--
 win32/patches/p11-kit.patch   |   63 +---
 win32/patches/webkitgtk.patch |  727 -------------------------------
 11 files changed, 1031 insertions(+), 1524 deletions(-)
---
diff --git a/win32/Makefile b/win32/Makefile
index d9d3647..84bb00c 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -30,7 +30,7 @@ evo: evolution
 ews: evolution-ews
 rss: evolution-rss
 
-dependencies: core-tools zlib fake-gtk-doc gnome-common dbus glib gtk librsvg2 icon-themes 
gsettings-desktop-schemas shared-mime-info libsoup nss liboauth libgdata libgweather openldap libical 
iso-codes enchant gtkspell gcr webkitgtk gtkhtml
+dependencies: core-tools zlib fake-gtk-doc gnome-common dbus glib gtk librsvg2 icon-themes 
gsettings-desktop-schemas shared-mime-info libsoup nss liboauth libgdata libgweather openldap libical 
iso-codes enchant gtkspell gcr webkitgtk
 addons: evolution-ews evolution-rss
 evolution-data-server: dependencies evolution-data-server$(EVO_BUILD_SUFFIX)
 evolution: evolution$(EVO_BUILD_SUFFIX)
@@ -67,7 +67,7 @@ $(BUILD_ROOT_EVO)/lib/pkgconfig/evolution-shell-3.0.pc:
        @if test ! -f "../../evolution/gtk-doc.make" ; then \
                cp "patches/gtk-doc.make" "../../evolution/"; \
        fi
-       @./build acmmi "$(BUILD_ROOT_EVO)" ../../../evolution "" "--enable-plugins=all --enable-weather 
--disable-canberra --disable-contact-maps --disable-goa --disable-libcryptui --disable-bogofilter 
--disable-spamassassin --disable-text-highlight --disable-pst-import --disable-gnome-desktop --disable-autoar 
--without-clutter --without-help $(DISABLE_GTK_DOC)" $(VERBOSE)
+       @./build acmmi "$(BUILD_ROOT_EVO)" ../../../evolution "" "--enable-plugins=all --enable-weather 
--disable-canberra --disable-contact-maps --disable-goa --disable-libcryptui --without-bogofilter 
--without-spamassassin --disable-text-highlight --disable-pst-import --disable-gnome-desktop --disable-autoar 
--without-clutter --without-help $(DISABLE_GTK_DOC)" $(VERBOSE)
 
 evolution-ews-master: env evolution-master $(BUILD_ROOT_EVO)/lib/evolution-data-server/libeews-1.2.dll.a
 
@@ -80,7 +80,6 @@ $(BUILD_ROOT_EVO)/lib/evolution-data-server/libeews-1.2.dll.a:
                cp "patches/gtk-doc.make" "../../evolution-ews/"; \
        fi
        @./build acmmi "$(BUILD_ROOT_EVO)" ../../../evolution-ews "" "--with-internal-lzx" $(VERBOSE)
-       @mv $(BUILD_ROOT_EVO)/lib/bin/* $(BUILD_ROOT_EVO)/bin/
 
 evolution-rss-master: env evolution-master 
$(BUILD_ROOT_EVO)/share/glib-2.0/schemas/org.gnome.evolution.plugin.evolution-rss.gschema.xml
 
@@ -97,8 +96,8 @@ $(BUILD_ROOT_EVO)/share/glib-2.0/schemas/org.gnome.evolution.plugin.evolution-rs
 gcr: env gtk dbus $(BUILD_ROOT_DEPS)/lib/pkgconfig/gcr-3.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/gcr-3.pc:
-       @./get-src https://download.gnome.org/sources/gcr/3.10 gcr-3.10.1.tar.xz
-       @./build acmmi "$(BUILD_ROOT_DEPS)" gcr-3.10.1 "gcr.patch" "$(DISABLE_GTK_DOC)" $(VERBOSE)
+       @./get-src https://download.gnome.org/sources/gcr/3.16 gcr-3.16.0.tar.xz
+       @./build acmmi "$(BUILD_ROOT_DEPS)" gcr-3.16.0 "gcr.patch" "$(DISABLE_GTK_DOC)" $(VERBOSE)
 
 shared-mime-info: env $(BUILD_ROOT_DEPS)/share/pkgconfig/shared-mime-info.pc
 
@@ -109,14 +108,14 @@ $(BUILD_ROOT_DEPS)/share/pkgconfig/shared-mime-info.pc:
 glib: env zlib libxml2 libffi fake-gtk-doc $(BUILD_ROOT_DEPS)/lib/pkgconfig/glib-2.0.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/glib-2.0.pc:
-       @./get-src https://download.gnome.org/sources/glib/2.40 glib-2.40.0.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" glib-2.40.0 "" "--disable-static" $(VERBOSE)
+       @./get-src https://download.gnome.org/sources/glib/2.44 glib-2.44.1.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" glib-2.44.1 "" "--disable-static" $(VERBOSE)
 
 glib-networking: env glib gnutls $(BUILD_ROOT_DEPS)/lib/gio/modules/libgiognutls.la
 
 $(BUILD_ROOT_DEPS)/lib/gio/modules/libgiognutls.la:
-       @./get-src https://download.gnome.org/sources/glib-networking/2.40 glib-networking-2.40.1.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" glib-networking-2.40.1 "" "--without-ca-certificates" $(VERBOSE)
+       @./get-src https://download.gnome.org/sources/glib-networking/2.44 glib-networking-2.44.0.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" glib-networking-2.44.0 "" "--without-ca-certificates" $(VERBOSE)
 
 libmspack: env $(BUILD_ROOT_DEPS)/lib/pkgconfig/libmspack.pc
 
@@ -127,16 +126,16 @@ $(BUILD_ROOT_DEPS)/lib/pkgconfig/libmspack.pc:
 libsoup: env glib-networking sqlite $(BUILD_ROOT_DEPS)/lib/pkgconfig/libsoup-2.4.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/libsoup-2.4.pc:
-       @./get-src https://download.gnome.org/sources/libsoup/2.44 libsoup-2.44.2.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" libsoup-2.44.2 "" "--disable-tls-check $(DISABLE_GTK_DOC)" 
$(VERBOSE)
+       @./get-src https://download.gnome.org/sources/libsoup/2.50 libsoup-2.50.0.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" libsoup-2.50.0 "" "--disable-tls-check $(DISABLE_GTK_DOC)" 
$(VERBOSE)
 
 libical: env tzdata cmake $(BUILD_ROOT_DEPS)/lib/pkgconfig/libical.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/libical.pc:
-       @./get-src 
"http://downloads.sourceforge.net/project/freeassociation/libical/libical-1.0/libical-1.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Ffreeassociation%2Ffiles%2Flibical%2Flibical-1.0%2F&ts=1395872482&use_mirror=cznic";
 "0" libical-1.0.tar.gz
-       @cd src/libical-1.0 && \
+       @./get-src "https://github.com/libical/libical/archive/v1.0.1/libical-1.0.1.tar.gz"; "0" 
libical-1.0.1.tar.gz || (mv downloads/v1.0.1 downloads/libical-1.0.1.tar.gz && (tar -xf 
downloads/libical-1.0.1.tar.gz --directory=src/ || echo "Error ignored."))
+       @cd src/libical-1.0.1 && \
        cmake -G "MSYS Makefiles" -DCMAKE_PREFIX_PATH=$(BUILD_ROOT_DEPS) 
-DCMAKE_INSTALL_PREFIX=$(BUILD_ROOT_DEPS) .
-       @./build mmi "$(BUILD_ROOT_DEPS)" libical-1.0 "libical.patch" "" $(VERBOSE)
+       @./build mmi "$(BUILD_ROOT_DEPS)" libical-1.0.1 "libical.patch" "" $(VERBOSE)
 
 libgweather: env libsoup tzdata $(BUILD_ROOT_DEPS)/lib/pkgconfig/gweather-3.0.pc
 
@@ -197,8 +196,8 @@ $(BUILD_ROOT_DEPS)/bin/nsinstall.exe:
 gnutls: env zlib gmp nettle p11-kit $(BUILD_ROOT_DEPS)/lib/pkgconfig/gnutls.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/gnutls.pc:
-       @./get-src ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2 gnutls-3.2.12.1.tar.xz "" "" "gnutls-3.2.12"
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gnutls-3.2.12 "@gnutls.patch" "--disable-guile --disable-doc 
--disable-libdane --disable-crywrap" $(VERBOSE)
+       @./get-src ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4 gnutls-3.4.2.tar.xz "" "" "gnutls-3.4.2"
+       @./build cmmi "$(BUILD_ROOT_DEPS)" gnutls-3.4.2 "@gnutls.patch" "--disable-guile --disable-doc 
--disable-libdane --disable-crywrap" $(VERBOSE)
 
 gnupg: env gnutls pth libassuan libksba $(BUILD_ROOT_DEPS)/bin/gpg2.exe
 
@@ -245,8 +244,8 @@ $(BUILD_ROOT_DEPS)/lib/pkgconfig/sqlite3.pc:
 nettle: env $(BUILD_ROOT_DEPS)/lib/pkgconfig/nettle.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/nettle.pc:
-       @./get-src http://www.lysator.liu.se/~nisse/archive nettle-2.7.1.tar.gz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" nettle-2.7.1 "" "" $(VERBOSE)
+       @./get-src http://www.lysator.liu.se/~nisse/archive nettle-3.1.tar.gz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" nettle-3.1 "nettle.patch" "" $(VERBOSE)
 
 gmp: env $(BUILD_ROOT_DEPS)/lib/libgmp.la
 
@@ -257,8 +256,8 @@ $(BUILD_ROOT_DEPS)/lib/libgmp.la:
 p11-kit: env libtasn1 $(BUILD_ROOT_DEPS)/lib/pkgconfig/p11-kit-1.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/p11-kit-1.pc:
-       @./get-src http://cgit.freedesktop.org/p11-glue/p11-kit/snapshot p11-kit-98292d6bbc.tar.gz
-       @./build acmmi "$(BUILD_ROOT_DEPS)" p11-kit-98292d6bbc "p11-kit.patch" "--disable-rpath 
--disable-trust-module --without-trust-paths" $(VERBOSE)
+       @./get-src http://cgit.freedesktop.org/p11-glue/p11-kit/snapshot p11-kit-ec9e2450ba.tar.gz
+       @./build acmmi "$(BUILD_ROOT_DEPS)" p11-kit-ec9e2450ba "p11-kit.patch" "--disable-rpath 
--disable-trust-module --without-trust-paths" $(VERBOSE)
 
 trousers: env openssl $(BUILD_ROOT_DEPS)/lib/pkgconfig/trousers.pc
 
@@ -308,8 +307,8 @@ $(BUILD_ROOT_DEPS)/lib/libncurses.a:
 openldap: env regex gnutls libgpg-error libgcrypt $(BUILD_ROOT_DEPS)/lib/libldap.la
 
 $(BUILD_ROOT_DEPS)/lib/libldap.la:
-       @./get-src ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release openldap-2.4.9.tgz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" openldap-2.4.9 "@openldap.patch" "--disable-backends 
--disable-overlays --disable-slapd --disable-debug --enable-dynamic --without-threads --with-tls=gnutls" 
$(VERBOSE)
+       @./get-src ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release openldap-2.4.39.tgz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" openldap-2.4.39 "@openldap.patch" "--disable-backends 
--disable-overlays --disable-slapd --disable-debug --enable-dynamic --without-threads --with-tls=gnutls" 
$(VERBOSE)
 
 libgpg-error: env gnutls $(BUILD_ROOT_DEPS)/lib/libgpg-error.la
 
@@ -361,12 +360,6 @@ $(BUILD_ROOT_DEPS)/lib/pkgconfig/gtkspell3-3.0.pc:
        @./get-src 
"http://downloads.sourceforge.net/project/gtkspell/3.0.4/gtkspell3-3.0.4.tar.gz?r=http%3A%2F%2Fgtkspell.sourceforge.net%2F&ts=1395867752&use_mirror=skylink";
 "0" gtkspell3-3.0.4.tar.gz
        @./build cmmi "$(BUILD_ROOT_DEPS)" gtkspell3-3.0.4 "" "$(DISABLE_GTK_DOC)" $(VERBOSE)
 
-gtkhtml: env $(BUILD_ROOT_DEPS)/lib/pkgconfig/libgtkhtml-4.0.pc
-
-$(BUILD_ROOT_DEPS)/lib/pkgconfig/libgtkhtml-4.0.pc:
-       @./get-src https://download.gnome.org/sources/gtkhtml/4.8 gtkhtml-4.8.0.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gtkhtml-4.8.0 "" "$(DISABLE_GTK_DOC)" $(VERBOSE)
-
 gnome-common: env $(BUILD_ROOT_DEPS)/share/aclocal/gnome-common.m4
 
 $(BUILD_ROOT_DEPS)/share/aclocal/gnome-common.m4:
@@ -376,8 +369,8 @@ $(BUILD_ROOT_DEPS)/share/aclocal/gnome-common.m4:
 webkitgtk: env gtk enchant libsoup ruby gperf libwebp icu libsecret libxslt 
$(BUILD_ROOT_DEPS)/lib/pkgconfig/webkitgtk-3.0.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/webkitgtk-3.0.pc:
-       @./get-src http://webkitgtk.org/releases webkitgtk-2.4.4.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" webkitgtk-2.4.4 "webkitgtk.patch" "--enable-win32-target 
--enable-spellcheck --enable-jit --disable-geolocation --disable-video --disable-web-audio --disable-webgl 
--disable-accelerated-compositing --disable-glx --disable-egl --disable-gles2 --disable-webkit2 
$(DISABLE_GTK_DOC)" $(VERBOSE)
+       @./get-src http://webkitgtk.org/releases webkitgtk-2.4.9.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" webkitgtk-2.4.9 "" "--enable-win32-target --enable-spellcheck 
--enable-jit --disable-geolocation --disable-video --disable-web-audio --disable-webgl 
--disable-accelerated-compositing --disable-glx --disable-egl --disable-gles2 --disable-webkit2 
$(DISABLE_GTK_DOC)" $(VERBOSE)
 
 ruby: env 7zip $(BUILD_ROOT_DEPS)/bin/ruby.exe
 
@@ -463,8 +456,8 @@ $(BUILD_ROOT_DEPS)/lib/pkgconfig/libunistring.pc:
 libtasn1: env $(BUILD_ROOT_DEPS)/lib/pkgconfig/libtasn1.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/libtasn1.pc:
-       @./get-src http://ftp.gnu.org/gnu/libtasn1 libtasn1-3.4.tar.gz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" libtasn1-3.4 "@libtasn1.patch" "" $(VERBOSE)
+       @./get-src http://ftp.gnu.org/gnu/libtasn1 libtasn1-4.5.tar.gz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" libtasn1-4.5 "" "" $(VERBOSE)
 
 openssl: env $(BUILD_ROOT_DEPS)/lib/pkgconfig/openssl.pc
 
@@ -472,29 +465,35 @@ $(BUILD_ROOT_DEPS)/lib/pkgconfig/openssl.pc:
        @./get-src http://www.openssl.org/source openssl-1.0.1g.tar.gz
        @./build cmmi "$(BUILD_ROOT_DEPS)" openssl-1.0.1g "" "mingw" $(VERBOSE)
 
-gtk: env glib intltool atk gdk-pixbuf cairo pango $(BUILD_ROOT_DEPS)/lib/pkgconfig/gtk+-3.0.pc
+gtk: env glib intltool atk gdk-pixbuf cairo pango libepoxy $(BUILD_ROOT_DEPS)/lib/pkgconfig/gtk+-3.0.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/gtk+-3.0.pc:
-       @./get-src https://download.gnome.org/sources/gtk+/3.10 gtk+-3.10.6.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gtk+-3.10.6 "gtk.patch" "--disable-static $(DISABLE_GTK_DOC) 
--disable-man" $(VERBOSE)
+       @./get-src https://download.gnome.org/sources/gtk+/3.16 gtk+-3.16.4.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" gtk+-3.16.4 "gtk.patch" "--disable-static $(DISABLE_GTK_DOC) 
--disable-man" $(VERBOSE)
+
+libepoxy: env glib intltool cairo pango $(BUILD_ROOT_DEPS)/lib/pkgconfig/epoxy.pc
+
+$(BUILD_ROOT_DEPS)/lib/pkgconfig/epoxy.pc:
+       @./get-src https://github.com/anholt/libepoxy/archive/v1.2.tar.gz "0" "libepoxy-1.2.tar.gz" || (mv 
downloads/v1.2 downloads/libepoxy-1.2.tar.gz && tar -xf downloads/libepoxy-1.2.tar.gz --directory=src/)
+       @./build acmmi "$(BUILD_ROOT_DEPS)" libepoxy-1.2 "libepoxy.patch" "" $(VERBOSE)
 
 atk: env glib $(BUILD_ROOT_DEPS)/lib/pkgconfig/atk.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/atk.pc:
-       @./get-src https://download.gnome.org/sources/atk/2.10 atk-2.10.0.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" atk-2.10.0 "atk.patch" "--disable-static" $(VERBOSE)
+       @./get-src https://download.gnome.org/sources/atk/2.16 atk-2.16.0.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" atk-2.16.0 "atk.patch" "--disable-static" $(VERBOSE)
 
 cairo: env glib pixman libpng freetype fontconfig $(BUILD_ROOT_DEPS)/lib/pkgconfig/cairo.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/cairo.pc:
-       @./get-src http://cairographics.org/releases cairo-1.12.16.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" cairo-1.12.16 "" "--disable-static $(DISABLE_GTK_DOC)" $(VERBOSE)
+       @./get-src http://cairographics.org/releases cairo-1.14.2.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" cairo-1.14.2 "" "--disable-static $(DISABLE_GTK_DOC)" $(VERBOSE)
 
 pixman: env $(BUILD_ROOT_DEPS)/lib/pkgconfig/pixman-1.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/pixman-1.pc:
-       @./get-src http://cairographics.org/releases pixman-0.32.4.tar.gz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" pixman-0.32.4 "" "--disable-static" $(VERBOSE)
+       @./get-src http://cairographics.org/releases pixman-0.32.6.tar.gz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" pixman-0.32.6 "" "--disable-static" $(VERBOSE)
 
 libpng: env zlib $(BUILD_ROOT_DEPS)/lib/pkgconfig/libpng.pc
 
@@ -531,10 +530,10 @@ $(BUILD_ROOT_DEPS)/lib/pkgconfig/librsvg-2.0.pc:
 pango: env glib cairo fontconfig freetype harfbuzz $(BUILD_ROOT_DEPS)/lib/pkgconfig/pango.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/pango.pc:
-       @./get-src http://ftp.gnome.org/pub/GNOME/sources/pango/1.36 pango-1.36.1.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" pango-1.36.1 "" "" $(VERBOSE)
+       @./get-src http://ftp.gnome.org/pub/GNOME/sources/pango/1.36 pango-1.36.8.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" pango-1.36.8 "" "" $(VERBOSE)
 
-icon-themes: hicolor-icon-theme icon-naming-utils gnome-icon-theme gnome-icon-theme-symbolic
+icon-themes: hicolor-icon-theme icon-naming-utils adwaita-icon-theme
 
 hicolor-icon-theme: env $(BUILD_ROOT_DEPS)/share/icons/hicolor/index.theme
 
@@ -554,23 +553,17 @@ $(BUILD_ROOT_DEPS)/share/pkgconfig/icon-naming-utils.pc:
        @./get-src http://tango.freedesktop.org/releases icon-naming-utils-0.8.90.tar.gz
        @./build cmmi "$(BUILD_ROOT_DEPS)" icon-naming-utils-0.8.90 "" "" $(VERBOSE)
 
-gnome-icon-theme: env icon-naming-utils gtk $(BUILD_ROOT_DEPS)/share/pkgconfig/gnome-icon-theme.pc
-
-$(BUILD_ROOT_DEPS)/share/pkgconfig/gnome-icon-theme.pc:
-       @./get-src https://download.gnome.org/sources/gnome-icon-theme/3.10 gnome-icon-theme-3.10.0.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gnome-icon-theme-3.10.0 "" "" $(VERBOSE)
-
-gnome-icon-theme-symbolic: env gnome-icon-theme 
$(BUILD_ROOT_DEPS)/share/pkgconfig/gnome-icon-theme-symbolic.pc
+adwaita-icon-theme: env icon-naming-utils gtk $(BUILD_ROOT_DEPS)/share/pkgconfig/adwaita-icon-theme.pc
 
-$(BUILD_ROOT_DEPS)/share/pkgconfig/gnome-icon-theme-symbolic.pc:
-       @./get-src https://download.gnome.org/sources/gnome-icon-theme-symbolic/3.10 
gnome-icon-theme-symbolic-3.10.1.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gnome-icon-theme-symbolic-3.10.1 "" "" $(VERBOSE)
+$(BUILD_ROOT_DEPS)/share/pkgconfig/adwaita-icon-theme.pc:
+       @./get-src https://download.gnome.org/sources/adwaita-icon-theme/3.16 adwaita-icon-theme-3.16.2.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" adwaita-icon-theme-3.16.2 "" "" $(VERBOSE)
 
 gdk-pixbuf: env giflib libpng libjpeg libtiff jasper glib $(BUILD_ROOT_DEPS)/lib/pkgconfig/gdk-pixbuf-2.0.pc
 
 $(BUILD_ROOT_DEPS)/lib/pkgconfig/gdk-pixbuf-2.0.pc:
-       @./get-src https://download.gnome.org/sources/gdk-pixbuf/2.30 gdk-pixbuf-2.30.2.tar.xz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gdk-pixbuf-2.30.2 "" "--disable-static --with-libjasper" $(VERBOSE)
+       @./get-src https://download.gnome.org/sources/gdk-pixbuf/2.30 gdk-pixbuf-2.30.8.tar.xz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" gdk-pixbuf-2.30.8 "" "--disable-static --with-libjasper" $(VERBOSE)
 
 libcroco: env glib $(BUILD_ROOT_DEPS)/lib/pkgconfig/libcroco-0.6.pc
 
@@ -704,8 +697,8 @@ $(BUILD_ROOT_DEPS)/bin/iconv.exe:
 gettext: env $(BUILD_ROOT_DEPS)/bin/gettext.exe
 
 $(BUILD_ROOT_DEPS)/bin/gettext.exe:
-       @./get-src http://ftp.gnu.org/pub/gnu/gettext gettext-0.18.3.1.tar.gz
-       @./build cmmi "$(BUILD_ROOT_DEPS)" gettext-0.18.3.1 "@gettext.patch" "" $(VERBOSE)
+       @./get-src http://ftp.gnu.org/pub/gnu/gettext gettext-0.19.4.tar.gz
+       @./build cmmi "$(BUILD_ROOT_DEPS)" gettext-0.19.4 "@gettext.patch" "" $(VERBOSE)
 
 bison: env $(BUILD_ROOT_DEPS)/bin/bison.exe
 
diff --git a/win32/patches/gcr.patch b/win32/patches/gcr.patch
index 1ba13b8..6270a31 100644
--- a/win32/patches/gcr.patch
+++ b/win32/patches/gcr.patch
@@ -1,7 +1,7 @@
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/configure.ac gcr-3.10.1/configure.ac
---- gcr-3.10.1.old/configure.ac        2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/configure.ac    2014-06-20 21:46:28 +0000
-@@ -62,20 +62,44 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GET
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/configure.ac gcr-3.16.0/configure.ac
+--- gcr-3.16.0.old/configure.ac        2015-05-12 14:27:59 +0000
++++ gcr-3.16.0/configure.ac    2015-07-10 18:39:01 +0000
+@@ -79,15 +79,42 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GET
  AC_SUBST(GETTEXT_PACKAGE)
  AM_GLIB_GNU_GETTEXT
  
@@ -26,29 +26,44 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/configure.ac gcr-3.10.1/con
  # GLib and GTK+ stuff
  
 +GIO_PLAT=
++GTK_PLAT=
 +if test "$os_win32" = "yes" ; then
 +      GIO_PLAT=gio-windows-2.0
++      GTK_PLAT=gtk+-win32-3.0
 +else
 +      GIO_PLAT=gio-unix-2.0
++      GTK_PLAT=gtk+-x11-3.0
 +fi
 +
  PKG_CHECK_MODULES(GLIB,
-       glib-2.0 >= 2.32.0
+       glib-2.0 >= $GLIB_REQ
        gmodule-no-export-2.0
        gthread-2.0
        gobject-2.0
 -      gio-2.0 gio-unix-2.0)
 +      gio-2.0 $GIO_PLAT)
+ GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=$GLIB_MIN"
+ GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MAX_ALLOWED=$GLIB_MAX"
  AC_SUBST(GLIB_CFLAGS)
- AC_SUBST(GLIB_LIBS)
+@@ -99,7 +126,7 @@ AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
+ 
+ GTK_DOC_CHECK(1.9)
  
- GLIB_GSETTINGS
 -GOBJECT_INTROSPECTION_CHECK([1.34])
 +dnl GOBJECT_INTROSPECTION_CHECK([1.34])
- AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
- AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
- 
-@@ -107,7 +131,7 @@ fi
+ if test "$enable_introspection" = "yes"; then
+       AC_PATH_PROG(XSLTPROC, xsltproc,
+                    AC_MSG_ERROR([Need xsltproc in order to build with gobject introspection])
+@@ -116,7 +143,7 @@ AC_ARG_WITH(gtk, [
+ AM_CONDITIONAL(WITH_GTK, test "$with_gtk" != "no")
+ 
+ if test "x$with_gtk" != "xno"; then
+-      PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQ gtk+-x11-3.0 >= $GTK_REQ)
++      PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQ $GTK_PLAT >= $GTK_REQ)
+       AC_SUBST(GTK_CFLAGS)
+       AC_SUBST(GTK_LIBS)
+ fi
+@@ -132,7 +159,7 @@ fi
  
  VALA_REQUIRED=0.18.0.22
  
@@ -57,7 +72,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/configure.ac gcr-3.10.1/con
  
  if test "$enable_vala" != "no"; then
        AC_PATH_PROG([VALAC], [valac], [])
-@@ -120,6 +144,8 @@ AM_CONDITIONAL(HAVE_VALAC, test "x$VALAC
+@@ -145,6 +172,8 @@ AM_CONDITIONAL(HAVE_VALAC, test "x$VALAC
  
  AC_CHECK_FUNCS(timegm, AC_DEFINE(HAVE_TIMEGM,1,[Have timegm]))
  AC_CHECK_FUNCS(mlock)
@@ -66,7 +81,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/configure.ac gcr-3.10.1/con
  
  # --------------------------------------------------------------------
  # p11-kit
-@@ -370,6 +396,9 @@ else
+@@ -383,6 +412,9 @@ else
        valgrind_status="no"
  fi
  
@@ -76,10 +91,103 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/configure.ac gcr-3.10.1/con
  # ----------------------------------------------------------------------
  
  GCK_LT_RELEASE=$GCK_CURRENT:$GCK_REVISION:$GCK_AGE
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-armor.c gcr-3.10.1/egg/egg-armor.c
---- gcr-3.10.1.old/egg/egg-armor.c     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/egg/egg-armor.c 2014-06-20 21:46:28 +0000
-@@ -60,6 +60,29 @@ EGG_SECURE_DECLARE (armor);
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/egg/Makefile.am gcr-3.16.0/egg/Makefile.am
+--- gcr-3.16.0.old/egg/Makefile.am     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/egg/Makefile.am 2015-07-10 18:45:32 +0000
+@@ -4,8 +4,7 @@ noinst_LTLIBRARIES += \
+       libegg.la \
+       libegg-asn1x.la \
+       libegg-hex.la \
+-      libegg-secmem.la \
+-      libegg-test.la
++      libegg-secmem.la
+ 
+ libegg_la_CFLAGS = \
+       $(GLIB_CFLAGS) \
+@@ -58,15 +57,6 @@ libegg_hex_la_LIBADD = \
+ libegg_secmem_la_SOURCES = \
+       egg/egg-secure-memory.c egg/egg-secure-memory.h
+ 
+-libegg_test_la_SOURCES = \
+-      egg/egg-testing.c egg/egg-testing.h
+-
+-libegg_test_la_CFLAGS = \
+-      $(GLIB_CFLAGS)
+-
+-libegg_test_la_LIBADD = \
+-      $(GLIB_LIBS)
+-
+ # -------------------------------------------------------------------
+ 
+ egg_LDADD =  \
+@@ -74,63 +64,6 @@ egg_LDADD =  \
+       $(LIBGCRYPT_LIBS) \
+       $(GLIB_LIBS)
+ 
+-egg_TESTS = \
+-      test-asn1 \
+-      test-asn1x \
+-      test-dn \
+-      test-decimal \
+-      test-hex \
+-      test-hkdf \
+-      test-oid \
+-      test-secmem \
+-      test-padding \
+-      test-symkey \
+-      test-armor \
+-      test-openssl \
+-      test-dh
+-
+-test_armor_SOURCES = egg/test-armor.c
+-test_armor_LDADD = $(egg_LDADD)
+-
+-test_asn1_SOURCES = egg/test-asn1.c egg/test.asn.h
+-test_asn1_LDADD = $(egg_LDADD)
+-
+-test_asn1x_SOURCES = egg/test-asn1x.c
+-test_asn1x_LDADD = $(egg_LDADD)
+-
+-test_decimal_SOURCES = egg/test-decimal.c
+-test_decimal_LDADD = $(egg_LDADD)
+-
+-test_dh_SOURCES = egg/test-dh.c
+-test_dh_LDADD = $(egg_LDADD)
+-
+-test_dn_SOURCES = egg/test-dn.c
+-test_dn_LDADD = $(egg_LDADD)
+-
+-test_hex_SOURCES = egg/test-hex.c
+-test_hex_LDADD = $(egg_LDADD)
+-
+-test_hkdf_SOURCES = egg/test-hkdf.c
+-test_hkdf_LDADD = $(egg_LDADD)
+-
+-test_oid_SOURCES = egg/test-oid.c
+-test_oid_LDADD = $(egg_LDADD)
+-
+-test_openssl_SOURCES = egg/test-openssl.c
+-test_openssl_LDADD = $(egg_LDADD)
+-
+-test_padding_SOURCES = egg/test-padding.c
+-test_padding_LDADD = $(egg_LDADD)
+-
+-test_secmem_SOURCES = egg/test-secmem.c
+-test_secmem_LDADD = $(egg_LDADD)
+-
+-test_symkey_SOURCES = egg/test-symkey.c
+-test_symkey_LDADD = $(egg_LDADD)
+-
+-check_PROGRAMS += $(egg_TESTS)
+-TESTS += $(egg_TESTS)
+-
+ ASN_SRCS = \
+       egg/pk.asn \
+       egg/pkix.asn \
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/egg/egg-armor.c gcr-3.16.0/egg/egg-armor.c
+--- gcr-3.16.0.old/egg/egg-armor.c     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/egg/egg-armor.c 2015-07-10 18:39:01 +0000
+@@ -59,6 +59,29 @@ EGG_SECURE_DECLARE (armor);
  #define ARMOR_PREF_END      "-----END "
  #define ARMOR_PREF_END_L    9
  
@@ -109,10 +217,10 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-armor.c gcr-3.10.1/
  static void
  parse_header_lines (const gchar *hbeg,
                      const gchar *hend,
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-asn1x.c gcr-3.10.1/egg/egg-asn1x.c
---- gcr-3.10.1.old/egg/egg-asn1x.c     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/egg/egg-asn1x.c 2014-06-20 21:46:28 +0000
-@@ -1929,7 +1929,7 @@ static int
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/egg/egg-asn1x.c gcr-3.16.0/egg/egg-asn1x.c
+--- gcr-3.16.0.old/egg/egg-asn1x.c     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/egg/egg-asn1x.c 2015-07-10 18:39:01 +0000
+@@ -1928,7 +1928,7 @@ static int
  two_to_four_digit_year (int year)
  {
        time_t now;
@@ -121,7 +229,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-asn1x.c gcr-3.10.1/
        int century, current;
  
        g_return_val_if_fail (year >= 0 && year <= 99, -1);
-@@ -1937,11 +1937,15 @@ two_to_four_digit_year (int year)
+@@ -1936,11 +1936,15 @@ two_to_four_digit_year (int year)
        /* Get the current year */
        now = time (NULL);
        g_return_val_if_fail (now >= 0, -1);
@@ -140,10 +248,10 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-asn1x.c gcr-3.10.1/
  
        /*
         * Check if it's within 40 years before the
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c 
gcr-3.10.1/egg/egg-secure-memory.c
---- gcr-3.10.1.old/egg/egg-secure-memory.c     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/egg/egg-secure-memory.c 2014-06-20 21:46:28 +0000
-@@ -32,7 +32,9 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/egg/egg-secure-memory.c 
gcr-3.16.0/egg/egg-secure-memory.c
+--- gcr-3.16.0.old/egg/egg-secure-memory.c     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/egg/egg-secure-memory.c 2015-07-10 18:39:01 +0000
+@@ -31,7 +31,9 @@
  #include "egg-secure-memory.h"
  
  #include <sys/types.h>
@@ -153,7 +261,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
  #include <stddef.h>
  #include <string.h>
  #include <stdio.h>
-@@ -188,9 +190,11 @@ pool_alloc (void)
+@@ -187,9 +189,11 @@ pool_alloc (void)
  
        /* Create a new pool */
        if (pool == NULL) {
@@ -165,7 +273,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
                        return NULL;
  
                /* Fill in the block header, and inlude in block list */
-@@ -254,7 +258,9 @@ pool_free (void* item)
+@@ -253,7 +257,9 @@ pool_free (void* item)
                VALGRIND_DESTROY_MEMPOOL (pool);
  #endif
  
@@ -175,7 +283,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
                return;
        }
  
-@@ -860,11 +866,11 @@ sec_acquire_pages (size_t *sz,
+@@ -859,11 +865,11 @@ sec_acquire_pages (size_t *sz,
        ASSERT (*sz);
        ASSERT (during_tag);
  
@@ -188,7 +296,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
        pages = mmap (0, *sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
        if (pages == MAP_FAILED) {
                if (show_warning && egg_secure_warnings)
-@@ -902,9 +908,9 @@ static void
+@@ -901,9 +907,9 @@ static void
  sec_release_pages (void *pages, size_t sz)
  {
        ASSERT (pages);
@@ -199,7 +307,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
        if (munlock (pages, sz) < 0 && egg_secure_warnings)
                fprintf (stderr, "couldn't unlock private memory: %s\n", strerror (errno));
  
-@@ -914,7 +920,7 @@ sec_release_pages (void *pages, size_t s
+@@ -913,7 +919,7 @@ sec_release_pages (void *pages, size_t s
        DEBUG_ALLOC ("gkr-secure-memory: freed block ", sz);
  
  #else
@@ -208,7 +316,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
  #endif
  }
  
-@@ -937,6 +943,11 @@ sec_block_create (size_t size,
+@@ -936,6 +942,11 @@ sec_block_create (size_t size,
        if (getenv ("SECMEM_FORCE_FALLBACK"))
                return NULL;
  
@@ -220,99 +328,116 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/egg-secure-memory.c gcr
        block = pool_alloc ();
        if (!block)
                return NULL;
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/egg/tests/test-asn1x.c gcr-3.10.1/egg/tests/test-asn1x.c
---- gcr-3.10.1.old/egg/tests/test-asn1x.c      2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/egg/tests/test-asn1x.c  2014-06-20 21:46:28 +0000
-@@ -27,7 +27,9 @@
- #include "egg/egg-asn1-defs.h"
- #include "egg/egg-testing.h"
- 
-+#ifdef HAVE_PWD_H
- #include <pwd.h>
-+#endif
- #include <stdlib.h>
- #include <unistd.h>
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/Makefile.am gcr-3.10.1/gck/Makefile.am
---- gcr-3.10.1.old/gck/Makefile.am     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/Makefile.am 2014-06-20 21:46:28 +0000
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/Makefile.decl
- 
--SUBDIRS = . tests
-+SUBDIRS = .
- 
- incdir = $(includedir)/gck- GCK_MAJOR@/gck
- 
-@@ -77,16 +77,6 @@ libgck_ GCK_MAJOR@_la_LIBADD = \
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/gck/Makefile.am gcr-3.16.0/gck/Makefile.am
+--- gcr-3.16.0.old/gck/Makefile.am     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/gck/Makefile.am 2015-07-10 18:40:23 +0000
+@@ -72,23 +72,6 @@ libgck_ GCK_MAJOR@_la_LIBADD = \
        $(GIO_LIBS) \
        $(GLIB_LIBS)
  
--noinst_LTLIBRARIES = libgck-testable.la
+-noinst_LTLIBRARIES += libgck-testable.la
 -libgck_testable_la_SOURCES = \
--      gck-mock.c \
--      gck-mock.h \
--      gck-test.c \
--      gck-test.h
--libgck_testable_la_LIBADD = $(libgck_ GCK_MAJOR@_la_OBJECTS) \
--      $(libgck_ GCK_MAJOR@_la_LIBADD)
--libgck_testable_la_DEPENDENCIES = $(libgck_ GCK_MAJOR@_la_OBJECTS)
+-      gck/gck-mock.c gck/gck-mock.h \
+-      gck/gck-test.c gck/gck-test.h
 -
- gck-marshal.h: gck-marshal.list $(GLIB_GENMARSHAL)
-       $(GLIB_GENMARSHAL) $< --header --prefix=_gck_marshal > $@
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/gck-debug.c gcr-3.10.1/gck/gck-debug.c
---- gcr-3.10.1.old/gck/gck-debug.c     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/gck-debug.c 2014-06-20 21:46:28 +0000
-@@ -33,6 +33,11 @@
- 
- #include <unistd.h>
- 
-+#ifdef G_OS_WIN32
-+
-+#include <windows.h>
-+#endif
-+
- #ifdef WITH_DEBUG
- 
- static gsize initialized_flags = 0;
-@@ -69,21 +74,30 @@ on_gck_log_debug (const gchar *log_domai
- {
-       GString *gstring;
-       const gchar *progname;
-+#ifdef G_OS_WIN32
-+      DWORD pid = GetCurrentProcessId ();
-+#else
-+      pid_t pid = getpid ();
-+#endif
- 
-       gstring = g_string_new (NULL);
- 
-       progname = g_get_prgname ();
-       g_string_append_printf (gstring, "(%s:%lu): %s-DEBUG: %s\n",
-                               progname ? progname : "process",
--                              (gulong)getpid (), log_domain,
-+                              (gulong) pid, log_domain,
-                               message ? message : "(NULL) message");
- 
-+
-+#ifdef G_OS_WIN32
-+      g_print ("%s", gstring->str);
-+#else
-       /*
-        * Give up on debug messages if stdout got lost.
-        */
-       if (write (1, gstring->str, gstring->len) != gstring->len)
-               current_flags = 0;
+-libgck_testable_la_CFLAGS = \
+-      $(libgck_ GCK_MAJOR@_la_CFLAGS)
 -
-+#endif
-       g_string_free (gstring, TRUE);
- }
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/gck-slot.c gcr-3.10.1/gck/gck-slot.c
---- gcr-3.10.1.old/gck/gck-slot.c      2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/gck-slot.c  2014-06-20 21:46:28 +0000
-@@ -606,7 +606,7 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_IN
+-libgck_testable_la_LIBADD = \
+-      $(libgck_ GCK_MAJOR@_la_OBJECTS) \
+-      libegg-hex.la \
+-      libegg-secmem.la \
+-      $(P11_KIT_LIBS) \
+-      $(GIO_LIBS) \
+-      $(GLIB_LIBS)
+-EXTRA_libgck_testable_la_DEPENDENCIES = $(libgck_ GCK_MAJOR@_la_OBJECTS)
+-
+ gck/gck-marshal.h: gck/gck-marshal.list $(GLIB_GENMARSHAL)
+       $(AM_V_GEN) $(GLIB_GENMARSHAL) $< --header --prefix=_gck_marshal > $@
+ 
+@@ -187,78 +170,8 @@ gck_CFLAGS = \
+       $(GLIB_CFLAGS)
+ 
+ gck_LIBS =  \
+-      libgck-testable.la \
+       libegg-test.la \
+       libegg-hex.la \
+       $(GLIB_LIBS) \
+       $(P11_KIT_LIBS) \
+       $(GIO_LIBS)
+-
+-gck_TESTS = \
+-      test-gck-attributes \
+-      test-gck-module \
+-      test-gck-slot \
+-      test-gck-session \
+-      test-gck-object \
+-      test-gck-crypto \
+-      test-gck-uri \
+-      test-gck-enumerator \
+-      test-gck-modules
+-
+-test_gck_attributes_SOURCES = gck/test-gck-attributes.c
+-test_gck_attributes_CFLAGS = $(gck_CFLAGS)
+-test_gck_attributes_LDADD = $(gck_LIBS)
+-
+-test_gck_crypto_SOURCES = gck/test-gck-crypto.c
+-test_gck_crypto_CFLAGS = $(gck_CFLAGS)
+-test_gck_crypto_LDADD = $(gck_LIBS)
+-
+-test_gck_enumerator_SOURCES = \
+-      gck/test-gck-enumerator.c \
+-      gck/mock-interaction.c gck/mock-interaction.h
+-test_gck_enumerator_CFLAGS = $(gck_CFLAGS)
+-test_gck_enumerator_LDADD = $(gck_LIBS)
+-
+-test_gck_object_SOURCES = gck/test-gck-object.c
+-test_gck_object_CFLAGS = $(gck_CFLAGS)
+-test_gck_object_LDADD = $(gck_LIBS)
+-
+-test_gck_module_SOURCES = gck/test-gck-module.c
+-test_gck_module_CFLAGS = $(gck_CFLAGS)
+-test_gck_module_LDADD = $(gck_LIBS)
+-
+-test_gck_modules_SOURCES = gck/test-gck-modules.c
+-test_gck_modules_CFLAGS = $(gck_CFLAGS)
+-test_gck_modules_LDADD = $(gck_LIBS)
+-
+-test_gck_session_SOURCES = \
+-      gck/test-gck-session.c \
+-      gck/mock-interaction.c gck/mock-interaction.h
+-test_gck_session_CFLAGS = $(gck_CFLAGS)
+-test_gck_session_LDADD = $(gck_LIBS)
+-
+-test_gck_slot_SOURCES = gck/test-gck-slot.c
+-test_gck_slot_CFLAGS = $(gck_CFLAGS)
+-test_gck_slot_LDADD = $(gck_LIBS)
+-
+-test_gck_uri_SOURCES = gck/test-gck-uri.c
+-test_gck_uri_CFLAGS = $(gck_CFLAGS)
+-test_gck_uri_LDADD = $(gck_LIBS)
+-
+-check_PROGRAMS += $(gck_TESTS)
+-TESTS += $(gck_TESTS)
+-
+-check_LTLIBRARIES += libmock-test-module.la
+-
+-libmock_test_module_la_LDFLAGS = \
+-      -module -avoid-version -shared -rpath $(abs_builddir)
+-
+-libmock_test_module_la_CFLAGS = \
+-      -DGCK_API_SUBJECT_TO_CHANGE \
+-      $(gck_CFLAGS)
+-
+-libmock_test_module_la_SOURCES = \
+-      gck/mock-test-module.c
+-
+-libmock_test_module_la_LIBADD = \
+-      libgck-testable.la
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/gck/gck-slot.c gcr-3.16.0/gck/gck-slot.c
+--- gcr-3.16.0.old/gck/gck-slot.c      2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/gck/gck-slot.c  2015-07-10 18:39:01 +0000
+@@ -605,7 +605,7 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_IN
  {
        GckTokenInfo *token_info;
        gchar *string;
@@ -321,7 +446,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/gck-slot.c gcr-3.10.1/g
  
        token_info = g_new0 (GckTokenInfo, 1);
        token_info->label = gck_string_from_chars (info->label, sizeof (info->label));
-@@ -634,10 +634,12 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_IN
+@@ -633,10 +633,12 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_IN
        /* Parse the time into seconds since epoch */
        if (info->flags & CKF_CLOCK_ON_TOKEN) {
                string = g_strndup ((gchar*)info->utcTime, MIN (14, sizeof (info->utcTime)));
@@ -336,7 +461,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/gck-slot.c gcr-3.10.1/g
                g_free (string);
        } else {
                token_info->utc_time = -1;
-@@ -649,8 +651,8 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_IN
+@@ -648,8 +650,8 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_IN
  void
  _gck_token_info_to_pkcs11 (GckTokenInfo *token_info, CK_TOKEN_INFO_PTR info)
  {
@@ -347,7 +472,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/gck-slot.c gcr-3.10.1/g
        time_t tim;
        gsize len;
  
-@@ -690,9 +692,12 @@ _gck_token_info_to_pkcs11 (GckTokenInfo
+@@ -689,9 +691,12 @@ _gck_token_info_to_pkcs11 (GckTokenInfo
        /* Parse the time into seconds since epoch */
        if (token_info->flags & CKF_CLOCK_ON_TOKEN) {
                tim = token_info->utc_time;
@@ -362,162 +487,151 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/gck-slot.c gcr-3.10.1/g
                g_return_if_fail (len == sizeof (info->utcTime));
                memcpy (info->utcTime, buffer, sizeof (info->utcTime));
        } else {
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-crypto.c 
gcr-3.10.1/gck/tests/test-gck-crypto.c
---- gcr-3.10.1.old/gck/tests/test-gck-crypto.c 2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-crypto.c     2014-06-20 21:46:28 +0000
-@@ -57,7 +57,11 @@ setup (Test *test, gconstpointer unused)
-       GckSlot *slot;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (GCK_IS_MODULE (test->module));
-       g_object_add_weak_pointer (G_OBJECT (test->module), (gpointer *)&test->module);
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-enumerator.c 
gcr-3.10.1/gck/tests/test-gck-enumerator.c
---- gcr-3.10.1.old/gck/tests/test-gck-enumerator.c     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-enumerator.c 2014-06-20 21:46:28 +0000
-@@ -50,7 +50,11 @@ setup (Test *test, gconstpointer unused)
-       GError *err = NULL;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (GCK_IS_MODULE (test->module));
-       g_object_add_weak_pointer (G_OBJECT (test->module), (gpointer *)&test->module);
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-module.c 
gcr-3.10.1/gck/tests/test-gck-module.c
---- gcr-3.10.1.old/gck/tests/test-gck-module.c 2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-module.c     2014-06-20 21:46:28 +0000
-@@ -42,7 +42,11 @@ setup (Test *test, gconstpointer unused)
-       GError *err = NULL;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (test->module);
-       g_object_add_weak_pointer (G_OBJECT (test->module), (gpointer *)&test->module);
-@@ -71,7 +75,11 @@ test_initialize_async (void)
-       GError *error = NULL;
- 
-       /* Shouldn't be able to load modules */
-+#ifdef G_OS_WIN32
-+      gck_module_initialize_async (BUILDDIR "/.libs/libmock-test-module.dll",
-+#else
-       gck_module_initialize_async (BUILDDIR "/.libs/libmock-test-module.so",
-+#endif
-                                    NULL, fetch_async_result, &result);
- 
-       egg_test_wait_until (500);
-@@ -101,7 +109,11 @@ test_invalid_modules (Test *test, gconst
-       g_clear_error (&error);
- 
-       /* Shouldn't be able to load any file successfully */
-+#ifdef G_OS_WIN32
-+      invalid = gck_module_initialize ("c:\\windows\\system32\\shell32.dll", NULL, &error);
-+#else
-       invalid = gck_module_initialize ("/usr/lib/libm.so", NULL, &error);
-+#endif
-       g_assert_error (error, GCK_ERROR, (int)CKR_GCK_MODULE_PROBLEM);
-       g_assert (invalid == NULL);
- 
-@@ -139,7 +151,11 @@ test_module_props (Test *test, gconstpoi
- 
-       g_object_get (test->module, "path", &path, NULL);
-       g_assert (path != NULL && "no module-path");
-+#ifdef G_OS_WIN32
-+      g_assert (strcmp (BUILDDIR "/.libs/libmock-test-module.dll", path) == 0 && "module path wrong");
-+#else
-       g_assert (strcmp (BUILDDIR "/.libs/libmock-test-module.so", path) == 0 && "module path wrong");
-+#endif
-       g_free (path);
- }
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-modules.c 
gcr-3.10.1/gck/tests/test-gck-modules.c
---- gcr-3.10.1.old/gck/tests/test-gck-modules.c        2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-modules.c    2014-06-20 21:46:28 +0000
-@@ -48,7 +48,11 @@ setup (Test *test, gconstpointer unused)
-       GError *err = NULL;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (GCK_IS_MODULE (module));
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-object.c 
gcr-3.10.1/gck/tests/test-gck-object.c
---- gcr-3.10.1.old/gck/tests/test-gck-object.c 2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-object.c     2014-06-20 21:46:28 +0000
-@@ -50,7 +50,11 @@ setup (Test *test, gconstpointer unused)
-       GList *slots;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (GCK_IS_MODULE (test->module));
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-session.c 
gcr-3.10.1/gck/tests/test-gck-session.c
---- gcr-3.10.1.old/gck/tests/test-gck-session.c        2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-session.c    2014-06-20 21:46:28 +0000
-@@ -50,7 +50,11 @@ setup (Test *test, gconstpointer unused)
-       GList *slots;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (GCK_IS_MODULE (test->module));
-       g_object_add_weak_pointer (G_OBJECT (test->module), (gpointer *)&test->module);
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gck/tests/test-gck-slot.c 
gcr-3.10.1/gck/tests/test-gck-slot.c
---- gcr-3.10.1.old/gck/tests/test-gck-slot.c   2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gck/tests/test-gck-slot.c       2014-06-20 21:46:28 +0000
-@@ -43,7 +43,11 @@ setup (Test *test, gconstpointer unused)
-       GList *slots;
- 
-       /* Successful load */
-+#ifdef G_OS_WIN32
-+      test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.dll", NULL, &err);
-+#else
-       test->module = gck_module_initialize (BUILDDIR "/.libs/libmock-test-module.so", NULL, &err);
-+#endif
-       g_assert_no_error (err);
-       g_assert (GCK_IS_MODULE (test->module));
- 
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/Makefile.am gcr-3.10.1/gcr/Makefile.am
---- gcr-3.10.1.old/gcr/Makefile.am     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gcr/Makefile.am 2014-06-20 21:46:28 +0000
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/Makefile.decl
- 
--SUBDIRS = . tests
-+SUBDIRS = .
- 
- incdir = $(includedir)/gcr- GCR_MAJOR@/gcr
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/gcr/Makefile.am gcr-3.16.0/gcr/Makefile.am
+--- gcr-3.16.0.old/gcr/Makefile.am     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/gcr/Makefile.am 2015-07-10 18:39:01 +0000
+@@ -267,136 +267,11 @@ gcr_CFLAGS = \
+ gcr_LIBS = \
+       libgcr-base- GCR_MAJOR@.la \
+       libegg.la \
+-      libgck-testable.la \
+       $(GLIB_LIBS) \
+       $(LIBGCRYPT_LIBS) \
+       $(P11_KIT_LIBS)
+ 
+-gcr_TESTS = \
+-      test-util \
+-      test-filter-collection \
+-      test-secret-exchange \
+-      test-simple-certificate \
+-      test-certificate \
+-      test-certificate-chain \
+-      test-subject-public-key \
+-      test-fingerprint \
+-      test-pkcs11-certificate \
+-      test-openpgp \
+-      test-openssh \
+-      test-secure-memory \
+-      test-trust \
+-      test-parser \
+-      test-record \
+-      test-memory-icon \
+-      test-gnupg-key \
+-      test-gnupg-collection \
+-      test-gnupg-process \
+-      test-system-prompt
+-
+-test_certificate_SOURCES = gcr/test-certificate.c
+-test_certificate_CFLAGS = $(gcr_CFLAGS)
+-test_certificate_LDADD = $(gcr_LIBS)
+-
+-test_certificate_chain_SOURCES = gcr/test-certificate-chain.c
+-test_certificate_chain_CFLAGS = $(gcr_CFLAGS)
+-test_certificate_chain_LDADD = $(gcr_LIBS)
+-
+-test_filter_collection_SOURCES = gcr/test-filter-collection.c
+-test_filter_collection_CFLAGS = $(gcr_CFLAGS)
+-test_filter_collection_LDADD = $(gcr_LIBS)
+-
+-test_fingerprint_SOURCES = gcr/test-fingerprint.c
+-test_fingerprint_CFLAGS = $(gcr_CFLAGS)
+-test_fingerprint_LDADD = $(gcr_LIBS)
+-
+-test_gnupg_collection_SOURCES = gcr/test-gnupg-collection.c
+-test_gnupg_collection_CFLAGS = $(gcr_CFLAGS)
+-test_gnupg_collection_LDADD = $(gcr_LIBS)
+-
+-test_gnupg_key_SOURCES = gcr/test-gnupg-key.c
+-test_gnupg_key_CFLAGS = $(gcr_CFLAGS)
+-test_gnupg_key_LDADD = $(gcr_LIBS)
+-
+-test_gnupg_process_SOURCES = gcr/test-gnupg-process.c
+-test_gnupg_process_CFLAGS = $(gcr_CFLAGS)
+-test_gnupg_process_LDADD = $(gcr_LIBS)
+-
+-test_memory_icon_SOURCES = gcr/test-memory-icon.c
+-test_memory_icon_CFLAGS = $(gcr_CFLAGS)
+-test_memory_icon_LDADD = $(gcr_LIBS)
+-
+-test_openpgp_SOURCES = gcr/test-openpgp.c
+-test_openpgp_CFLAGS = $(gcr_CFLAGS)
+-test_openpgp_LDADD = $(gcr_LIBS)
+-
+-test_openssh_SOURCES = gcr/test-openssh.c
+-test_openssh_CFLAGS = $(gcr_CFLAGS)
+-test_openssh_LDADD = $(gcr_LIBS)
+-
+-test_parser_SOURCES = gcr/test-parser.c
+-test_parser_CFLAGS = $(gcr_CFLAGS)
+-test_parser_LDADD = $(gcr_LIBS)
+-
+-test_pkcs11_certificate_SOURCES = gcr/test-pkcs11-certificate.c
+-test_pkcs11_certificate_CFLAGS = $(gcr_CFLAGS)
+-test_pkcs11_certificate_LDADD = $(gcr_LIBS)
+-
+-test_record_SOURCES = gcr/test-record.c
+-test_record_CFLAGS = $(gcr_CFLAGS)
+-test_record_LDADD = $(gcr_LIBS)
+-
+-test_secret_exchange_SOURCES = gcr/test-secret-exchange.c
+-test_secret_exchange_CFLAGS = $(gcr_CFLAGS)
+-test_secret_exchange_LDADD = $(gcr_LIBS)
+-
+-test_secure_memory_SOURCES = gcr/test-secure-memory.c
+-test_secure_memory_CFLAGS = $(gcr_CFLAGS)
+-test_secure_memory_LDADD = $(gcr_LIBS)
+-
+-test_simple_certificate_SOURCES = gcr/test-simple-certificate.c
+-test_simple_certificate_CFLAGS = $(gcr_CFLAGS)
+-test_simple_certificate_LDADD = $(gcr_LIBS)
+-
+-test_subject_public_key_SOURCES = gcr/test-subject-public-key.c
+-test_subject_public_key_CFLAGS = $(gcr_CFLAGS)
+-test_subject_public_key_LDADD = $(gcr_LIBS)
+-
+-test_system_prompt_SOURCES = gcr/test-system-prompt.c
+-test_system_prompt_CFLAGS = $(gcr_CFLAGS)
+-test_system_prompt_LDADD = $(gcr_LIBS)
+-
+-test_trust_SOURCES = gcr/test-trust.c
+-test_trust_CFLAGS = $(gcr_CFLAGS)
+-test_trust_LDADD = $(gcr_LIBS)
+-
+-test_util_SOURCES = gcr/test-util.c
+-test_util_CFLAGS = $(gcr_CFLAGS)
+-test_util_LDADD = $(gcr_LIBS)
+-
+-check_PROGRAMS += $(gcr_TESTS)
+-TESTS += $(gcr_TESTS)
++gcr_TESTS =
  
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-collection.c 
gcr-3.10.1/gcr/gcr-gnupg-collection.c
---- gcr-3.10.1.old/gcr/gcr-gnupg-collection.c  2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gcr/gcr-gnupg-collection.c      2014-06-20 21:46:28 +0000
-@@ -36,7 +36,9 @@
+ EXTRA_DIST += \
+       gcr/fixtures
+-
+-# ------------------------------------------------------------------
+-
+-noinst_PROGRAMS += \
+-      frob-openpgp \
+-      frob-certificate-request \
+-      frob-parser
+-
+-frob_certificate_request_SOURCES = \
+-      gcr/frob-certificate-request.c \
+-      gcr/console-interaction.c gcr/console-interaction.h
+-frob_certificate_request_CFLAGS = $(gcr_CFLAGS)
+-frob_certificate_request_LDADD = $(gcr_LIBS)
+-
+-frob_openpgp_SOURCES = gcr/frob-openpgp.c
+-frob_openpgp_CFLAGS = $(gcr_CFLAGS)
+-frob_openpgp_LDADD = $(gcr_LIBS)
+-
+-frob_parser_SOURCES = gcr/frob-parser.c
+-frob_parser_CFLAGS = $(gcr_CFLAGS)
+-frob_parser_LDADD = $(gcr_LIBS)
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/gcr/gcr-gnupg-collection.c 
gcr-3.16.0/gcr/gcr-gnupg-collection.c
+--- gcr-3.16.0.old/gcr/gcr-gnupg-collection.c  2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/gcr/gcr-gnupg-collection.c      2015-07-10 18:39:01 +0000
+@@ -32,7 +32,9 @@
  #include "gcr-record.h"
  #include "gcr-util.h"
  
@@ -527,10 +641,10 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-collection.c
  #include <string.h>
  
  enum {
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c 
gcr-3.10.1/gcr/gcr-gnupg-process.c
---- gcr-3.10.1.old/gcr/gcr-gnupg-process.c     2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gcr/gcr-gnupg-process.c 2014-06-20 21:46:28 +0000
-@@ -31,7 +31,12 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/gcr/gcr-gnupg-process.c 
gcr-3.16.0/gcr/gcr-gnupg-process.c
+--- gcr-3.16.0.old/gcr/gcr-gnupg-process.c     2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/gcr/gcr-gnupg-process.c 2015-07-10 18:39:01 +0000
+@@ -28,7 +28,12 @@
  
  #include <glib/gi18n-lib.h>
  
@@ -543,15 +657,15 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c gcr
  #include <fcntl.h>
  #include <errno.h>
  #include <string.h>
-@@ -854,12 +859,18 @@ on_gnupg_process_child_exited (GPid pid,
+@@ -851,12 +856,18 @@ on_gnupg_process_child_exited (GPid pid,
        gint code;
        guint i;
  
 +#if defined (G_OS_UNIX)
-       _gcr_debug ("process exited: %d", (int)pid);
+       g_debug ("process exited: %d", (int)pid);
 +#elif defined (G_OS_WIN32)
 +      DWORD real_pid = GetProcessId (pid);
-+      _gcr_debug ("process exited: %d", (int)real_pid);
++      g_debug ("process exited: %d", (int)real_pid);
 +#endif
  
        g_spawn_close_pid (gnupg_source->child_pid);
@@ -562,7 +676,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c gcr
        if (WIFEXITED (status)) {
                code = WEXITSTATUS (status);
                if (code != 0) {
-@@ -873,6 +884,7 @@ on_gnupg_process_child_exited (GPid pid,
+@@ -870,6 +881,7 @@ on_gnupg_process_child_exited (GPid pid,
                        error = g_error_new (G_SPAWN_ERROR, G_SPAWN_ERROR_FAILED,
                                             _("Gnupg process was terminated with signal: %d"), code);
        }
@@ -570,7 +684,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c gcr
  
        /* Take this as the async result error */
        if (error && !self->pv->error) {
-@@ -891,11 +903,16 @@ on_gnupg_process_child_exited (GPid pid,
+@@ -888,11 +900,16 @@ on_gnupg_process_child_exited (GPid pid,
        }
  
        complete_source_is_done (gnupg_source);
@@ -587,7 +701,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c gcr
        int *child_fds = user_data;
        long val;
        guint i;
-@@ -911,6 +928,7 @@ on_gnupg_process_child_setup (gpointer u
+@@ -908,6 +925,7 @@ on_gnupg_process_child_setup (gpointer u
                        fcntl (child_fds[i], F_SETFD, val & ~FD_CLOEXEC);
                }
        }
@@ -595,24 +709,24 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c gcr
  }
  
  static void
-@@ -929,9 +947,16 @@ on_cancellable_cancelled (GCancellable *
+@@ -926,9 +944,16 @@ on_cancellable_cancelled (GCancellable *
  
        /* Try and kill the child process */
        if (gnupg_source->child_pid) {
 +#if defined(G_OS_UNIX)
-               _gcr_debug ("sending term signal to process: %d",
-                           (int)gnupg_source->child_pid);
+               g_debug ("sending term signal to process: %d",
+                        (int)gnupg_source->child_pid);
                kill (gnupg_source->child_pid, SIGTERM);
 +#elif defined(G_OS_WIN32)
 +              DWORD real_pid = GetProcessId (gnupg_source->child_pid);
-+              _gcr_debug ("sending term signal to process: %d",
-+                          (int)real_pid);
-+              TerminateProcess (gnupg_source->child_pid, 0);
++              g_debug ("sending term signal to process: %d",
++                       (int)real_pid);
++              TerminateProcess (real_pid, 0);
 +#endif
        }
  }
  
-@@ -1000,14 +1025,22 @@ _gcr_gnupg_process_run_async (GcrGnupgPr
+@@ -997,14 +1022,22 @@ _gcr_gnupg_process_run_async (GcrGnupgPr
        child_fds[FD_ERROR] = 2;
  
        if (flags & GCR_GNUPG_PROCESS_WITH_STATUS) {
@@ -635,38 +749,38 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-gnupg-process.c gcr
                        g_return_if_reached ();
                child_fds[FD_ATTRIBUTE] = attribute_fds[1];
                g_ptr_array_add (args, g_strdup ("--attribute-fd"));
-@@ -1036,11 +1069,11 @@ _gcr_gnupg_process_run_async (GcrGnupgPr
- 
-       if (_gcr_debugging) {
-               gchar *command = g_strjoinv (" ", (gchar**)args->pdata);
--              gchar *environ = g_strjoinv (", ", (gchar**)envs->pdata);
-+              gchar *environment = g_strjoinv (", ", (gchar**)envs->pdata);
-               _gcr_debug ("running command: %s", command);
--              _gcr_debug ("process environment: %s", environ);
-+              _gcr_debug ("process environment: %s", environment);
-               g_free (command);
--              g_free (environ);
-+              g_free (environment);
-       }
+@@ -1032,11 +1065,11 @@ _gcr_gnupg_process_run_async (GcrGnupgPr
+       g_ptr_array_add (envs, NULL);
+ 
+       gchar *command = g_strjoinv (" ", (gchar**)args->pdata);
+-      gchar *environ = g_strjoinv (", ", (gchar**)envs->pdata);
++      gchar *environment = g_strjoinv (", ", (gchar**)envs->pdata);
+       g_debug ("running command: %s", command);
+-      g_debug ("process environment: %s", environ);
++      g_debug ("process environment: %s", environment);
+       g_free (command);
+-      g_free (environ);
++      g_free (environment);
  
        g_spawn_async_with_pipes (self->pv->directory, (gchar**)args->pdata,
-@@ -1068,7 +1101,12 @@ _gcr_gnupg_process_run_async (GcrGnupgPr
+                                 (gchar**)envs->pdata, G_SPAWN_DO_NOT_REAP_CHILD,
+@@ -1063,7 +1096,12 @@ _gcr_gnupg_process_run_async (GcrGnupgPr
                return;
        }
  
 +#if defined (G_OS_UNIX)
-       _gcr_debug ("process started: %d", (int)pid);
+       g_debug ("process started: %d", (int)pid);
 +#elif defined (G_OS_WIN32)
 +      DWORD real_pid = GetProcessId (pid);
-+      _gcr_debug ("process started: %d", (int)real_pid);
++      g_debug ("process started: %d", (int)real_pid);
 +#endif
  
        source = g_source_new (&gnupg_source_funcs, sizeof (GnupgSource));
  
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-record.c gcr-3.10.1/gcr/gcr-record.c
---- gcr-3.10.1.old/gcr/gcr-record.c    2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/gcr/gcr-record.c        2014-06-20 21:46:28 +0000
-@@ -597,7 +597,9 @@ _gcr_record_get_date (GcrRecord *record,
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/gcr/gcr-record.c gcr-3.16.0/gcr/gcr-record.c
+--- gcr-3.16.0.old/gcr/gcr-record.c    2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/gcr/gcr-record.c        2015-07-10 18:39:01 +0000
+@@ -593,7 +593,9 @@ _gcr_record_get_date (GcrRecord *record,
        const gchar *raw;
        gulong result;
        gchar *end = NULL;
@@ -677,7 +791,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-record.c gcr-3.10.1
  
        g_return_val_if_fail (record, NULL);
  
-@@ -615,14 +617,20 @@ _gcr_record_get_date (GcrRecord *record,
+@@ -611,14 +613,20 @@ _gcr_record_get_date (GcrRecord *record,
        }
  
        /* Try to parse as a date */
@@ -693,7 +807,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-record.c gcr-3.10.1
 +      }
 +      g_strfreev (string);
 +      if (dt == NULL) {
-               _gcr_debug ("invalid date value: %s", raw);
+               g_debug ("invalid date value: %s", raw);
                return NULL;
        }
  
@@ -702,25 +816,17 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/gcr/gcr-record.c gcr-3.10.1
  }
  
  /**
-@@ -860,4 +868,4 @@ _gcr_records_parse_colons (gconstpointer
+@@ -856,4 +864,4 @@ _gcr_records_parse_colons (gconstpointer
        g_free (lines);
  
        return result;
 -}
 +}
 \ No newline at end of file
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/Makefile.am gcr-3.10.1/ui/Makefile.am
---- gcr-3.10.1.old/ui/Makefile.am      2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/ui/Makefile.am  2014-06-20 21:46:28 +0000
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/Makefile.decl
- 
--SUBDIRS = . icons tests
-+SUBDIRS = . icons
- 
- incdir = $(includedir)/gcr- GCR_MAJOR@/ui
- 
-@@ -51,11 +51,13 @@ libgcr_ui_ GCR_MAJOR@_la_LIBADD = \
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/ui/Makefile.am gcr-3.16.0/ui/Makefile.am
+--- gcr-3.16.0.old/ui/Makefile.am      2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/ui/Makefile.am  2015-07-10 18:39:01 +0000
+@@ -36,11 +36,13 @@ libgcr_ui_ GCR_MAJOR@_la_LIBADD = \
        $(GTK_LIBS) \
        $(NULL)
  
@@ -734,10 +840,72 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/Makefile.am gcr-3.10.1/u
  
  uidir = $(datadir)/gcr- GCR_MAJOR@/ui/
  
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompt-dialog.c gcr-3.10.1/ui/gcr-prompt-dialog.c
---- gcr-3.10.1.old/ui/gcr-prompt-dialog.c      2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/ui/gcr-prompt-dialog.c  2014-06-20 21:46:28 +0000
-@@ -31,7 +31,13 @@
+@@ -285,61 +287,3 @@ ui_LIBS = \
+       $(GTK_LIBS)
+ 
+ # ------------------------------------------------------------------
+-
+-noinst_PROGRAMS += \
+-      frob-certificate \
+-      frob-combo-selector \
+-      frob-gnupg-selector \
+-      frob-import-button \
+-      frob-key \
+-      frob-tree-selector \
+-      frob-prompt \
+-      frob-request \
+-      frob-system-prompt \
+-      frob-unlock \
+-      frob-unlock-options
+-
+-frob_certificate_SOURCES = ui/frob-certificate.c
+-frob_certificate_CFLAGS = $(ui_CFLAGS)
+-frob_certificate_LDADD = $(ui_LIBS)
+-
+-frob_combo_selector_SOURCES = ui/frob-combo-selector.c
+-frob_combo_selector_CFLAGS = $(ui_CFLAGS)
+-frob_combo_selector_LDADD = $(ui_LIBS)
+-
+-frob_gnupg_selector_SOURCES = ui/frob-gnupg-selector.c
+-frob_gnupg_selector_CFLAGS = $(ui_CFLAGS)
+-frob_gnupg_selector_LDADD = $(ui_LIBS)
+-
+-frob_import_button_SOURCES = ui/frob-import-button.c
+-frob_import_button_CFLAGS = $(ui_CFLAGS)
+-frob_import_button_LDADD = $(ui_LIBS)
+-
+-frob_key_SOURCES = ui/frob-key.c
+-frob_key_CFLAGS = $(ui_CFLAGS)
+-frob_key_LDADD = $(ui_LIBS)
+-
+-frob_prompt_SOURCES = ui/frob-prompt.c
+-frob_prompt_CFLAGS = $(ui_CFLAGS)
+-frob_prompt_LDADD = $(ui_LIBS)
+-
+-frob_request_SOURCES = ui/frob-request.c
+-frob_request_CFLAGS = $(ui_CFLAGS)
+-frob_request_LDADD = $(ui_LIBS)
+-
+-frob_system_prompt_SOURCES = ui/frob-system-prompt.c
+-frob_system_prompt_CFLAGS = $(ui_CFLAGS)
+-frob_system_prompt_LDADD = $(ui_LIBS)
+-
+-frob_tree_selector_SOURCES = ui/frob-tree-selector.c
+-frob_tree_selector_CFLAGS = $(ui_CFLAGS)
+-frob_tree_selector_LDADD = $(ui_LIBS)
+-
+-frob_unlock_SOURCES = \
+-      ui/frob-unlock.c ui/gcr-viewer-window.c
+-frob_unlock_CFLAGS = $(ui_CFLAGS)
+-frob_unlock_LDADD = $(ui_LIBS)
+-
+-frob_unlock_options_SOURCES = ui/frob-unlock-options.c
+-frob_unlock_options_CFLAGS = $(ui_CFLAGS)
+-frob_unlock_options_LDADD = $(ui_LIBS)
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/ui/gcr-prompt-dialog.c 
gcr-3.16.0/ui/gcr-prompt-dialog.c
+--- gcr-3.16.0.old/ui/gcr-prompt-dialog.c      2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/ui/gcr-prompt-dialog.c  2015-07-10 18:39:01 +0000
+@@ -27,7 +27,13 @@
  #include "gcr-secure-entry-buffer.h"
  
  #include <gtk/gtk.h>
@@ -751,7 +919,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompt-dialog.c gcr-
  #include <glib/gi18n.h>
  
  /**
-@@ -152,12 +158,21 @@ update_transient_for (GcrPromptDialog *s
+@@ -148,12 +154,21 @@ update_transient_for (GcrPromptDialog *s
        }
  
        display = gtk_widget_get_display (GTK_WIDGET (self));
@@ -773,10 +941,10 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompt-dialog.c gcr-
                g_object_unref (transient_for);
        }
  
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompter-tool.c gcr-3.10.1/ui/gcr-prompter-tool.c
---- gcr-3.10.1.old/ui/gcr-prompter-tool.c      2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/ui/gcr-prompter-tool.c  2014-06-20 21:46:28 +0000
-@@ -30,13 +30,17 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gcr-3.16.0.old/ui/gcr-prompter-tool.c 
gcr-3.16.0/ui/gcr-prompter-tool.c
+--- gcr-3.16.0.old/ui/gcr-prompter-tool.c      2015-04-06 18:28:46 +0000
++++ gcr-3.16.0/ui/gcr-prompter-tool.c  2015-07-10 18:39:01 +0000
+@@ -27,13 +27,17 @@
  
  #include <glib/gi18n.h>
  #include <gtk/gtk.h>
@@ -794,7 +962,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompter-tool.c gcr-
  
  #define QUIT_TIMEOUT 10
  
-@@ -138,6 +142,7 @@ log_handler (const gchar *log_domain,
+@@ -135,6 +139,7 @@ log_handler (const gchar *log_domain,
               const gchar *message,
               gpointer user_data)
  {
@@ -802,7 +970,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompter-tool.c gcr-
        int level;
  
        /* Note that crit and err are the other way around in syslog */
-@@ -171,6 +176,7 @@ log_handler (const gchar *log_domain,
+@@ -168,6 +173,7 @@ log_handler (const gchar *log_domain,
                syslog (level, "%s: %s", log_domain, message);
        else
                syslog (level, "%s", message);
@@ -810,7 +978,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompter-tool.c gcr-
  
        /* And then to default handler for aborting and stuff like that */
        g_log_default_handler (log_domain, log_level, message, user_data);
-@@ -179,9 +185,11 @@ log_handler (const gchar *log_domain,
+@@ -176,9 +182,11 @@ log_handler (const gchar *log_domain,
  static void
  printerr_handler (const gchar *string)
  {
@@ -822,7 +990,7 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompter-tool.c gcr-
  }
  
  static void
-@@ -191,7 +199,9 @@ prepare_logging ()
+@@ -188,7 +196,9 @@ prepare_logging ()
                               G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING |
                               G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO;
  
@@ -832,102 +1000,3 @@ diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-prompter-tool.c gcr-
  
        g_log_set_handler (NULL, flags, log_handler, NULL);
        g_log_set_handler ("Glib", flags, log_handler, NULL);
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/gcr-ui.pc.in gcr-3.10.1/ui/gcr-ui.pc.in
---- gcr-3.10.1.old/ui/gcr-ui.pc.in     2013-04-21 12:31:47 +0000
-+++ gcr-3.10.1/ui/gcr-ui.pc.in 2014-06-20 22:22:58 +0000
-@@ -11,5 +11,5 @@ Description: GObject and GUI library for
- Version: @VERSION@
- Requires: glib-2.0 gobject-2.0 gio-2.0 gtk+-3.0 gcr-base- GCR_MAJOR@ gck- GCK_MAJOR@
- Requires.private: p11-kit-1
--Libs: -L${libdir} -lgcr- GCR_MAJOR@
-+Libs: -L${libdir} -lgcr-ui- GCR_MAJOR@
- Cflags: -I${includedir}/gcr- GCR_MAJOR@
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/tests/frob-prompt.c gcr-3.10.1/ui/tests/frob-prompt.c
---- gcr-3.10.1.old/ui/tests/frob-prompt.c      2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/ui/tests/frob-prompt.c  2014-06-20 21:46:28 +0000
-@@ -27,15 +27,45 @@
- #include "gcr/gcr-base.h"
- 
- #include <gtk/gtk.h>
-+#ifdef GDK_WINDOWING_X11
- #include <gdk/gdkx.h>
-+#endif
-+#ifdef GDK_WINDOWING_WIN32
-+#include <gdk/gdkwin32.h>
-+#endif
- 
-+#ifdef HAVE_ERR_H
- #include <err.h>
-+#else
-+#include <errno.h>
-+#endif
-+#include <stdlib.h>
- 
- static const gchar *file_name = NULL;
- static gchar *prompt_type = NULL;
- static gint prompt_delay = 0;
- static gboolean prompt_window = FALSE;
- 
-+#ifndef HAVE_ERR_H
-+extern void errx (int eval, char *format, ...);
-+
-+void errx (int eval, char *format, ...)
-+{
-+      gchar *err_s;
-+
-+      va_list ap;
-+      va_start (ap, format);
-+      vsprintf (err_s, format, ap);
-+      va_end (ap);
-+
-+      err_s = g_strconcat (g_get_prgname (), ": ", g_strdup (err_s), "\n", NULL);
-+      g_printerr (err_s);
-+      g_free (err_s);
-+
-+      exit (eval);
-+}
-+#endif
-+
- static gboolean
- on_delay_timeout (gpointer data)
- {
-@@ -80,7 +110,11 @@ prompt_perform (GtkWidget *parent)
-               errx (1, "couldn't create prompt: %s", error->message);
- 
-       if (parent) {
-+#if defined(GDK_WINDOWING_X11)
-               caller_id = g_strdup_printf ("%lu", (gulong)GDK_WINDOW_XID (gtk_widget_get_window (parent)));
-+#elif defined(GDK_WINDOWING_WIN32)
-+              caller_id = g_strdup_printf ("%lu", (gulong)GDK_WINDOW_HWND (gtk_widget_get_window (parent)));
-+#endif
-               gcr_prompt_set_caller_window (GCR_PROMPT (prompt), caller_id);
-               g_free (caller_id);
-       }
-diff -upr -x .deps -x .libs -x '*.la' gcr-3.10.1.old/ui/tests/frob-system-prompt.c 
gcr-3.10.1/ui/tests/frob-system-prompt.c
---- gcr-3.10.1.old/ui/tests/frob-system-prompt.c       2014-06-20 22:20:25 +0000
-+++ gcr-3.10.1/ui/tests/frob-system-prompt.c   2014-06-20 21:46:28 +0000
-@@ -28,7 +28,12 @@
- #include "egg/egg-testing.h"
- 
- #include <gtk/gtk.h>
-+#ifdef GDK_WINDOWING_X11
- #include <gdk/gdkx.h>
-+#endif
-+#ifdef GDK_WINDOWING_WIN32
-+#include <gdk/gdkwin32.h>
-+#endif
- 
- #include <unistd.h>
- #include <string.h>
-@@ -56,7 +61,11 @@ on_prompt_clicked (GtkToolButton *button
-       gcr_prompt_set_message (GCR_PROMPT (prompt), "This is the message");
-       gcr_prompt_set_description (GCR_PROMPT (prompt), "This is the description");
- 
-+#if defined(GDK_WINDOWING_X11)
-       caller_id = g_strdup_printf ("%lu", (gulong)GDK_WINDOW_XID (gtk_widget_get_window (parent)));
-+#elif defined(GDK_WINDOWING_WIN32)
-+      caller_id = g_strdup_printf ("%lu", (gulong)GDK_WINDOW_HWND (gtk_widget_get_window (parent)));
-+#endif
-       gcr_prompt_set_caller_window (GCR_PROMPT (prompt), caller_id);
-       g_free (caller_id);
- 
diff --git a/win32/patches/gtk.patch b/win32/patches/gtk.patch
index 8366ec1..fa22418 100644
--- a/win32/patches/gtk.patch
+++ b/win32/patches/gtk.patch
@@ -1,44 +1,7 @@
-diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gdk/Makefile.in gtk+-3.10.6/gdk/Makefile.in
---- gtk+-3.10.6.old/gdk/Makefile.in    2014-09-30 17:02:46 +0000
-+++ gtk+-3.10.6/gdk/Makefile.in        2014-09-30 17:00:04 +0000
-@@ -94,7 +94,7 @@ DIST_COMMON = $(top_srcdir)/Makefile.dec
- @USE_WIN32_FALSE@     $(am__append_1) $(am__append_3) \
- @USE_WIN32_FALSE@     $(am__append_5) $(am__append_7) \
- @USE_WIN32_FALSE@     $(am__append_8)
-- USE_WIN32_TRUE@am__append_6 = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def
-+ USE_WIN32_TRUE@am__append_6 = -Wl,win32/rc/gdk-win32-res.o
- @USE_BROADWAY_TRUE am__append_7 = broadway/libgdk-broadway.la
- @USE_WAYLAND_TRUE am__append_8 = wayland/libgdk-wayland.la
- @HAVE_INTROSPECTION_TRUE am__append_9 = Gdk-3.0.gir
-@@ -737,7 +737,7 @@ libgdk_3_la_CFLAGS = $(AM_CFLAGS) $(GDK_
- libgdk_3_la_LIBADD = $(GDK_DEP_LIBS) $(am__append_1) $(am__append_3) \
-       $(am__append_5) $(am__append_7) $(am__append_8)
- libgdk_3_la_LDFLAGS = $(LDADD) $(am__append_6)
-- USE_WIN32_TRUE@libgdk_3_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
-+ USE_WIN32_TRUE@libgdk_3_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o
- @HAVE_INTROSPECTION_TRUE introspection_files = \
- @HAVE_INTROSPECTION_TRUE@     $(filter-out gdkkeysyms-compat.h, $(gdk_public_h_sources))      \
- @HAVE_INTROSPECTION_TRUE@     $(gdk_c_sources)        \
-@@ -1625,16 +1625,8 @@ check-local: test-cwd
- 
- @HAVE_INTROSPECTION_TRUE@@USE_X11_TRUE GdkX11-3 0 gir: libgdk-3.la Gdk-3.0.gir Makefile
- 
-- OS_WIN32_TRUE@install-def-file: gdk.def
-- OS_WIN32_TRUE@       mkdir -p $(DESTDIR)$(libdir)
-- OS_WIN32_TRUE@       $(INSTALL) $(srcdir)/gdk.def $(DESTDIR)$(libdir)/gdk-win32-3.0.def
-- OS_WIN32_TRUE@uninstall-def-file:
-- OS_WIN32_TRUE@       -rm $(DESTDIR)$(libdir)/gdk-win32-3.0.def
-- OS_WIN32_FALSE@install-def-file:
-- OS_WIN32_FALSE@uninstall-def-file:
--
-- MS_LIB_AVAILABLE_TRUE@gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la gdk.def
-- MS_LIB_AVAILABLE_TRUE@       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)- 
LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
-+ MS_LIB_AVAILABLE_TRUE@gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la
-+ MS_LIB_AVAILABLE_TRUE@       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)- 
LT_CURRENT_MINUS_AGE@.dll -out:$@
- 
- @MS_LIB_AVAILABLE_TRUE install-ms-lib:
- @MS_LIB_AVAILABLE_TRUE@       mkdir -p $(DESTDIR)$(libdir)
-@@ -1714,9 +1706,9 @@ dist-hook: ../build/win32/vs9/gdk.vcproj
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.16.4.old/gdk/Makefile.in gtk+-3.16.4/gdk/Makefile.in
+--- gtk+-3.16.4.old/gdk/Makefile.in    2015-06-10 14:48:08 +0000
++++ gtk+-3.16.4/gdk/Makefile.in        2015-07-12 16:34:22 +0000
+@@ -1841,9 +1841,9 @@ dist-hook: ../build/win32/vs9/gdk.vcproj
        $(CPP) -P - <$(top_srcdir)/build/win32/vs10/gdk.vcxproj.filtersin >$@
        rm libgdk.vs10.sourcefiles.filters
  
@@ -50,74 +13,10 @@ diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gdk/Makefile.in
        rm -f $(DESTDIR)$(configexecincludedir)/gdkconfig.h
  
  # if srcdir!=builddir, clean out maintainer-clean files from builddir
-diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gtk/Makefile.in gtk+-3.10.6/gtk/Makefile.in
---- gtk+-3.10.6.old/gtk/Makefile.in    2014-09-30 17:02:46 +0000
-+++ gtk+-3.10.6/gtk/Makefile.in        2014-09-30 17:00:04 +0000
-@@ -111,7 +111,7 @@ DIST_COMMON = $(top_srcdir)/Makefile.dec
- @USE_QUARTZ_FALSE@@USE_WIN32_FALSE@@USE_X11_FALSE am__append_13 = $(gtk_use_stub_c_sources)
- @USE_WIN32_TRUE am__append_14 = -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32
- @USE_WIN32_TRUE am__append_15 = -Wl,-luuid
-- USE_WIN32_TRUE@am__append_16 = $(gtk_def) $(gtk_win32_res) $(deps)
-+ USE_WIN32_TRUE@am__append_16 = $(gtk_win32_res) $(deps)
- 
- # And include the regular ones:
- @HAVE_INTROSPECTION_TRUE@@USE_QUARTZ_TRUE am__append_17 = \
-@@ -1047,8 +1047,6 @@ AM_CPPFLAGS = \
-       $(INCLUDED_IMMODULE_DEFINE)
- 
- @PLATFORM_WIN32_TRUE no_undefined = -no-undefined
-- OS_WIN32_TRUE@gtk_def = gtk.def
-- OS_WIN32_TRUE@gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def
- @OS_WIN32_TRUE gtk_win32_res = gtk-win32-res.o
- @OS_WIN32_TRUE gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
- @MS_LIB_AVAILABLE_TRUE noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib
-@@ -1959,7 +1957,7 @@ libgtk_3_la_SOURCES = $(gtk_c_sources)
- libgtk_3_la_LDFLAGS = $(libtool_opts) $(am__append_15)
- libgtk_3_la_LIBADD = $(libadd) $(am__append_14)
- libgtk_3_la_DEPENDENCIES = $(deps) $(am__append_16)
-- USE_WIN32_TRUE@libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols)
-+ USE_WIN32_TRUE@libgtk_target_ldflags = $(gtk_win32_res_ldflag)
- DEPS = libgtk-3.la $(top_builddir)/gdk/libgdk-3.la
- TEST_DEPS = $(DEPS) immodules.cache
- LDADDS = \
-@@ -5912,15 +5910,8 @@ check-local: test-cwd
- @OS_WIN32_TRUE gtk-win32-res o : gtk-win32.rc
- @OS_WIN32_TRUE@       $(WINDRES) gtk-win32.rc $@
- 
-- OS_WIN32_TRUE@install-def-file: gtk.def
-- OS_WIN32_TRUE@       $(INSTALL) $(srcdir)/gtk.def $(DESTDIR)$(libdir)/gtk-win32-3.0.def
-- OS_WIN32_TRUE@uninstall-def-file:
-- OS_WIN32_TRUE@       -rm $(DESTDIR)$(libdir)/gtk-win32-3.0.def
-- OS_WIN32_FALSE@install-def-file:
-- OS_WIN32_FALSE@uninstall-def-file:
--
-- MS_LIB_AVAILABLE_TRUE@gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
-- MS_LIB_AVAILABLE_TRUE@       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)- 
LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
-+ MS_LIB_AVAILABLE_TRUE@gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la
-+ MS_LIB_AVAILABLE_TRUE@       lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)- 
LT_CURRENT_MINUS_AGE@.dll -out:$@
- 
- @MS_LIB_AVAILABLE_TRUE install-ms-lib:
- @MS_LIB_AVAILABLE_TRUE@       $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
-@@ -6055,13 +6046,13 @@ dist-hook: ../build/win32/vs9/gtk.vcproj
-       rm libgtk.vs10.sourcefiles.filters
- 
- # Install a RC file for the default GTK+ theme, and key themes
--install-data-local: install-ms-lib install-def-file install-mac-key-theme
-+install-data-local: install-ms-lib install-mac-key-theme
-       $(MKDIR_P) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0
-       $(INSTALL_DATA) $(srcdir)/gtk-keys.css.default 
$(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css
-       $(MKDIR_P) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0
-       $(INSTALL_DATA) $(srcdir)/gtk-keys.css.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css
- 
--uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme
-+uninstall-local: uninstall-ms-lib uninstall-mac-key-theme
-       rm -f $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtk.css
-       rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-3.0/gtk-keys.css
-       rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0/gtk-keys.css
-diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gtk/deprecated/gtkaction.c 
gtk+-3.10.6/gtk/deprecated/gtkaction.c
---- gtk+-3.10.6.old/gtk/deprecated/gtkaction.c 2014-09-30 17:02:13 +0000
-+++ gtk+-3.10.6/gtk/deprecated/gtkaction.c     2014-09-30 17:05:22 +0000
-@@ -513,7 +513,7 @@ gtk_action_class_init (GtkActionClass *k
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.16.4.old/gtk/deprecated/gtkaction.c 
gtk+-3.16.4/gtk/deprecated/gtkaction.c
+--- gtk+-3.16.4.old/gtk/deprecated/gtkaction.c 2015-03-02 19:34:03 +0000
++++ gtk+-3.16.4/gtk/deprecated/gtkaction.c     2015-07-12 16:34:22 +0000
+@@ -518,7 +518,7 @@ gtk_action_class_init (GtkActionClass *k
                                     g_param_spec_boolean ("always-show-image",
                                                           P_("Always show image"),
                                                           P_("Whether the image will always be shown"),
@@ -126,10 +25,10 @@ diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gtk/deprecated/g
                                                           GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT));
  
    /**
-diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gtk/deprecated/gtkimagemenuitem.c 
gtk+-3.10.6/gtk/deprecated/gtkimagemenuitem.c
---- gtk+-3.10.6.old/gtk/deprecated/gtkimagemenuitem.c  2014-09-30 17:02:13 +0000
-+++ gtk+-3.10.6/gtk/deprecated/gtkimagemenuitem.c      2014-09-30 17:05:38 +0000
-@@ -204,7 +204,7 @@ gtk_image_menu_item_class_init (GtkImage
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.16.4.old/gtk/deprecated/gtkimagemenuitem.c 
gtk+-3.16.4/gtk/deprecated/gtkimagemenuitem.c
+--- gtk+-3.16.4.old/gtk/deprecated/gtkimagemenuitem.c  2015-05-16 00:48:48 +0000
++++ gtk+-3.16.4/gtk/deprecated/gtkimagemenuitem.c      2015-07-12 16:34:22 +0000
+@@ -232,7 +232,7 @@ gtk_image_menu_item_class_init (GtkImage
                                     g_param_spec_boolean ("always-show-image",
                                                           P_("Always show image"),
                                                           P_("Whether the image will always be shown"),
@@ -138,15 +37,38 @@ diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gtk/deprecated/g
                                                           GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT | 
G_PARAM_DEPRECATED));
  
    /**
-diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.10.6.old/gtk/gtkbutton.c gtk+-3.10.6/gtk/gtkbutton.c
---- gtk+-3.10.6.old/gtk/gtkbutton.c    2014-09-30 17:02:14 +0000
-+++ gtk+-3.10.6/gtk/gtkbutton.c        2014-09-30 17:04:34 +0000
-@@ -377,7 +377,7 @@ gtk_button_class_init (GtkButtonClass *k
-                                    g_param_spec_boolean ("always-show-image",
-                                                          P_("Always show image"),
-                                                          P_("Whether the image will always be shown"),
--                                                         FALSE,
-+                                                         TRUE,
-                                                          GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.16.4.old/gtk/gtkbutton.c gtk+-3.16.4/gtk/gtkbutton.c
+--- gtk+-3.16.4.old/gtk/gtkbutton.c    2015-05-16 00:48:48 +0000
++++ gtk+-3.16.4/gtk/gtkbutton.c        2015-07-12 16:34:22 +0000
+@@ -365,7 +365,7 @@ gtk_button_class_init (GtkButtonClass *k
+      g_param_spec_boolean ("always-show-image",
+                            P_("Always show image"),
+                            P_("Whether the image will always be shown"),
+-                           FALSE,
++                           TRUE,
+                            GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY);
+ 
+   g_object_class_install_properties (gobject_class, LAST_PROP, props);
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' gtk+-3.16.4.old/gtk/gtkscrolledwindow.c 
gtk+-3.16.4/gtk/gtkscrolledwindow.c
+--- gtk+-3.16.4.old/gtk/gtkscrolledwindow.c    2015-06-10 13:49:02 +0000
++++ gtk+-3.16.4/gtk/gtkscrolledwindow.c        2015-07-12 16:34:45 +0000
+@@ -596,7 +596,7 @@ gtk_scrolled_window_class_init (GtkScrol
+                                    g_param_spec_boolean ("overlay-scrolling",
+                                                          P_("Overlay Scrolling"),
+                                                          P_("Overlay scrolling mode"),
+-                                                         TRUE,
++                                                         FALSE,
+                                                          GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
+ 
+   /**
+@@ -4052,8 +4052,8 @@ gtk_scrolled_window_update_use_indicator
+ 
+   use_indicators = priv->overlay_scrolling;
+ 
+-  if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0)
+-    use_indicators = FALSE;
++  if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "1") == 0)
++    use_indicators = TRUE;
  
-   g_object_class_override_property (gobject_class, PROP_ACTION_NAME, "action-name");
+   if (priv->use_indicators != use_indicators)
+     {
diff --git a/win32/patches/libepoxy.patch b/win32/patches/libepoxy.patch
new file mode 100644
index 0000000..edf01a4
--- /dev/null
+++ b/win32/patches/libepoxy.patch
@@ -0,0 +1,52 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' libepoxy-1.2/configure.ac libepoxy-1.2.new/configure.ac
+--- libepoxy-1.2/configure.ac  2014-05-14 00:22:08 +0000
++++ libepoxy-1.2.new/configure.ac      2015-07-05 17:19:01 +0000
+@@ -32,13 +32,13 @@ AC_CONFIG_HEADERS([config.h])
+ AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
+ 
+ # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
+-m4_ifndef([XORG_MACROS_VERSION],
+-          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen.
+-  Hint: either install from source, git://anongit.freedesktop.org/xorg/util/macros or,
+-  depending on you distribution, try package 'xutils-dev' or 'xorg-x11-util-macros'])])
+-
+-XORG_MACROS_VERSION(1.8)
+-XORG_DEFAULT_OPTIONS
++#m4_ifndef([XORG_MACROS_VERSION],
++#          [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen.
++#  Hint: either install from source, git://anongit.freedesktop.org/xorg/util/macros or,
++#  depending on you distribution, try package 'xutils-dev' or 'xorg-x11-util-macros'])])
++#
++#XORG_MACROS_VERSION(1.8)
++#XORG_DEFAULT_OPTIONS
+ 
+ AC_CHECK_PROGS([PYTHON], [python3 python2 python])
+ 
+@@ -56,7 +56,7 @@ AC_CHECK_HEADER([KHR/khrplatform.h],
+ 
+ # OS X defaults to having -Wint-conversion ("warn when passing
+ # uintptr_t to a void *") by default.  Kill that.
+-XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion])
++#XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion])
+ 
+ has_znow=yes
+ 
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' libepoxy-1.2/src/dispatch_common.c 
libepoxy-1.2.new/src/dispatch_common.c
+--- libepoxy-1.2/src/dispatch_common.c 2014-05-14 00:22:08 +0000
++++ libepoxy-1.2.new/src/dispatch_common.c     2015-07-05 17:21:58 +0000
+@@ -318,13 +318,13 @@ epoxy_internal_has_gl_extension(const ch
+             return invalid_op_mode;
+         return epoxy_extension_in_string(exts, ext);
+     } else {
+-        int num_extensions;
++        int num_extensions, i;
+ 
+         glGetIntegerv(GL_NUM_EXTENSIONS, &num_extensions);
+         if (num_extensions == 0)
+             return invalid_op_mode;
+ 
+-        for (int i = 0; i < num_extensions; i++) {
++        for (i = 0; i < num_extensions; i++) {
+             const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i);
+             if (strcmp(ext, gl_ext) == 0)
+                 return true;
diff --git a/win32/patches/libical.patch b/win32/patches/libical.patch
index 96a0c1e..1be622e 100644
--- a/win32/patches/libical.patch
+++ b/win32/patches/libical.patch
@@ -1,16 +1,46 @@
-diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltime.c 
libical-1.0/src/libical/icaltime.c
---- libical-1.0.old/src/libical/icaltime.c     2013-04-14 17:24:42 +0000
-+++ libical-1.0/src/libical/icaltime.c 2014-08-03 13:58:29 +0000
-@@ -61,7 +61,7 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' libical-1.0.1.old/src/libical/icaltime.c 
libical-1.0.1/src/libical/icaltime.c
+--- libical-1.0.1.old/src/libical/icaltime.c   2014-10-09 15:07:05 +0000
++++ libical-1.0.1/src/libical/icaltime.c       2015-07-10 18:02:31 +0000
+@@ -61,12 +61,7 @@
  #undef gmtime_r
  
  /* The gmtime() in Microsoft's C library is MT-safe */
 -#define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):0)
+-#endif
+-
+-#ifdef HAVE_PTHREAD
+- #include <pthread.h>    
+-    static pthread_mutex_t tzid_mutex = PTHREAD_MUTEX_INITIALIZER;
 +#define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):memset(tmp, 0, sizeof(*tmp)))
  #endif
  
- #ifdef HAVE_PTHREAD
-@@ -205,11 +205,7 @@ icaltime_from_timet_with_zone(const time
+ /*
+@@ -77,7 +72,7 @@
+  *  local daylight savings time applied to the result.
+  *  This function expects well-formed input.
+  */
+-static time_t make_time(struct tm *tm, int tzm)
++static time_t make_time(struct tm *tm, int tzm, int be_strict)
+ {
+   time_t tim;
+ 
+@@ -91,13 +86,13 @@ static time_t make_time(struct tm *tm, i
+ #if (SIZEOF_TIME_T == 4)
+   /* check that year specification within range */
+ 
+-  if (tm->tm_year < 70 || tm->tm_year > 138)
++  if (be_strict && (tm->tm_year < 70 || tm->tm_year > 138))
+     return((time_t) -1);
+ 
+   /* check for upper bound of Jan 17, 2038 (to avoid possibility of
+      32-bit arithmetic overflow) */
+   
+-  if (tm->tm_year == 138) {
++  if (be_strict && tm->tm_year == 138) {
+     if (tm->tm_mon > 0)
+       return((time_t) -1);
+     else if (tm->tm_mday > 17)
+@@ -207,11 +202,7 @@ icaltime_from_timet_with_zone(const time
  
      /* Convert the time_t to a struct tm in UTC time. We can trust gmtime
         for this. */
@@ -22,9 +52,146 @@ diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltime.c lib
       
      tt.year   = t.tm_year + 1900;
      tt.month  = t.tm_mon + 1;
-diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltimezone.c 
libical-1.0/src/libical/icaltimezone.c
---- libical-1.0.old/src/libical/icaltimezone.c 2013-04-14 17:24:42 +0000
-+++ libical-1.0/src/libical/icaltimezone.c     2014-08-03 13:59:38 +0000
+@@ -291,99 +282,12 @@ time_t icaltime_as_timet(const struct ic
+     stm.tm_year = tt.year-1900;
+     stm.tm_isdst = -1;
+ 
+-    t = make_time(&stm, 0);
++    t = make_time(&stm, 0, 1);
+ 
+     return t;
+ 
+ }
+ 
+-
+-/* Structure used by set_tz to hold an old value of TZ, and the new
+-   value, which is in memory we will have to free in unset_tz */
+-/* This will hold the last "TZ=XXX" string we used with putenv(). After we
+-   call putenv() again to set a new TZ string, we can free the previous one.
+-   As far as I know, no libc implementations actually free the memory used in
+-   the environment variables (how could they know if it is a static string or
+-   a malloc'ed string?), so we have to free it ourselves. */
+-static char* saved_tz = NULL;
+-
+-/* If you use set_tz(), you must call unset_tz() some time later to restore the
+-   original TZ. Pass unset_tz() the string that set_tz() returns. Call both the functions
+-   locking the tzid mutex as in icaltime_as_timet_with_zone */
+-char* set_tz(const char* tzid)
+-{
+-    char *old_tz, *old_tz_copy = NULL, *new_tz;
+-
+-    /* Get the old TZ setting and save a copy of it to return. */
+-    old_tz = getenv("TZ");
+-    if(old_tz){
+-      old_tz_copy = (char*)malloc(strlen (old_tz) + 4);
+-
+-      if(old_tz_copy == 0){
+-          icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+-          return 0;
+-      }
+-
+-      strcpy (old_tz_copy, "TZ=");
+-      strcpy (old_tz_copy + 3, old_tz);
+-    }
+-
+-    /* Create the new TZ string. */
+-    new_tz = (char*)malloc(strlen (tzid) + 4);
+-
+-    if(new_tz == 0){
+-      icalerror_set_errno(ICAL_NEWFAILED_ERROR);
+-      free(old_tz_copy);
+-      return 0;
+-    }
+-
+-    strcpy (new_tz, "TZ=");
+-    strcpy (new_tz + 3, tzid);
+-
+-    /* Add the new TZ to the environment. */
+-    putenv(new_tz); 
+-
+-    /* Free any previous TZ environment string we have used in a synchronized manner. */
+-
+-    free (saved_tz);
+-
+-    /* Save a pointer to the TZ string we just set, so we can free it later. */
+-    saved_tz = new_tz;
+-
+-    return old_tz_copy; /* This will be zero if the TZ env var was not set */
+-}
+-
+-void unset_tz(char *tzstr)
+-{
+-    /* restore the original environment */
+-
+-    if(tzstr!=0){
+-      putenv(tzstr);
+-    } else {
+-      /* Delete from environment.  We prefer unsetenv(3) over putenv(3)
+-         because the former is POSIX and behaves consistently.  The later
+-         does not unset the variable in some systems (like NetBSD), leaving
+-         it with an empty value.  This causes problems later because further
+-         calls to time related functions in libc will treat times in UTC. */
+-#ifdef HAVE_UNSETENV
+-      unsetenv("TZ");
+-#else
+-#ifdef _MSC_VER 
+-      putenv("TZ="); // The equals is required to remove with MS Visual C++
+-#else
+-      putenv("TZ");
+-#endif
+-#endif
+-    } 
+-
+-    /* Free any previous TZ environment string we have used in a synchronized manner */
+-    free (saved_tz);
+-
+-    /* Save a pointer to the TZ string we just set, so we can free it later.
+-       (This can possibly be NULL if there was no TZ to restore.) */
+-    saved_tz = tzstr;
+-}
+-
+ /**   Return the time as seconds past the UNIX epoch, using the
+  *    given timezone.
+  *
+@@ -397,8 +301,6 @@ time_t icaltime_as_timet_with_zone(const
+ {
+     icaltimezone *utc_zone;
+     struct tm stm;
+-    time_t t;
+-    char *old_tz;
+     struct icaltimetype local_tt;
+     
+     utc_zone = icaltimezone_get_utc_timezone ();
+@@ -426,25 +328,8 @@ time_t icaltime_as_timet_with_zone(const
+     stm.tm_mon = local_tt.month-1;
+     stm.tm_year = local_tt.year-1900;
+     stm.tm_isdst = -1;
+-/* The functions putenv and mktime are not thread safe, inserting a lock
+-to prevent any crashes */
+-
+-#ifdef HAVE_PTHREAD
+-    pthread_mutex_lock (&tzid_mutex);
+-#endif
+-    
+-    /* Set TZ to UTC and use mktime to convert to a time_t. */
+-    old_tz = set_tz ("UTC");
+-    tzset ();
+-
+-    t = mktime (&stm);
+-    unset_tz (old_tz);
+-    tzset ();
+ 
+-#ifdef HAVE_PTHREAD
+-    pthread_mutex_unlock (&tzid_mutex);
+-#endif
+-    return t;
++    return make_time (&stm, 0, 0);
+ }
+ 
+ const char* icaltime_as_ical_string(const struct icaltimetype tt)
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' libical-1.0.1.old/src/libical/icaltimezone.c 
libical-1.0.1/src/libical/icaltimezone.c
+--- libical-1.0.1.old/src/libical/icaltimezone.c       2014-10-09 15:07:05 +0000
++++ libical-1.0.1/src/libical/icaltimezone.c   2015-07-10 18:02:31 +0000
 @@ -61,12 +61,19 @@ static pthread_mutex_t builtin_mutex = P
  #undef gmtime_r
  
@@ -55,20 +222,20 @@ diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltimezone.c
  
  /** The prefix we use to uniquely identify TZIDs.
      It must begin and end with forward slashes.
-@@ -1702,10 +1709,10 @@ icaltimezone_parse_zone_tab            (void)
+@@ -1731,10 +1738,10 @@ icaltimezone_parse_zone_tab            (void)
        return;
      }
- #ifndef USE_BUILTIN_TZDATA
+     if (!use_builtin_tzdata) {
 -    snprintf (filename, filename_len, "%s/%s", icaltzutil_get_zone_directory (),
 +    snprintf (filename, filename_len, "%s" DIR_SEPARATOR "%s", icaltzutil_get_zone_directory (),
              ZONES_TAB_SYSTEM_FILENAME);
- #else    
+     } else {
 -    snprintf (filename, filename_len, "%s/%s", get_zone_directory(),
 +    snprintf (filename, filename_len, "%s" DIR_SEPARATOR "%s", get_zone_directory(),
              ZONES_TAB_FILENAME);
- #endif    
+     }
  
-@@ -1823,7 +1830,7 @@ icaltimezone_load_builtin_timezone       (ical
+@@ -1856,7 +1863,7 @@ icaltimezone_load_builtin_timezone       (ical
        goto out;
      }
  
@@ -77,10 +244,10 @@ diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltimezone.c
              zone->location);
  
      fp = fopen (filename, "r");
-diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltz-util.c 
libical-1.0/src/libical/icaltz-util.c
---- libical-1.0.old/src/libical/icaltz-util.c  2013-04-14 17:24:42 +0000
-+++ libical-1.0/src/libical/icaltz-util.c      2014-08-03 12:54:17 +0000
-@@ -50,7 +50,7 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' libical-1.0.1.old/src/libical/icaltz-util.c 
libical-1.0.1/src/libical/icaltz-util.c
+--- libical-1.0.1.old/src/libical/icaltz-util.c        2014-10-09 15:07:05 +0000
++++ libical-1.0.1/src/libical/icaltz-util.c    2015-07-10 18:03:56 +0000
+@@ -51,7 +51,7 @@
  # endif
  #endif
  
@@ -89,27 +256,23 @@ diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltz-util.c
  #if !defined(HAVE_BYTESWAP_H) && !defined(HAVE_SYS_ENDIAN_H) && !defined(HAVE_ENDIAN_H)
  #define bswap_16(x) (((x) << 8) & 0xff00) | (((x) >> 8 ) & 0xff)
  #define bswap_32(x) (((x) << 24) & 0xff000000)  \
-@@ -67,6 +67,11 @@
+@@ -68,6 +68,7 @@
                      | (((x) & 0x00000000000000ffull) << 56))
  #endif
  #include <io.h>
-+#include <sys/param.h> /* for BYTE_ORDER */
-+#endif
-+
-+#ifdef WIN32
 +#include <windows.h>
  #endif
  
- #if defined(__APPLE__)
-@@ -191,6 +196,7 @@ zname_from_stridx (char *str, long int i
+ #if defined(__APPLE__) || defined(__MINGW32__)
+@@ -190,6 +191,7 @@ zname_from_stridx (char *str, long int i
  static void
  set_zonedir (void)
  {
 +      #ifndef WIN32
        char file_path[PATH_MAX];
        const char *fname = ZONES_TAB_SYSTEM_FILENAME;
-       int i;  
-@@ -202,6 +208,42 @@ set_zonedir (void)
+       unsigned int i;
+@@ -201,6 +203,42 @@ set_zonedir (void)
                        break;
                }
        }
@@ -151,19 +314,19 @@ diff -upr -x .deps -x .libs -x '*.la' libical-1.0.old/src/libical/icaltz-util.c
 +      #endif
  }
  
- 
-@@ -256,6 +298,14 @@ icaltzutil_fetch_timezone (const char *l
+ const char *
+@@ -242,6 +280,14 @@ icaltzutil_fetch_timezone (const char *l
  
        full_path = (char *) malloc (strlen (basedir) + strlen (location) + 2);
        sprintf (full_path,"%s/%s",basedir, location);
 +      #ifdef WIN32
-+      pos = strlen(basedir);
-+      while(full_path[pos]) {
-+              if (full_path[pos] == '/')
-+                      full_path[pos] = '\\';
-+              pos++;
++      i = strlen(basedir);
++      while(full_path[i]) {
++              if (full_path[i] == '/')
++                      full_path[i] = '\\';
++              i++;
 +      }
 +      #endif
- 
        if ((f = fopen (full_path, "rb")) == 0) {
                icalerror_set_errno (ICAL_FILE_ERROR);
+               free (full_path);
diff --git a/win32/patches/nettle.patch b/win32/patches/nettle.patch
new file mode 100644
index 0000000..4ad7e86
--- /dev/null
+++ b/win32/patches/nettle.patch
@@ -0,0 +1,69 @@
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' nettle-3.1/config.h.in nettle-3.1.new/config.h.in
+--- nettle-3.1/config.h.in     2015-04-07 19:00:08 +0000
++++ nettle-3.1.new/config.h.in 2015-07-05 18:55:52 +0000
+@@ -142,9 +142,6 @@
+ /* The size of `short', as computed by sizeof. */
+ #undef SIZEOF_SHORT
+ 
+-/* The size of `size_t', as computed by sizeof. */
+-#undef SIZEOF_SIZE_T
+-
+ /* The size of `void*', as computed by sizeof. */
+ #undef SIZEOF_VOIDP
+ 
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' nettle-3.1/configure nettle-3.1.new/configure
+--- nettle-3.1/configure       2015-04-07 19:00:08 +0000
++++ nettle-3.1.new/configure   2015-07-05 18:54:38 +0000
+@@ -5444,39 +5444,7 @@ cat >>confdefs.h <<_ACEOF
+ _ACEOF
+ 
+ 
+-# The cast to long int works around a bug in the HP C Compiler
+-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+-# This bug is HP SR number 8606223364.
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
+-$as_echo_n "checking size of size_t... " >&6; }
+-if ${ac_cv_sizeof_size_t+:} false; then :
+-  $as_echo_n "(cached) " >&6
+-else
+-  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        
"$ac_includes_default"; then :
+-
+-else
+-  if test "$ac_cv_type_size_t" = yes; then
+-     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error 77 "cannot compute sizeof (size_t)
+-See \`config.log' for more details" "$LINENO" 5; }
+-   else
+-     ac_cv_sizeof_size_t=0
+-   fi
+-fi
+-
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
+-$as_echo "$ac_cv_sizeof_size_t" >&6; }
+-
+-
+-
+-cat >>confdefs.h <<_ACEOF
+-#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
+-_ACEOF
+-
+-
++#AC_CHECK_SIZEOF(size_t)
+ 
+ for ac_header in openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h openssl/ecdsa.h
+ do :
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' nettle-3.1/configure.ac nettle-3.1.new/configure.ac
+--- nettle-3.1/configure.ac    2015-04-07 19:00:08 +0000
++++ nettle-3.1.new/configure.ac        2015-07-05 18:53:40 +0000
+@@ -183,7 +183,7 @@ AC_TYPE_UID_T
+ AC_TYPE_SIZE_T
+ AC_HEADER_TIME
+ AC_CHECK_SIZEOF(long)
+-AC_CHECK_SIZEOF(size_t)
++#AC_CHECK_SIZEOF(size_t)
+ 
+ AC_CHECK_HEADERS([openssl/blowfish.h openssl/des.h openssl/cast.h openssl/aes.h openssl/ecdsa.h],,
+ [enable_openssl=no
diff --git a/win32/patches/openldap.patch b/win32/patches/openldap.patch
index 3f737f0..a53e5a4 100644
--- a/win32/patches/openldap.patch
+++ b/win32/patches/openldap.patch
@@ -1,7 +1,7 @@
-diff -upr openldap-2.4.9.old/Makefile openldap-2.4.9/Makefile
---- openldap-2.4.9.old/Makefile        2014-03-26 05:17:05 +0000
-+++ openldap-2.4.9/Makefile    2014-03-26 21:20:23 +0000
-@@ -264,7 +264,7 @@ FORCE:
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/Makefile openldap-2.4.39/Makefile
+--- openldap-2.4.39.old/Makefile       2015-07-06 18:34:49 +0000
++++ openldap-2.4.39/Makefile   2015-07-06 17:28:46 +0000
+@@ -266,7 +266,7 @@ FORCE:
  ## top-level directory of the distribution or, alternatively, at
  ## <http://www.OpenLDAP.org/license.html>.
  
@@ -10,9 +10,9 @@ diff -upr openldap-2.4.9.old/Makefile openldap-2.4.9/Makefile
  CLEANDIRS=
  INSTALLDIRS= 
  
-diff -upr openldap-2.4.9.old/Makefile.in openldap-2.4.9/Makefile.in
---- openldap-2.4.9.old/Makefile.in     2014-03-26 05:17:05 +0000
-+++ openldap-2.4.9/Makefile.in 2014-03-26 21:20:00 +0000
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/Makefile.in openldap-2.4.39/Makefile.in
+--- openldap-2.4.39.old/Makefile.in    2015-07-06 18:34:49 +0000
++++ openldap-2.4.39/Makefile.in        2015-07-06 17:28:46 +0000
 @@ -13,7 +13,7 @@
  ## top-level directory of the distribution or, alternatively, at
  ## <http://www.OpenLDAP.org/license.html>.
@@ -22,22 +22,34 @@ diff -upr openldap-2.4.9.old/Makefile.in openldap-2.4.9/Makefile.in
  CLEANDIRS=
  INSTALLDIRS= 
  
-diff -upr openldap-2.4.9.old/include/ldap_pvt_thread.h openldap-2.4.9/include/ldap_pvt_thread.h
---- openldap-2.4.9.old/include/ldap_pvt_thread.h       2014-03-26 05:17:20 +0000
-+++ openldap-2.4.9/include/ldap_pvt_thread.h   2014-03-26 21:19:42 +0000
-@@ -61,7 +61,7 @@ ldap_pvt_thread_set_concurrency LDAP_P((
- #define       LDAP_PVT_THREAD_SET_STACK_SIZE
- #ifndef LDAP_PVT_THREAD_STACK_SIZE
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/include/ldap.h 
openldap-2.4.39/include/ldap.h
+--- openldap-2.4.39.old/include/ldap.h 2014-01-25 13:36:15 +0000
++++ openldap-2.4.39/include/ldap.h     2015-07-06 18:47:29 +0000
+@@ -2211,7 +2211,7 @@ ldap_parse_vlvresponse_control LDAP_P((
+       ber_int_t *target_posp,
+       ber_int_t *list_countp,
+       struct berval **contextp,
+-      int           *errcodep ));
++      ber_int_t     *errcodep ));
+ 
+ /*
+  * LDAP Who Am I?
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/include/ldap_pvt_thread.h 
openldap-2.4.39/include/ldap_pvt_thread.h
+--- openldap-2.4.39.old/include/ldap_pvt_thread.h      2015-07-06 18:34:49 +0000
++++ openldap-2.4.39/include/ldap_pvt_thread.h  2015-07-06 17:28:50 +0000
+@@ -68,7 +68,7 @@ ldap_pvt_thread_set_concurrency LDAP_P((
+ #     undef LDAP_PVT_THREAD_SET_STACK_SIZE
+ #elif !defined( LDAP_PVT_THREAD_STACK_SIZE )
        /* LARGE stack. Will be twice as large on 64 bit machine. */
--#define LDAP_PVT_THREAD_STACK_SIZE    ( 1 * 1024 * 1024 * sizeof(void *) )
-+#define LDAP_PVT_THREAD_STACK_SIZE    ( 1 * 1024 * 1024 * 4 )
- /* May be explicitly defined to zero to disable it */
- #elif LDAP_PVT_THREAD_STACK_SIZE == 0
- #undef LDAP_PVT_THREAD_SET_STACK_SIZE
-diff -upr openldap-2.4.9.old/include/portable.h openldap-2.4.9/include/portable.h
---- openldap-2.4.9.old/include/portable.h      2014-03-26 05:17:20 +0000
-+++ openldap-2.4.9/include/portable.h  2014-03-26 21:19:42 +0000
-@@ -1086,7 +1086,7 @@
+-#     define LDAP_PVT_THREAD_STACK_SIZE ( 1 * 1024 * 1024 * sizeof(void *) )
++#     define LDAP_PVT_THREAD_STACK_SIZE ( 1 * 1024 * 1024 * 8 )
+ #endif
+ #endif /* !LDAP_PVT_THREAD_H_DONE */
+ 
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/include/portable.h 
openldap-2.4.39/include/portable.h
+--- openldap-2.4.39.old/include/portable.h     2015-07-06 18:38:19 +0000
++++ openldap-2.4.39/include/portable.h 2015-07-06 17:28:46 +0000
+@@ -1113,7 +1113,7 @@
  #define snprintf _snprintf
  
  /* Define like ber_socklen_t if <sys/socket.h> does not define. */
@@ -46,10 +58,66 @@ diff -upr openldap-2.4.9.old/include/portable.h openldap-2.4.9/include/portable.
  
  /* Define to `signed int' if <sys/types.h> does not define. */
  /* #undef ssize_t */
-diff -upr openldap-2.4.9.old/libraries/libldap_r/Makefile openldap-2.4.9/libraries/libldap_r/Makefile
---- openldap-2.4.9.old/libraries/libldap_r/Makefile    2014-03-26 05:17:20 +0000
-+++ openldap-2.4.9/libraries/libldap_r/Makefile        2014-03-26 21:19:42 +0000
-@@ -304,10 +304,10 @@ LIB_DEFS = -DLDAP_LIBRARY
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/libraries/libldap/tls_g.c 
openldap-2.4.39/libraries/libldap/tls_g.c
+--- openldap-2.4.39.old/libraries/libldap/tls_g.c      2014-01-25 13:36:15 +0000
++++ openldap-2.4.39/libraries/libldap/tls_g.c  2015-07-06 19:13:40 +0000
+@@ -158,7 +158,9 @@ static struct gcry_thread_cbs tlsg_threa
+ static void
+ tlsg_thr_init( void )
+ {
++      #if LIBGNUTLS_VERSION_NUMBER <= 0x020b00
+       gcry_control (GCRYCTL_SET_THREAD_CBS, &tlsg_thread_cbs);
++      #endif
+ }
+ #endif /* LDAP_R_COMPILE */
+ 
+@@ -168,7 +170,7 @@ tlsg_thr_init( void )
+ static int
+ tlsg_init( void )
+ {
+-#ifdef HAVE_GCRYPT_RAND
++#if defined(HAVE_GCRYPT_RAND) && LIBGNUTLS_VERSION_NUMBER <= 0x020b00
+       struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT();
+       if ( lo->ldo_tls_randfile &&
+               gcry_control( GCRYCTL_SET_RNDEGD_SOCKET, lo->ldo_tls_randfile )) {
+@@ -368,23 +370,24 @@ tlsg_ctx_init( struct ldapoptions *lo, s
+                * then we have to build the cert chain.
+                */
+               if ( max == 1 && !gnutls_x509_crt_check_issuer( certs[0], certs[0] )) {
+-                      gnutls_x509_crt_t *cas;
+-                      unsigned int i, j, ncas;
++                      unsigned int i;
+ 
+-                      gnutls_certificate_get_x509_cas( ctx->cred, &cas, &ncas );
++                      /*gnutls_certificate_get_x509_cas( ctx->cred, &cas, &ncas );*/
+                       for ( i = 1; i<VERIFY_DEPTH; i++ ) {
+-                              for ( j = 0; j<ncas; j++ ) {
+-                                      if ( gnutls_x509_crt_check_issuer( certs[i-1], cas[j] )) {
+-                                              certs[i] = cas[j];
++                              int found = 0;
++                              gnutls_x509_crt_t issuer;
++                              if (gnutls_certificate_get_issuer(ctx->cred, certs[i-1], &issuer, 
GNUTLS_TL_GET_COPY) == GNUTLS_E_SUCCESS) {
++                                      if ( gnutls_x509_crt_check_issuer( certs[i-1], issuer )) {
++                                              certs[i] = issuer;
+                                               max++;
+                                               /* If this CA is self-signed, we're done */
+-                                              if ( gnutls_x509_crt_check_issuer( cas[j], cas[j] ))
+-                                                      j = ncas;
++                                              if ( gnutls_x509_crt_check_issuer( issuer, issuer ))
++                                                      found = 1;
+                                               break;
+                                       }
+                               }
+                               /* only continue if we found a CA and it was not self-signed */
+-                              if ( j == ncas )
++                              if ( found )
+                                       break;
+                       }
+               }
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/libraries/libldap_r/Makefile 
openldap-2.4.39/libraries/libldap_r/Makefile
+--- openldap-2.4.39.old/libraries/libldap_r/Makefile   2015-07-06 18:34:49 +0000
++++ openldap-2.4.39/libraries/libldap_r/Makefile       2015-07-06 17:28:46 +0000
+@@ -310,10 +310,10 @@ LIB_DEFS = -DLDAP_LIBRARY
  
  XDEFS = -DLDAP_R_COMPILE -I$(XXDIR)
  XLIBS = $(LIBRARY) $(LDAP_LIBLBER_LA) $(LDAP_LIBLUTIL_A)
@@ -63,10 +131,10 @@ diff -upr openldap-2.4.9.old/libraries/libldap_r/Makefile openldap-2.4.9/librari
  
  .links : Makefile
        @for i in $(XXSRCS); do \
-diff -upr openldap-2.4.9.old/libraries/libldap_r/Makefile.in openldap-2.4.9/libraries/libldap_r/Makefile.in
---- openldap-2.4.9.old/libraries/libldap_r/Makefile.in 2014-03-26 05:17:20 +0000
-+++ openldap-2.4.9/libraries/libldap_r/Makefile.in     2014-03-26 21:19:42 +0000
-@@ -53,10 +53,10 @@ LIB_DEFS = -DLDAP_LIBRARY
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' openldap-2.4.39.old/libraries/libldap_r/Makefile.in 
openldap-2.4.39/libraries/libldap_r/Makefile.in
+--- openldap-2.4.39.old/libraries/libldap_r/Makefile.in        2015-07-06 18:34:49 +0000
++++ openldap-2.4.39/libraries/libldap_r/Makefile.in    2015-07-06 17:28:46 +0000
+@@ -57,10 +57,10 @@ LIB_DEFS = -DLDAP_LIBRARY
  
  XDEFS = -DLDAP_R_COMPILE -I$(XXDIR)
  XLIBS = $(LIBRARY) $(LDAP_LIBLBER_LA) $(LDAP_LIBLUTIL_A)
diff --git a/win32/patches/p11-kit.patch b/win32/patches/p11-kit.patch
index 00694bb..994308c 100644
--- a/win32/patches/p11-kit.patch
+++ b/win32/patches/p11-kit.patch
@@ -1,60 +1,11 @@
-diff -upr p11-kit-98292d6bbc.old/configure.ac p11-kit-98292d6bbc/configure.ac
---- p11-kit-98292d6bbc.old/configure.ac        2014-03-24 21:44:56 +0000
-+++ p11-kit-98292d6bbc/configure.ac    2014-03-24 20:45:41 +0000
-@@ -22,7 +22,7 @@ P11KIT_AGE=0
- AC_CONFIG_HEADERS([config.h])
- AC_CONFIG_MACRO_DIR([build/m4])
- AC_CONFIG_AUX_DIR([build/litter])
--AM_INIT_AUTOMAKE([1.10 foreign serial-tests])
-+AM_INIT_AUTOMAKE([1.10 foreign])
- AM_SANITY_CHECK
- AM_MAINTAINER_MODE([enable])
- m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
-diff -upr p11-kit-98292d6bbc.old/common/compat.c p11-kit-98292d6bbc/common/compat.c
---- p11-kit-98292d6bbc.old/common/compat.c     2014-03-26 05:06:34 +0000
-+++ p11-kit-98292d6bbc/common/compat.c 2014-03-26 05:04:47 +0000
-@@ -840,7 +840,17 @@ strerror_r (int errnum,
-             size_t buflen)
- {
- #ifdef OS_WIN32
-+      #ifdef __MINGW32__
-+      char *str = strerror (errnum);
-+      if (!str) {
-+              *buf = 0;
-+              return EINVAL;
-+      }
-+      strncpy (buf, str, buflen);
-+      return 0;
-+      #else
-       return strerror_s (buf, buflen, errnum);
-+      #endif
- #else
-       #error no strerror_r implementation
- #endif
-diff -upr p11-kit-98292d6bbc.old/p11-kit/Makefile.am p11-kit-98292d6bbc/p11-kit/Makefile.am
---- p11-kit-98292d6bbc.old/p11-kit/Makefile.am 2014-03-26 05:06:05 +0000
-+++ p11-kit-98292d6bbc/p11-kit/Makefile.am     2014-03-24 23:17:41 +0000
-@@ -98,6 +98,11 @@ libp11_kit_testable_la_CFLAGS = \
+diff -upr -x .deps -x .libs -x '*.la' -x '*.lo' p11-kit-ec9e2450ba/p11-kit/Makefile.am 
p11-kit-ec9e2450ba.new/p11-kit/Makefile.am
+--- p11-kit-ec9e2450ba/p11-kit/Makefile.am     2015-02-20 20:28:59 +0000
++++ p11-kit-ec9e2450ba.new/p11-kit/Makefile.am 2015-07-06 16:01:39 +0000
+@@ -73,6 +73,7 @@ libp11_kit_testable_la_CFLAGS = \
        $(LIBFFI_CFLAGS) \
        $(NULL)
  
-+# Proxy module is actually same as library, so install a link
-+install-exec-hook:
-+      $(LN_S) -f `readlink $(DESTDIR)$(libdir)/libp11-kit.so` $(DESTDIR)$(libdir)/p11-kit-proxy.so
-+      $(MKDIR_P) $(DESTDIR)$(p11_package_config_modules)
-+
- endif
- 
- pkgconfigdir = $(libdir)/pkgconfig
-@@ -112,11 +117,6 @@ EXTRA_DIST = \
-       docs.h \
-       $(NULL)
- 
--# Proxy module is actually same as library, so install a link
--install-exec-hook:
--      $(LN_S) -f `readlink $(DESTDIR)$(libdir)/libp11-kit.so` $(DESTDIR)$(libdir)/p11-kit-proxy.so
--      $(MKDIR_P) $(DESTDIR)$(p11_package_config_modules)
--
- bin_PROGRAMS = \
-       p11-kit
++libp11_kit_la_LIBADD += -lws2_32
+ else
  
+ libp11_kit_testable_la_CFLAGS = \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]