Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 956483 - >=net-misc/curl-8.12.1: disabling quic is harder than it looks
Summary: >=net-misc/curl-8.12.1: disabling quic is harder than it looks
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Matt Jolly
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-23 08:44 UTC by A. Wilcox (awilfox)
Modified: 2025-06-23 12:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description A. Wilcox (awilfox) 2025-05-23 08:44:51 UTC
While trying to build a QUICless system (USE=-quic globally or net-misc/curl -quic in package.use):


!!! The ebuild selected to satisfy ">=net-misc/curl-7.21.5[ssl]" has unmet requirements.
- net-misc/curl-8.12.1::gentoo USE="adns alt-svc ftp hsts idn imap openssl progress-meter psl smtp ssl tftp websockets zstd -brotli -debug -gnutls -gopher -http2 -http3 -kerberos -ldap -mbedtls -pop3 -quic -rtmp (-rustls) -samba -ssh (-sslv3) -static-libs -telnet -test -verify-sig" CURL_QUIC="openssl -ngtcp2" CURL_SSL="openssl -gnutls -mbedtls (-rustls)"

  The following REQUIRED_USE flag constraints are unsatisfied:
    curl_quic_openssl? ( quic )

  The above constraints are a subset of the following complete expression:
    quic? ( exactly-one-of ( curl_quic_openssl curl_quic_ngtcp2 ) http3 ssl ) ssl? ( exactly-one-of ( curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_openssl curl_ssl_rustls ) ) curl_quic_openssl? ( curl_ssl_openssl quic !gnutls !mbedtls !rustls ) curl_quic_ngtcp2? ( curl_ssl_gnutls quic !mbedtls !openssl !rustls ) curl_ssl_gnutls? ( gnutls ) curl_ssl_mbedtls? ( mbedtls ) curl_ssl_openssl? ( openssl ) curl_ssl_rustls? ( rustls ) http3? ( alt-svc quic )


My personal suggestion would be to allow curl_quic_* to be selected without quic; it's good to have a default implementation if quic is ever re-enabled on the system, but having it set as + in IUSE means I have to CURL_QUIC="-openssl -ngtcp2" or something else.  And if other providers are added later on, and they became default, I'd need to update it for that as well.
Comment 1 Eli Schwartz gentoo-dev 2025-05-23 08:47:11 UTC
This is essentially the same thing as PYTHON_TARGETS when USE="-python".

Long term we want bug 790422
Comment 2 Larry the Git Cow gentoo-dev 2025-06-23 12:35:00 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2dfdb0d3e13f61ee664746b056f572e86bfd8eb6

commit 2dfdb0d3e13f61ee664746b056f572e86bfd8eb6
Author:     Matt Jolly <kangie@gentoo.org>
AuthorDate: 2025-06-23 07:59:51 +0000
Commit:     Matt Jolly <kangie@gentoo.org>
CommitDate: 2025-06-23 12:19:38 +0000

    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@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(-)