[vlc-devel] [PATCH 1/2] contrib: gnutls: update to 3.6.14
Rémi Denis-Courmont
remi at remlab.net
Sun Jun 7 21:04:40 CEST 2020
Le torstaina 4. kesäkuuta 2020, 18.09.44 EEST Steve Lhomme a écrit :
> ecc_scalar_random is public in the nettle they embed, but the symbol is not
> mangled in the original nettle package, so it's not mangled here either. It
> leads to the nettle symbol behind defined twice.
>
> The bug is actually in nettle, not the script that imports nettle in gnutls.
> ---
> contrib/src/gnutls/SHA512SUMS | 2 +-
> contrib/src/gnutls/gnutls-fix-mangling.patch | 10 ++++++++++
> contrib/src/gnutls/rules.mak | 9 ++-------
> 3 files changed, 13 insertions(+), 8 deletions(-)
> create mode 100644 contrib/src/gnutls/gnutls-fix-mangling.patch
>
> diff --git a/contrib/src/gnutls/SHA512SUMS b/contrib/src/gnutls/SHA512SUMS
> index 4dc1221e2b46..9d3bff8a5a31 100644
> --- a/contrib/src/gnutls/SHA512SUMS
> +++ b/contrib/src/gnutls/SHA512SUMS
> @@ -1 +1 @@
> -c3c4178c8663e3d1207aaf771ceb43e7e75a9f11b4ea3a26fde9d04a23762b05bac8fe290b7
> 4d63b815a354b79fc3557cfc218c196e1f80eb1fbce762948a926 gnutls-3.6.7.1.tar.xz
> +b2d427b5542a4679117c011dffa8efb0e0bffa3ce9cebc319f8998d03f80f4168d08f9fda3
> 5df18dbeaaada59e479d325a6c1c77d5ca7f8ce221b44e42bfe604 gnutls-3.6.14.tar.xz
> diff --git a/contrib/src/gnutls/gnutls-fix-mangling.patch
> b/contrib/src/gnutls/gnutls-fix-mangling.patch new file mode 100644
> index 000000000000..ec4a9782d157
> --- /dev/null
> +++ b/contrib/src/gnutls/gnutls-fix-mangling.patch
> @@ -0,0 +1,10 @@
> +--- gnutls/lib/nettle/ecc/ecc-internal.h.ecc_random 2020-06-03
> 15:05:27.000000000 +0200 ++++
> gnutls/lib/nettle/ecc/ecc-internal.h 2020-06-04 16:31:00.523456500 +0200
> +@@ -71,6 +71,7 @@
> + #define ecc_mul_g_eh _gnutls_nettle_ecc_ecc_mul_g_eh
> + #define ecc_mul_a_eh _gnutls_nettle_ecc_ecc_mul_a_eh
> + #define ecc_mul_m _gnutls_nettle_ecc_ecc_mul_m
> ++#define ecc_scalar_random _gnutls_nettle_ecc_scalar_random
> + #define cnd_copy _gnutls_nettle_ecc_cnd_copy
> + #define sec_add_1 _gnutls_nettle_ecc_sec_add_1
> + #define sec_sub_1 _gnutls_nettle_ecc_sec_sub_1
> diff --git a/contrib/src/gnutls/rules.mak b/contrib/src/gnutls/rules.mak
> index 791ced1ee3ac..7db4a149952b 100644
> --- a/contrib/src/gnutls/rules.mak
> +++ b/contrib/src/gnutls/rules.mak
> @@ -1,6 +1,6 @@
> # GnuTLS
>
> -GNUTLS_VERSION := 3.6.7.1
> +GNUTLS_VERSION := 3.6.14
> GNUTLS_URL :=
> https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-$(GNUTLS_VERSION).tar.x
> z
>
> ifdef BUILD_NETWORK
> @@ -17,19 +17,14 @@ $(TARBALLS)/gnutls-$(GNUTLS_VERSION).tar.xz:
>
> .sum-gnutls: gnutls-$(GNUTLS_VERSION).tar.xz
>
> -# gnutls 3.6.7.1 unpacks into a dir named 3.6.7
> -gnutls: UNPACK_DIR=gnutls-3.6.7
> gnutls: gnutls-$(GNUTLS_VERSION).tar.xz .sum-gnutls
> $(UNPACK)
> -ifdef HAVE_WIN32
> - cd $(UNPACK_DIR) && sed -i.orig -e s/"@INET_PTON_LIB@
> @LIBPTHREAD@"/"@INET_PTON_LIB@ -lcrypt32 @LIBPTHREAD@"/g lib/gnutls.pc.in
> + $(APPLY) $(SRC)/gnutls/gnutls-fix-mangling.patch
> # disable the dllimport in static linking (pkg-config --static
doesn't
> handle Cflags.private) cd $(UNPACK_DIR) && sed -i.orig -e s/"_SYM_EXPORT
> __declspec(dllimport)"/"_SYM_EXPORT"/g lib/includes/gnutls/gnutls.h.in
> -endif
> ifdef HAVE_ANDROID
> $(APPLY) $(SRC)/gnutls/no-create-time-h.patch
> endif
> - cd $(UNPACK_DIR) && sed -i.orig -e 's/@LIBATOMIC_LIBS@/
@LIBATOMIC_LIBS@
Not sure why this (also above) is there...
> @HOGWEED_LIBS@ @NETTLE_LIBS@/' lib/gnutls.pc.in $(call
> pkg_static,"lib/gnutls.pc.in")
> $(UPDATE_AUTOCONFIG)
> $(MOVE)
--
雷米‧德尼-库尔蒙
http://www.remlab.net/
More information about the vlc-devel
mailing list