From 5bb041f325f3fe65ce36fca7df781bc0cfe91122 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Mon, 8 Jun 2020 07:23:45 +0200 Subject: [PATCH] gnutls: Update to 3.6.14 (#6567) --- .../0006-fix-ncrypt-bcrypt-linking.patch | 94 +++++++++++++++++++ mingw-w64-gnutls/PKGBUILD | 18 ++-- 2 files changed, 106 insertions(+), 6 deletions(-) create mode 100644 mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch diff --git a/mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch b/mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch new file mode 100644 index 0000000000..d19639aea4 --- /dev/null +++ b/mingw-w64-gnutls/0006-fix-ncrypt-bcrypt-linking.patch @@ -0,0 +1,94 @@ +From b47e28afa5c0ee9a7fe1dff907f7eb99511b35c7 Mon Sep 17 00:00:00 2001 +From: Steve Lhomme +Date: Sat, 6 Jun 2020 14:05:16 +0200 +Subject: [PATCH] Merge the extra libraries to link dynamically in + GNUTLS_LIBS_PRIVATE + +This should fix #1020 where bcrypt is missing from thirdparty_libadd. + +Ultimately it would be good to add libraries that always need to be linked in +one variable that is shared between the Makefile and the pkg-config file. + +Signed-off-by: Steve Lhomme +--- + configure.ac | 12 ++++++------ + lib/Makefile.am | 2 +- + lib/gnutls.pc.in | 2 +- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d59553b6a1..74278d5689 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -120,8 +120,7 @@ case "$host" in + *mingw32* | *mingw64*) + have_win=yes + AC_DEFINE([_UNICODE], [1], [Defined to 1 for Unicode (wide chars) APIs]) +- LIB_CRYPT32="-lcrypt32" +- AC_SUBST([LIB_CRYPT32]) ++ GNUTLS_LIBS_PRIVATE="${GNUTLS_LIBS_PRIVATE} -lcrypt32" + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( + [[#include + #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0600 +@@ -135,9 +134,8 @@ case "$host" in + if test "x$enable_dyn_ncrypt" = "xyes"; then + AC_DEFINE([DYN_NCRYPT], 1, [Dynamic use of ncrypt API (win32)]) + else +- LIBNCRYPT="-lncrypt" ++ GNUTLS_LIBS_PRIVATE="${GNUTLS_LIBS_PRIVATE} -lncrypt" + fi +- AC_SUBST([LIBNCRYPT]) + ;; + *darwin*) + have_macosx=yes +@@ -601,11 +599,12 @@ fi + AM_CONDITIONAL(HAVE_LIBIDN2, test "$with_libidn2" != "no") + + if test "x$have_vista_dynamic" = "xno"; then +- AC_CHECK_TYPES([BCRYPT_ALG_HANDLE],[LIBBCRYPT="-lbcrypt"],[],[#include ++ AC_CHECK_TYPES([BCRYPT_ALG_HANDLE],[ ++ GNUTLS_LIBS_PRIVATE="${GNUTLS_LIBS_PRIVATE} -lbcrypt" ++ ],[],[#include + #include ]) + fi + AM_CONDITIONAL(HAVE_BCRYPT, test "$ac_cv_type_BCRYPT_ALG_HANDLE" = "yes") +-AC_SUBST([LIBBCRYPT]) + + AC_ARG_ENABLE(non-suiteb-curves, + AS_HELP_STRING([--disable-non-suiteb-curves], [disable curves not in SuiteB]), +@@ -937,6 +936,7 @@ AC_CHECK_SIZEOF(time_t, 4) + # export for use in scripts + AC_SUBST(ac_cv_sizeof_time_t) + ++AC_SUBST(GNUTLS_LIBS_PRIVATE) + AC_SUBST(GNUTLS_REQUIRES_PRIVATE) + + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index f55f298f7b..fa47ac5e62 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -151,7 +151,7 @@ libgnutls_la_LIBADD = ../gl/libgnu.la x509/libgnutls_x509.la \ + auth/libgnutls_auth.la algorithms/libgnutls_alg.la \ + extras/libgnutls_extras.la + thirdparty_libadd = $(LTLIBZ) $(LTLIBINTL) $(LIBSOCKET) $(LTLIBNSL) \ +- $(P11_KIT_LIBS) $(LIB_SELECT) $(LIB_CRYPT32) ++ $(P11_KIT_LIBS) $(LIB_SELECT) $(GNUTLS_LIBS_PRIVATE) + + if HAVE_LIBIDN2 + thirdparty_libadd += $(LIBIDN2_LIBS) +diff --git a/lib/gnutls.pc.in b/lib/gnutls.pc.in +index 0ed41e2ddd..7cdedda5d7 100644 +--- a/lib/gnutls.pc.in ++++ b/lib/gnutls.pc.in +@@ -19,6 +19,6 @@ Description: Transport Security Layer implementation for the GNU system + URL: https://www.gnutls.org/ + Version: @VERSION@ + Libs: -L${libdir} -lgnutls +-Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @LIB_CRYPT32@ @LIBNCRYPT@ @LIBBCRYPT@ ++Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@ + @GNUTLS_REQUIRES_PRIVATE@ + Cflags: -I${includedir} +-- +2.26.2 + diff --git a/mingw-w64-gnutls/PKGBUILD b/mingw-w64-gnutls/PKGBUILD index 69cdc1ce6c..3fdb94ef29 100644 --- a/mingw-w64-gnutls/PKGBUILD +++ b/mingw-w64-gnutls/PKGBUILD @@ -3,9 +3,9 @@ _realname=gnutls pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -_pkgver=3.6.13 +_pkgver=3.6.14 pkgver=${_pkgver} -pkgrel=2 +pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer (mingw-w64)" arch=('any') license=('GPL3' 'LGPL2.1') @@ -28,14 +28,18 @@ source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v${_pkgver%.*}/${_realname}-${pk 0001-add-missing-define.patch 0003-gnutls-fix-external-libtasn1-detection.patch 0004-disable-broken-examples.patch - 0005-remove-coverage-rules.patch) -sha256sums=('32041df447d9f4644570cf573c9f60358e865637d69b7e59d1159b7240b52f38' + 0005-remove-coverage-rules.patch + 0006-fix-ncrypt-bcrypt-linking.patch) +sha256sums=('5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63' 'SKIP' 'fe1d9df924f72ec82972df328467591e49fe82feacebaf2605d37cc059c5429e' '6493f69e782d60fe04de4b0040987e99851c522d0baf2fe25d10b85b63e97863' 'cbf9e59fb2432d4ac1edcb70734023e074b8058fa4c010a036a40de8449f67fb' - '10ea5a84459af8d848788cc8871decd3b3cdd542b829883ebe4f6ec28d60578f') -validpgpkeys=('1F42418905D8206AA754CCDC29EE58B996865171') + '10ea5a84459af8d848788cc8871decd3b3cdd542b829883ebe4f6ec28d60578f' + '33498061ad943439a9a372d77d6e7aa6c618a3f61f766e9931960bfa07188a20') +validpgpkeys=('0424D4EE81A0E3D119C6F835EDA21E94B565716F') # "Simon Josefsson " +validpgpkeys+=('1F42418905D8206AA754CCDC29EE58B996865171') # "Nikos Mavrogiannopoulos +validpgpkeys+=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno " prepare() { cd "${srcdir}/${_realname}-${_pkgver}" @@ -43,6 +47,8 @@ prepare() { patch -p1 -i ${srcdir}/0003-gnutls-fix-external-libtasn1-detection.patch patch -p1 -i ${srcdir}/0004-disable-broken-examples.patch patch -p1 -i ${srcdir}/0005-remove-coverage-rules.patch + # https://gitlab.com/gnutls/gnutls/-/merge_requests/1280 + patch -p1 -i ${srcdir}/0006-fix-ncrypt-bcrypt-linking.patch WANT_AUTOMAKE=latest autoreconf -fiv -I m4 }