17 |
17 |
https://curl.se/download/${P}.tar.xz
|
18 |
18 |
verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )
|
19 |
19 |
"
|
20 |
|
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
|
20 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
21 |
21 |
fi
|
22 |
22 |
|
23 |
23 |
LICENSE="BSD curl ISC test? ( BSD-4 )"
|
24 |
24 |
SLOT="0"
|
25 |
|
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
|
25 |
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap kerberos ldap mbedtls +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
26 |
26 |
# These select the default SSL implementation
|
27 |
|
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
|
|
27 |
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls"
|
28 |
28 |
IUSE+=" nghttp3"
|
29 |
29 |
RESTRICT="!test? ( test )"
|
30 |
30 |
|
... | ... | |
36 |
36 |
^^ (
|
37 |
37 |
curl_ssl_gnutls
|
38 |
38 |
curl_ssl_mbedtls
|
39 |
|
curl_ssl_nss
|
40 |
39 |
curl_ssl_openssl
|
41 |
40 |
curl_ssl_rustls
|
42 |
41 |
)
|
43 |
42 |
)
|
44 |
43 |
curl_ssl_gnutls? ( gnutls )
|
45 |
44 |
curl_ssl_mbedtls? ( mbedtls )
|
46 |
|
curl_ssl_nss? ( nss )
|
47 |
45 |
curl_ssl_openssl? ( openssl )
|
48 |
46 |
curl_ssl_rustls? ( rustls )
|
49 |
47 |
nghttp3? ( !openssl )
|
50 |
48 |
"
|
51 |
49 |
|
|
50 |
# cURL's docs and CI/CD are great resources for confirming supported versions
|
|
51 |
# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.:
|
|
52 |
# - https://github.com/curl/curl/blob/master/docs/HTTP3.md
|
|
53 |
# - https://github.com/curl/curl/blob/master/.github/workflows/quiche-linux.yml
|
|
54 |
# However 'supported' vs 'works' are two entirely different things; be sane but
|
|
55 |
# don't be afraid to require a later version.
|
|
56 |
|
52 |
57 |
RDEPEND="
|
53 |
58 |
sys-libs/zlib[${MULTILIB_USEDEP}]
|
54 |
59 |
adns? ( net-dns/c-ares:=[${MULTILIB_USEDEP}] )
|
... | ... | |
58 |
63 |
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
|
59 |
64 |
ldap? ( net-nds/openldap:=[static-libs?,${MULTILIB_USEDEP}] )
|
60 |
65 |
nghttp3? (
|
61 |
|
>=net-libs/nghttp3-0.13.0[${MULTILIB_USEDEP}]
|
62 |
|
>=net-libs/ngtcp2-0.17.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}]
|
|
66 |
>=net-libs/nghttp3-0.15.0[${MULTILIB_USEDEP}]
|
|
67 |
>=net-libs/ngtcp2-0.19.1[gnutls,ssl,-openssl,${MULTILIB_USEDEP}]
|
63 |
68 |
)
|
64 |
69 |
rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
|
65 |
70 |
ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
|
... | ... | |
73 |
78 |
app-misc/ca-certificates
|
74 |
79 |
net-libs/mbedtls:=[${MULTILIB_USEDEP}]
|
75 |
80 |
)
|
76 |
|
nss? (
|
77 |
|
app-misc/ca-certificates
|
78 |
|
dev-libs/nss[${MULTILIB_USEDEP}]
|
79 |
|
dev-libs/nss-pem
|
80 |
|
)
|
81 |
81 |
openssl? (
|
82 |
82 |
dev-libs/openssl:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
|
83 |
83 |
)
|
... | ... | |
89 |
89 |
"
|
90 |
90 |
|
91 |
91 |
DEPEND="${RDEPEND}"
|
|
92 |
|
92 |
93 |
BDEPEND="
|
93 |
94 |
dev-lang/perl
|
94 |
95 |
virtual/pkgconfig
|
... | ... | |
141 |
142 |
|
142 |
143 |
myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
|
143 |
144 |
if use ssl; then
|
144 |
|
myconf+=( --without-gnutls --without-mbedtls --without-nss --without-rustls )
|
|
145 |
myconf+=( --without-gnutls --without-mbedtls --without-rustls )
|
145 |
146 |
|
146 |
147 |
if use gnutls; then
|
147 |
148 |
multilib_is_native_abi && einfo "SSL provided by gnutls"
|
... | ... | |
151 |
152 |
multilib_is_native_abi && einfo "SSL provided by mbedtls"
|
152 |
153 |
myconf+=( --with-mbedtls )
|
153 |
154 |
fi
|
154 |
|
if use nss; then
|
155 |
|
multilib_is_native_abi && einfo "SSL provided by nss"
|
156 |
|
myconf+=( --with-nss --with-nss-deprecated )
|
157 |
|
fi
|
158 |
155 |
if use openssl; then
|
159 |
156 |
multilib_is_native_abi && einfo "SSL provided by openssl"
|
160 |
157 |
myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
|
... | ... | |
169 |
166 |
elif use curl_ssl_mbedtls; then
|
170 |
167 |
multilib_is_native_abi && einfo "Default SSL provided by mbedtls"
|
171 |
168 |
myconf+=( --with-default-ssl-backend=mbedtls )
|
172 |
|
elif use curl_ssl_nss; then
|
173 |
|
multilib_is_native_abi && einfo "Default SSL provided by nss"
|
174 |
|
myconf+=( --with-default-ssl-backend=nss )
|
175 |
169 |
elif use curl_ssl_openssl; then
|
176 |
170 |
multilib_is_native_abi && einfo "Default SSL provided by openssl"
|
177 |
171 |
myconf+=( --with-default-ssl-backend=openssl )
|
... | ... | |
200 |
194 |
|
201 |
195 |
myconf+=(
|
202 |
196 |
$(use_enable alt-svc)
|
203 |
|
--enable-crypto-auth
|
|
197 |
--enable-basic-auth
|
|
198 |
--enable-bearer-auth
|
|
199 |
--enable-digest-auth
|
|
200 |
--enable-kerberos-auth
|
|
201 |
--enable-negotiate-auth
|
|
202 |
--enable-aws
|
204 |
203 |
--enable-dict
|
205 |
204 |
--disable-ech
|
206 |
205 |
--enable-file
|