commit:     2dfdb0d3e13f61ee664746b056f572e86bfd8eb6
Author:     Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 23 07:59:51 2025 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Jun 23 12:19:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dfdb0d3

net-misc/curl: Make it easier to disable QUIC

Until now we had a REQUIRED_USE that said "If you enable one of the QUIC
backends you must also enable USE=quic". This has required users that
wish to disable quic globally to also disable the quic backends on curl
in order for portage to successfully resolve a common package.

We're dropping this requirement; the remaining REQUIRED_USE are
sufficient to ensure that users who want QUIC have a backend enabled.

Closes: https://bugs.gentoo.org/956483
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 net-misc/curl/curl-8.12.1.ebuild     |  2 --
 net-misc/curl/curl-8.13.0-r1.ebuild  | 14 ++++++++++----
 net-misc/curl/curl-8.14.1.ebuild     | 14 ++++++++++----
 net-misc/curl/curl-8.15.0_rc1.ebuild | 12 ++++++++++--
 net-misc/curl/curl-9999.ebuild       | 14 ++++++++++----
 5 files changed, 40 insertions(+), 16 deletions(-)

diff --git a/net-misc/curl/curl-8.12.1.ebuild b/net-misc/curl/curl-8.12.1.ebuild
index a497cf397af0..8d74677535e3 100644
--- a/net-misc/curl/curl-8.12.1.ebuild
+++ b/net-misc/curl/curl-8.12.1.ebuild
@@ -55,14 +55,12 @@ REQUIRED_USE="
        )
        curl_quic_openssl? (
                curl_ssl_openssl
-               quic
                !gnutls
                !mbedtls
                !rustls
        )
        curl_quic_ngtcp2? (
                curl_ssl_gnutls
-               quic
                !mbedtls
                !openssl
                !rustls

diff --git a/net-misc/curl/curl-8.13.0-r1.ebuild 
b/net-misc/curl/curl-8.13.0-r1.ebuild
index 59963eb1e4c5..d5551349f325 100644
--- a/net-misc/curl/curl-8.13.0-r1.ebuild
+++ b/net-misc/curl/curl-8.13.0-r1.ebuild
@@ -73,14 +73,12 @@ REQUIRED_USE="
        )
        curl_quic_openssl? (
                curl_ssl_openssl
-               quic
                !gnutls
                !mbedtls
                !rustls
        )
        curl_quic_ngtcp2? (
                curl_ssl_gnutls
-               quic
                !mbedtls
                !openssl
                !rustls
@@ -254,6 +252,16 @@ multilib_src_configure() {
                local -a tls_backend_opts
                readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts)
                myconf+=("${tls_backend_opts[@]}")
+               if use quic; then
+                       myconf+=(
+                               $(use_with curl_quic_ngtcp2 ngtcp2)
+                               $(use_with curl_quic_openssl openssl-quic)
+                       )
+               else
+                       # Without a REQUIRED_USE to ensure that QUIC was 
requested when at least one default backend is
+                       # enabled we need ensure that we don't try to build 
QUIC support
+                       myconf+=( --without-ngtcp2 --without-openssl-quic )
+               fi
        else
                myconf+=( --without-ssl )
                einfo "SSL disabled"
@@ -290,8 +298,6 @@ multilib_src_configure() {
                $(use_enable httpsrr)
                $(use_with http2 nghttp2)
                $(use_with http3 nghttp3)
-               $(use_with curl_quic_ngtcp2 ngtcp2)
-               $(use_with curl_quic_openssl openssl-quic)
        )
 
        # --enable/disable options

diff --git a/net-misc/curl/curl-8.14.1.ebuild b/net-misc/curl/curl-8.14.1.ebuild
index bdceb348fcc7..695ec970d8db 100644
--- a/net-misc/curl/curl-8.14.1.ebuild
+++ b/net-misc/curl/curl-8.14.1.ebuild
@@ -73,14 +73,12 @@ REQUIRED_USE="
        )
        curl_quic_openssl? (
                curl_ssl_openssl
-               quic
                !gnutls
                !mbedtls
                !rustls
        )
        curl_quic_ngtcp2? (
                curl_ssl_gnutls
-               quic
                !mbedtls
                !openssl
                !rustls
@@ -248,6 +246,16 @@ multilib_src_configure() {
                local -a tls_backend_opts
                readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts)
                myconf+=("${tls_backend_opts[@]}")
+               if use quic; then
+                       myconf+=(
+                               $(use_with curl_quic_ngtcp2 ngtcp2)
+                               $(use_with curl_quic_openssl openssl-quic)
+                       )
+               else
+                       # Without a REQUIRED_USE to ensure that QUIC was 
requested when at least one default backend is
+                       # enabled we need ensure that we don't try to build 
QUIC support
+                       myconf+=( --without-ngtcp2 --without-openssl-quic )
+               fi
        else
                myconf+=( --without-ssl )
                einfo "SSL disabled"
@@ -284,8 +292,6 @@ multilib_src_configure() {
                $(use_enable httpsrr)
                $(use_with http2 nghttp2)
                $(use_with http3 nghttp3)
-               $(use_with curl_quic_ngtcp2 ngtcp2)
-               $(use_with curl_quic_openssl openssl-quic)
        )
 
        # --enable/disable options

diff --git a/net-misc/curl/curl-8.15.0_rc1.ebuild 
b/net-misc/curl/curl-8.15.0_rc1.ebuild
index bdceb348fcc7..ea0558f9863b 100644
--- a/net-misc/curl/curl-8.15.0_rc1.ebuild
+++ b/net-misc/curl/curl-8.15.0_rc1.ebuild
@@ -248,6 +248,16 @@ multilib_src_configure() {
                local -a tls_backend_opts
                readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts)
                myconf+=("${tls_backend_opts[@]}")
+               if use quic; then
+                       myconf+=(
+                               $(use_with curl_quic_ngtcp2 ngtcp2)
+                               $(use_with curl_quic_openssl openssl-quic)
+                       )
+               else
+                       # Without a REQUIRED_USE to ensure that QUIC was 
requested when at least one default backend is
+                       # enabled we need ensure that we don't try to build 
QUIC support
+                       myconf+=( --without-ngtcp2 --without-openssl-quic )
+               fi
        else
                myconf+=( --without-ssl )
                einfo "SSL disabled"
@@ -284,8 +294,6 @@ multilib_src_configure() {
                $(use_enable httpsrr)
                $(use_with http2 nghttp2)
                $(use_with http3 nghttp3)
-               $(use_with curl_quic_ngtcp2 ngtcp2)
-               $(use_with curl_quic_openssl openssl-quic)
        )
 
        # --enable/disable options

diff --git a/net-misc/curl/curl-9999.ebuild b/net-misc/curl/curl-9999.ebuild
index bdceb348fcc7..282a1bd9bc56 100644
--- a/net-misc/curl/curl-9999.ebuild
+++ b/net-misc/curl/curl-9999.ebuild
@@ -73,14 +73,12 @@ REQUIRED_USE="
        )
        curl_quic_openssl? (
                curl_ssl_openssl
-               quic
                !gnutls
                !mbedtls
                !rustls
        )
        curl_quic_ngtcp2? (
                curl_ssl_gnutls
-               quic
                !mbedtls
                !openssl
                !rustls
@@ -248,6 +246,16 @@ multilib_src_configure() {
                local -a tls_backend_opts
                readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts)
                myconf+=("${tls_backend_opts[@]}")
+               if use quic; then
+                       myconf+=(
+                               $(use_with curl_quic_ngtcp2 ngtcp2)
+                               $(use_with curl_quic_openssl openssl-quic)
+                       )
+               else
+                       # Without a REQUIRED_USE to ensure that QUIC was 
requested when at least one default backend is
+                       # we need ensure that we don't try to build QUIC support
+                       myconf+=( --without-ngtcp2 --without-openssl-quic )
+               fi
        else
                myconf+=( --without-ssl )
                einfo "SSL disabled"
@@ -284,8 +292,6 @@ multilib_src_configure() {
                $(use_enable httpsrr)
                $(use_with http2 nghttp2)
                $(use_with http3 nghttp3)
-               $(use_with curl_quic_ngtcp2 ngtcp2)
-               $(use_with curl_quic_openssl openssl-quic)
        )
 
        # --enable/disable options

Reply via email to