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.
This is essentially the same thing as PYTHON_TARGETS when USE="-python". Long term we want bug 790422
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(-)