From 826b0087dc14023691b2622aa6d40ac467f49570 Mon Sep 17 00:00:00 2001 From: Martchus Date: Mon, 22 May 2017 14:04:54 +0200 Subject: [PATCH] Import mingw-w64-gnutls --- gnutls/mingw-w64/PKGBUILD | 65 +++++++++++++++++++ gnutls/mingw-w64/gnutls-3.1.11-nosrp.patch | 12 ++++ gnutls/mingw-w64/gnutls-3.2.7-rpath.patch | 12 ++++ .../gnutls-3.3.6-default-policy.patch | 31 +++++++++ ...utls-fix-external-libtasn1-detection.patch | 11 ++++ 5 files changed, 131 insertions(+) create mode 100644 gnutls/mingw-w64/PKGBUILD create mode 100644 gnutls/mingw-w64/gnutls-3.1.11-nosrp.patch create mode 100644 gnutls/mingw-w64/gnutls-3.2.7-rpath.patch create mode 100644 gnutls/mingw-w64/gnutls-3.3.6-default-policy.patch create mode 100644 gnutls/mingw-w64/gnutls-fix-external-libtasn1-detection.patch diff --git a/gnutls/mingw-w64/PKGBUILD b/gnutls/mingw-w64/PKGBUILD new file mode 100644 index 00000000..9c66459e --- /dev/null +++ b/gnutls/mingw-w64/PKGBUILD @@ -0,0 +1,65 @@ +pkgname=mingw-w64-gnutls +pkgver=3.4.17 +pkgrel=1 +pkgdesc="A library which provides a secure layer over a reliable transport layer (mingw-w64)" +arch=(any) +url="http://www.gnu.org/software/gnutls" +license=("GPL3, LGPL2.1") +makedepends=(mingw-w64-configure) +depends=(mingw-w64-crt mingw-w64-libtasn1 mingw-w64-readline mingw-w64-zlib mingw-w64-nettle mingw-w64-p11-kit) +options=(staticlibs !strip !buildflags) +optdepends=("mingw-w64-openssl: libgnutls-openssl") +source=(ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-${pkgver}.tar.xz{,.sig} + 'gnutls-3.2.7-rpath.patch' + 'gnutls-3.1.11-nosrp.patch' + 'gnutls-3.3.6-default-policy.patch' + 'gnutls-fix-external-libtasn1-detection.patch') +md5sums=('03ea7575a43f58964635a5064cce4dc0' + 'SKIP' + '291612225516234ede7e60f8b367dd8b' + 'c3a2abfe08f47d9b07f770689b0c1b39' + 'e0dba6bfe81b965a352f965b1398bcad' + 'f90a0f01eb0f2a6b7afcc25a836eb67e') +validpgpkeys=('1F42418905D8206AA754CCDC29EE58B996865171') + +_architectures="i686-w64-mingw32 x86_64-w64-mingw32" + +prepare() { + cd "${srcdir}/gnutls-${pkgver}" + patch -p0 -i ../gnutls-fix-external-libtasn1-detection.patch + patch -p1 -i ../gnutls-3.2.7-rpath.patch + patch -p1 -i ../gnutls-3.1.11-nosrp.patch + #patch -p1 -i ../gnutls-3.3.6-default-policy.patch + sed 's/gnutls_srp.c//g' -i lib/Makefile.in + sed 's/gnutls_srp.lo//g' -i lib/Makefile.in + rm -f lib/minitasn1/*.c lib/minitasn1/*.h +} + +build() { + cd "${srcdir}/gnutls-${pkgver}" + for _arch in ${_architectures}; do + mkdir -p build-${_arch} && pushd build-${_arch} + ${_arch}-configure --disable-doc \ + --disable-openssl-compatibility \ + --disable-srp-authentication \ + --disable-nls \ + --disable-rpath \ + --disable-non-suiteb-curves \ + --with-default-trust-store-pkcs11="pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit" \ + --enable-local-libopts \ + --without-tpm + make + popd + done +} + +package() { + for _arch in ${_architectures}; do + cd "${srcdir}/gnutls-${pkgver}/build-${_arch}" + make DESTDIR="$pkgdir" install + rm "$pkgdir"/usr/${_arch}/bin/*.exe + rm "$pkgdir"/usr/${_arch}/bin/*.def + ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll + ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a + done +} diff --git a/gnutls/mingw-w64/gnutls-3.1.11-nosrp.patch b/gnutls/mingw-w64/gnutls-3.1.11-nosrp.patch new file mode 100644 index 00000000..29227c08 --- /dev/null +++ b/gnutls/mingw-w64/gnutls-3.1.11-nosrp.patch @@ -0,0 +1,12 @@ +diff -up gnutls-3.1.10/tests/srp/mini-srp.c.noecc gnutls-3.1.10/tests/srp/mini-srp.c +--- gnutls-3.1.10/tests/srp/mini-srp.c.noecc 2013-03-21 21:42:28.000000000 +0100 ++++ gnutls-3.1.10/tests/srp/mini-srp.c 2013-03-25 13:42:20.753422209 +0100 +@@ -27,7 +27,7 @@ + #include + #include + +-#if defined(_WIN32) ++#if defined(_WIN32) || !defined(ENABLE_SRP) + + int main() + { diff --git a/gnutls/mingw-w64/gnutls-3.2.7-rpath.patch b/gnutls/mingw-w64/gnutls-3.2.7-rpath.patch new file mode 100644 index 00000000..4e6aed37 --- /dev/null +++ b/gnutls/mingw-w64/gnutls-3.2.7-rpath.patch @@ -0,0 +1,12 @@ +diff -ur gnutls-3.2.7.orig/configure gnutls-3.2.7/configure +--- gnutls-3.2.7.orig/configure 2013-11-23 11:09:49.000000000 +0100 ++++ gnutls-3.2.7/configure 2013-11-25 16:53:05.559440656 +0100 +@@ -39652,7 +39652,7 @@ + shlibpath_overrides_runpath=unknown + version_type=none + dynamic_linker="$host_os ld.so" +-sys_lib_dlsearch_path_spec="/lib /usr/lib" ++sys_lib_dlsearch_path_spec="/lib /usr/lib /lib64 /usr/lib64" + need_lib_prefix=unknown + hardcode_into_libs=no + diff --git a/gnutls/mingw-w64/gnutls-3.3.6-default-policy.patch b/gnutls/mingw-w64/gnutls-3.3.6-default-policy.patch new file mode 100644 index 00000000..94185e89 --- /dev/null +++ b/gnutls/mingw-w64/gnutls-3.3.6-default-policy.patch @@ -0,0 +1,31 @@ +diff -ur gnutls-3.3.6.orig/lib/gnutls_priority.c gnutls-3.3.6/lib/gnutls_priority.c +--- gnutls-3.3.6.orig/lib/gnutls_priority.c 2014-07-22 23:43:41.000000000 +0200 ++++ gnutls-3.3.6/lib/gnutls_priority.c 2014-07-23 10:13:30.456310043 +0200 +@@ -1110,6 +1110,7 @@ + int algo; + rmadd_func *fn; + bulk_rmadd_func *bulk_fn; ++ unsigned dset = 0; + + if (err_pos) + *err_pos = priorities; +@@ -1129,10 +1130,16 @@ + + (*priority_cache)->max_empty_records = DEFAULT_MAX_EMPTY_RECORDS; + +- if (priorities == NULL) +- priorities = "NORMAL"; ++ if (priorities == NULL) { ++ priorities = "@SYSTEM"; ++ dset = 1; ++ } + + darg = resolve_priorities(priorities); ++ if (darg == NULL && dset == 1) { ++ priorities = "NORMAL"; ++ darg = resolve_priorities(priorities); ++ } + if (darg == NULL) { + gnutls_assert(); + goto error; +Only in gnutls-3.3.6/lib: gnutls_priority.c.orig diff --git a/gnutls/mingw-w64/gnutls-fix-external-libtasn1-detection.patch b/gnutls/mingw-w64/gnutls-fix-external-libtasn1-detection.patch new file mode 100644 index 00000000..d8c68bb3 --- /dev/null +++ b/gnutls/mingw-w64/gnutls-fix-external-libtasn1-detection.patch @@ -0,0 +1,11 @@ +--- extra/Makefile.in.orig 2013-02-03 19:40:27.000000000 -0600 ++++ extra/Makefile.in 2013-02-06 23:08:54.619176090 -0600 +@@ -76,7 +76,7 @@ + @ENABLE_MINITASN1_TRUE@am__append_1 = -I$(srcdir)/../lib/minitasn1 + @ENABLE_OPENSSL_TRUE@am__append_2 = -version-info $(LT_SSL_CURRENT):$(LT_SSL_REVISION):$(LT_SSL_AGE) + @ENABLE_MINITASN1_TRUE@@ENABLE_OPENSSL_TRUE@am__append_3 = ../lib/minitasn1/libminitasn1.la +-@ENABLE_MINITASN1_FALSE@@ENABLE_OPENSSL_TRUE@am__append_4 = $(LTLIBTASN1) ++@ENABLE_MINITASN1_FALSE@@ENABLE_OPENSSL_TRUE@am__append_4 = $(LIBTASN1_LIBS) + @ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@am__append_5 = \ + @ENABLE_OPENSSL_TRUE@@HAVE_LD_OUTPUT_DEF_TRUE@ -Wl,--output-def,libgnutls-openssl-$(DLL_VERSION).def +