commit:     26ad093791c6f0d4953b939e87eb259b49eb3b89
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 23 01:28:08 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 23 01:28:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26ad0937

net-misc/curl: fix build w/ USE='gnutls openssl'

Closes: https://bugs.gentoo.org/887833
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/curl/curl-7.87.0.ebuild                   | 16 +++++----
 .../files/curl-7.87.0-gnutls-openssl-build.patch   | 39 ++++++++++++++++++++++
 2 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/net-misc/curl/curl-7.87.0.ebuild b/net-misc/curl/curl-7.87.0.ebuild
index f804460a11c1..128b0427d016 100644
--- a/net-misc/curl/curl-7.87.0.ebuild
+++ b/net-misc/curl/curl-7.87.0.ebuild
@@ -37,16 +37,16 @@ RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
        brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
        ssl? (
                gnutls? (
-                       net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
-                       dev-libs/nettle:0=[${MULTILIB_USEDEP}]
+                       net-libs/gnutls:=[static-libs?,${MULTILIB_USEDEP}]
+                       dev-libs/nettle:=[${MULTILIB_USEDEP}]
                        app-misc/ca-certificates
                )
                mbedtls? (
-                       net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
+                       net-libs/mbedtls:=[${MULTILIB_USEDEP}]
                        app-misc/ca-certificates
                )
                openssl? (
-                       
dev-libs/openssl:0=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
+                       
dev-libs/openssl:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
                )
                nss? (
                        dev-libs/nss:0[${MULTILIB_USEDEP}]
@@ -63,8 +63,8 @@ RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
                net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
        )
        quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
-       idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
-       adns? ( net-dns/c-ares:0=[${MULTILIB_USEDEP}] )
+       idn? ( net-dns/libidn2:=[static-libs?,${MULTILIB_USEDEP}] )
+       adns? ( net-dns/c-ares:=[${MULTILIB_USEDEP}] )
        kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
        rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
        ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
@@ -99,6 +99,8 @@ MULTILIB_CHOST_TOOLS=(
 PATCHES=(
        "${FILESDIR}"/${PN}-7.30.0-prefix.patch
        "${FILESDIR}"/${PN}-respect-cflags-3.patch
+
+       "${FILESDIR}"/${P}-gnutls-openssl-build.patch
 )
 
 src_prepare() {
@@ -121,7 +123,7 @@ multilib_src_configure() {
 
                if use gnutls || use curl_ssl_gnutls; then
                        einfo "SSL provided by gnutls"
-                       myconf+=( --with-gnutls --with-nettle )
+                       myconf+=( --with-gnutls )
                fi
                if use mbedtls || use curl_ssl_mbedtls; then
                        einfo "SSL provided by mbedtls"

diff --git a/net-misc/curl/files/curl-7.87.0-gnutls-openssl-build.patch 
b/net-misc/curl/files/curl-7.87.0-gnutls-openssl-build.patch
new file mode 100644
index 000000000000..88463dc003f7
--- /dev/null
+++ b/net-misc/curl/files/curl-7.87.0-gnutls-openssl-build.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/887833
+https://github.com/curl/curl/issues/10110
+https://github.com/curl/curl/commit/aef4dc892d012d990c85c7bad0d9d06c2ebfa775
+
+From aef4dc892d012d990c85c7bad0d9d06c2ebfa775 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <[email protected]>
+Date: Thu, 22 Dec 2022 17:40:26 +0100
+Subject: [PATCH] md4: fix build with GnuTLS + OpenSSL v1
+
+Reported-by: Esdras de Morais da Silva
+
+Fixes #10110
+Closes #10142
+--- a/lib/md4.c
++++ b/lib/md4.c
+@@ -86,11 +86,7 @@
+ #include "memdebug.h"
+ 
+ 
+-#if defined(USE_WOLFSSL) && !defined(WOLFSSL_NO_MD4)
+-
+-#elif defined(USE_OPENSSL) && !defined(OPENSSL_NO_MD4)
+-
+-#elif defined(USE_GNUTLS)
++#if defined(USE_GNUTLS)
+ 
+ typedef struct md4_ctx MD4_CTX;
+ 
+@@ -109,6 +105,10 @@ static void MD4_Final(unsigned char *result, MD4_CTX *ctx)
+   md4_digest(ctx, MD4_DIGEST_SIZE, result);
+ }
+ 
++#elif defined(USE_WOLFSSL) && !defined(WOLFSSL_NO_MD4)
++
++#elif defined(USE_OPENSSL) && !defined(OPENSSL_NO_MD4)
++
+ #elif defined(AN_APPLE_OS)
+ typedef CC_MD4_CTX MD4_CTX;
+ 

Reply via email to