| 22 |
22 |
S="${WORKDIR}/${P//_/-}"
|
| 23 |
23 |
else
|
| 24 |
24 |
CURL_URI="https://curl.se/download/"
|
| 25 |
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
|
25 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
| 26 |
26 |
fi
|
| 27 |
27 |
SRC_URI="
|
| 28 |
28 |
${CURL_URI}${P//_/-}.tar.xz
|
| ... | ... | |
| 36 |
36 |
IUSE+=" mbedtls +openssl +pop3 +psl +quic rtmp rustls samba sasl-scram +smtp ssh ssl static-libs test"
|
| 37 |
37 |
IUSE+=" telnet +tftp +websockets zstd"
|
| 38 |
38 |
# These select the default tls implementation / which quic impl to use
|
| 39 |
|
IUSE+=" +curl_quic_openssl curl_quic_ngtcp2 curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls"
|
|
39 |
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls"
|
| 40 |
40 |
RESTRICT="!test? ( test )"
|
| 41 |
41 |
|
| 42 |
42 |
# HTTPS RR is technically usable with the threaded resolver, but it still uses c-ares to
|
| ... | ... | |
| 57 |
57 |
httpsrr? ( adns )
|
| 58 |
58 |
quic? (
|
| 59 |
59 |
^^ (
|
| 60 |
|
curl_quic_openssl
|
| 61 |
|
curl_quic_ngtcp2
|
|
60 |
openssl
|
|
61 |
gnutls
|
| 62 |
62 |
)
|
|
63 |
!gnutls
|
|
64 |
!mbedtls
|
|
65 |
!rustls
|
| 63 |
66 |
http3
|
| 64 |
67 |
ssl
|
| 65 |
68 |
)
|
| ... | ... | |
| 71 |
74 |
curl_ssl_rustls
|
| 72 |
75 |
)
|
| 73 |
76 |
)
|
| 74 |
|
curl_quic_openssl? (
|
| 75 |
|
curl_ssl_openssl
|
| 76 |
|
!gnutls
|
| 77 |
|
!mbedtls
|
| 78 |
|
!rustls
|
| 79 |
|
)
|
| 80 |
|
curl_quic_ngtcp2? (
|
| 81 |
|
curl_ssl_gnutls
|
| 82 |
|
!mbedtls
|
| 83 |
|
!openssl
|
| 84 |
|
!rustls
|
| 85 |
|
)
|
| 86 |
77 |
curl_ssl_gnutls? ( gnutls )
|
| 87 |
78 |
curl_ssl_mbedtls? ( mbedtls )
|
| 88 |
79 |
curl_ssl_openssl? ( openssl )
|
| ... | ... | |
| 98 |
89 |
# However 'supported' vs 'works' are two entirely different things; be sane but
|
| 99 |
90 |
# don't be afraid to require a later version.
|
| 100 |
91 |
# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time.
|
| 101 |
|
# TODO: OpenSSL-QUIC support is going to be removed in 2026; depend on ngtcp2[{gnutls,openssl}] before that point.
|
| 102 |
|
# - https://github.com/curl/curl/pull/18820 (Deprecate OpenSSL QUIC support)
|
| 103 |
|
# - https://github.com/curl/curl/issues/18336 (curl w/ OpenSSL QUIC fails to fetch Google.com)
|
| 104 |
92 |
RDEPEND="
|
| 105 |
93 |
>=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}]
|
| 106 |
94 |
adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] )
|
| ... | ... | |
| 112 |
100 |
ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] )
|
| 113 |
101 |
psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] )
|
| 114 |
102 |
quic? (
|
| 115 |
|
curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] )
|
| 116 |
|
curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] )
|
|
103 |
gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] )
|
|
104 |
openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] )
|
| 117 |
105 |
)
|
| 118 |
106 |
rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
|
| 119 |
107 |
ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] )
|
| ... | ... | |
| 248 |
236 |
if use ssl; then
|
| 249 |
237 |
local -a tls_backend_opts
|
| 250 |
238 |
readarray -t tls_backend_opts < <(_get_curl_tls_configure_opts)
|
| 251 |
|
myconf+=("${tls_backend_opts[@]}")
|
| 252 |
|
if use quic; then
|
| 253 |
|
myconf+=(
|
| 254 |
|
$(use_with curl_quic_ngtcp2 ngtcp2)
|
| 255 |
|
$(use_with curl_quic_openssl openssl-quic)
|
| 256 |
|
)
|
| 257 |
|
else
|
| 258 |
|
# Without a REQUIRED_USE to ensure that QUIC was requested when at least one default backend is
|
| 259 |
|
# enabled we need ensure that we don't try to build QUIC support
|
| 260 |
|
myconf+=( --without-ngtcp2 --without-openssl-quic )
|
| 261 |
|
fi
|
|
239 |
myconf+=(
|
|
240 |
"${tls_backend_opts[@]}"
|
|
241 |
$(use_with quic ngtcp2)
|
|
242 |
)
|
| 262 |
243 |
else
|
| 263 |
244 |
myconf+=( --without-ssl )
|
| 264 |
245 |
einfo "SSL disabled"
|