glib-networking: Update to 2.42.0

This commit is contained in:
Alexpux
2014-09-23 15:03:06 +04:00
parent 1e1f19770f
commit dc9092cd79
3 changed files with 121 additions and 27 deletions

View File

@@ -0,0 +1,10 @@
--- glib-networking-2.42.0/configure.ac.orig 2014-09-23 15:51:38.068600000 +0500
+++ glib-networking-2.42.0/configure.ac 2014-09-23 15:52:46.084600000 +0500
@@ -37,6 +37,7 @@
GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40"
GIO_MODULE_DIR=$($PKG_CONFIG --variable giomoduledir gio-2.0)
+GIO_MODULE_DIR=`cygpath -u $GIO_MODULE_DIR`
AS_IF([test "$GIO_MODULE_DIR" = ""],
[AC_MSG_FAILURE(GIO_MODULE_DIR is missing from gio-2.0.pc)])
AC_SUBST(GIO_MODULE_DIR)

View File

@@ -0,0 +1,78 @@
--- glib-networking-2.41.4/tls/gnutls/gtlsbackend-gnutls.c.orig 2014-02-01 14:46:53.000000000 +0000
+++ glib-networking-2.41.4/tls/gnutls/gtlsbackend-gnutls.c 2014-08-01 15:33:08.627929900 +0000
@@ -31,6 +31,10 @@
#include "gtlsfiledatabase-gnutls.h"
#include "gtlsserverconnection-gnutls.h"
+#if defined(G_OS_WIN32)
+#include <windows.h>
+#endif
+
struct _GTlsBackendGnutlsPrivate
{
GMutex mutex;
@@ -37,6 +37,30 @@
GTlsDatabase *default_database;
};
+#if defined(G_OS_WIN32)
+static HMODULE backend_dll = NULL;
+
+BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved);
+
+BOOL WINAPI
+DllMain (HINSTANCE hinstDLL,
+ DWORD fdwReason,
+ LPVOID lpReserved)
+{
+ switch (fdwReason)
+ {
+ case DLL_PROCESS_ATTACH:
+ backend_dll = (HMODULE) hinstDLL;
+ break;
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
+#endif
+
static void g_tls_backend_gnutls_interface_init (GTlsBackendInterface *iface);
G_DEFINE_DYNAMIC_TYPE_EXTENDED (GTlsBackendGnutls, g_tls_backend_gnutls, G_TYPE_OBJECT, 0,
@@ -102,7 +124,32 @@
{
const gchar *anchor_file = NULL;
#ifdef GTLS_SYSTEM_CA_FILE
- anchor_file = GTLS_SYSTEM_CA_FILE;
+ if (!g_path_is_absolute (GTLS_SYSTEM_CA_FILE)
+#ifdef G_OS_WIN32
+ || strlen (GTLS_SYSTEM_CA_FILE) < 3
+ || (GTLS_SYSTEM_CA_FILE)[1] != ':')
+#endif
+ {
+ gchar *root;
+ gchar *anchor;
+ GTlsDatabase *tls_database;
+
+ root = g_win32_get_package_installation_directory_of_module (backend_dll);
+
+ if (root)
+ {
+ anchor = g_build_path ("/", root, GTLS_SYSTEM_CA_FILE, NULL);
+ g_free (root);
+ }
+ else
+ anchor = NULL;
+
+ tls_database = g_tls_file_database_new (anchor, error);
+ g_free (anchor);
+ return tls_database;
+ }
+ else
+ anchor_file = GTLS_SYSTEM_CA_FILE;
#endif
return g_tls_file_database_new (anchor_file, error);
}

View File

@@ -1,9 +1,8 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
_realname=glib-networking
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.40.1
pkgver=2.42.0
pkgrel=1
pkgdesc="Network-related GIO modules for glib (mingw-w64)"
arch=(any)
@@ -11,40 +10,47 @@ url="http://ftp.gnome.org/pub/GNOME/sources/libsoup"
license=("LGPL")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2" "intltool")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-libgcrypt"
"${MINGW_PACKAGE_PREFIX}-gnutls"
"${MINGW_PACKAGE_PREFIX}-glib2"
"${MINGW_PACKAGE_PREFIX}-gettext"
"${MINGW_PACKAGE_PREFIX}-p11-kit"
"${MINGW_PACKAGE_PREFIX}-xz")
"${MINGW_PACKAGE_PREFIX}-libgcrypt"
"${MINGW_PACKAGE_PREFIX}-gnutls"
"${MINGW_PACKAGE_PREFIX}-glib2"
"${MINGW_PACKAGE_PREFIX}-gettext"
"${MINGW_PACKAGE_PREFIX}-p11-kit"
"${MINGW_PACKAGE_PREFIX}-xz")
options=('staticlibs' 'strip')
source=("http://ftp.gnome.org/pub/gnome/sources/${_realname}/${pkgver%.*}/${_realname}-$pkgver.tar.xz"
0001-dont-overwrite-prefix-remain-relative.mingw.patch)
md5sums=('505f8a40fad96944b292d1c48f4e5569'
'6c55845f6c66fc8401915d1561b6872d')
0001-dont-overwrite-prefix-remain-relative.mingw.patch
0001-hack-path.patch
0002-relative-system-ca-file.mingw.patch)
md5sums=('d1935e6974da7f39d265303c87a8389b'
'6c55845f6c66fc8401915d1561b6872d'
'5b72f575aee2cd8d7b30f580ebca4971'
'b96895469c4dc36e172056763aa0d014')
prepare() {
cd "$srcdir/${_realname}-$pkgver"
patch -p1 -i ${srcdir}/0001-dont-overwrite-prefix-remain-relative.mingw.patch
#autoreconf -fi
#patch -p1 -i ${srcdir}/0001-dont-overwrite-prefix-remain-relative.mingw.patch
patch -p1 -i ${srcdir}/0001-hack-path.patch
patch -p1 -i ${srcdir}/0002-relative-system-ca-file.mingw.patch
autoreconf -fi
}
build() {
mkdir -p "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MINGW_CHOST}"
"${srcdir}"/${_realname}-$pkgver/configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--without-libproxy \
--without-gnome-proxy \
--without-ca-certificates
make
mkdir -p "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MINGW_CHOST}"
"${srcdir}"/${_realname}-$pkgver/configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--without-libproxy \
--without-gnome-proxy \
--with-ca-certificates=../ssl/certs/ca-bundle.crt \
--with-pkcs11
make
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
make DESTDIR="$pkgdir" install
mv ${pkgdir}/lib ${pkgdir}${MINGW_PREFIX}/
rm -f ${pkgdir}${MINGW_PREFIX}/lib/gio/modules/*.a
cd "${srcdir}/build-${MINGW_CHOST}"
make DESTDIR="$pkgdir" install
#mv ${pkgdir}/lib ${pkgdir}${MINGW_PREFIX}/
rm -f ${pkgdir}${MINGW_PREFIX}/lib/gio/modules/*.a
}