| 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
|
| ... | ... | |
| 86 |
86 |
|
| 87 |
87 |
# cURL's docs and CI/CD are great resources for confirming supported versions
|
| 88 |
88 |
# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.:
|
| 89 |
|
# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions)
|
|
89 |
# - https://github.com/curl/curl/blob/master/docs/DEPENDENCIES.md (core dependencies + minimum versions)
|
| 90 |
90 |
# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly)
|
| 91 |
91 |
# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2)
|
| 92 |
92 |
# - https://curl.se/dev/deprecate.html - good source of deprecation timelines, e.g. for OpenSSL 1.1.1
|
| ... | ... | |
| 96 |
96 |
RDEPEND="
|
| 97 |
97 |
>=virtual/zlib-1.2.5:=[${MULTILIB_USEDEP}]
|
| 98 |
98 |
adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] )
|
| 99 |
|
brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
|
|
99 |
brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] )
|
| 100 |
100 |
http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] )
|
| 101 |
101 |
http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] )
|
| 102 |
102 |
idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] )
|
| 103 |
103 |
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
|
| 104 |
104 |
ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] )
|
| 105 |
|
psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] )
|
|
105 |
psl? ( >=net-libs/libpsl-0.16.0[${MULTILIB_USEDEP}] )
|
| 106 |
106 |
quic? (
|
| 107 |
107 |
gnutls? ( >=net-libs/ngtcp2-1.20.0-r1[gnutls,ssl,${MULTILIB_USEDEP}] )
|
| 108 |
108 |
openssl? ( >=net-libs/ngtcp2-1.20.0-r1[openssl,ssl,${MULTILIB_USEDEP}] )
|
| 109 |
109 |
)
|
| 110 |
|
ssh? ( >=net-libs/libssh2-1.2.8[${MULTILIB_USEDEP}] )
|
|
110 |
ssh? ( >=net-libs/libssh2-1.9.0[${MULTILIB_USEDEP}] )
|
| 111 |
111 |
sasl-scram? ( >=net-misc/gsasl-2.2.0[static-libs?,${MULTILIB_USEDEP}] )
|
| 112 |
112 |
ssl? (
|
| 113 |
113 |
gnutls? (
|
| 114 |
114 |
app-misc/ca-certificates
|
| 115 |
|
>=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}]
|
| 116 |
|
dev-libs/nettle:=[${MULTILIB_USEDEP}]
|
|
115 |
>=net-libs/gnutls-3.6.5:=[static-libs?,${MULTILIB_USEDEP}]
|
|
116 |
>=dev-libs/nettle-3.4.1:=[${MULTILIB_USEDEP}]
|
| 117 |
117 |
)
|
| 118 |
118 |
mbedtls? (
|
| 119 |
119 |
app-misc/ca-certificates
|
| ... | ... | |
| 127 |
127 |
>=net-libs/rustls-ffi-0.15.0:=[${MULTILIB_USEDEP}]
|
| 128 |
128 |
)
|
| 129 |
129 |
)
|
| 130 |
|
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
|
|
130 |
zstd? ( >=app-arch/zstd-1.0:=[${MULTILIB_USEDEP}] )
|
| 131 |
131 |
"
|
| 132 |
132 |
|
| 133 |
133 |
DEPEND="${RDEPEND}"
|
| ... | ... | |
| 138 |
138 |
test? (
|
| 139 |
139 |
sys-apps/diffutils
|
| 140 |
140 |
http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] )
|
| 141 |
|
http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] )
|
|
141 |
http3? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] )
|
| 142 |
142 |
)
|
| 143 |
143 |
verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
|
| 144 |
144 |
"
|
| ... | ... | |
| 396 |
396 |
# -am: automake style TAP output
|
| 397 |
397 |
# -p: print logs if test fails
|
| 398 |
398 |
# --retry: retry any failing tests up to 3 times; this is a band-aid for timing-dependent flakiness.
|
|
399 |
#
|
| 399 |
400 |
# Note: if needed, we can skip specific tests. See e.g. Fedora's packaging
|
| 400 |
401 |
# or just read https://github.com/curl/curl/tree/master/tests#run.
|
|
402 |
#
|
| 401 |
403 |
# Note: we don't run the testsuite for cross-compilation.
|
|
404 |
#
|
| 402 |
405 |
# Upstream recommend 7*nproc as a starting point for parallel tests, but
|
| 403 |
406 |
# this ends up breaking when nproc is huge (like -j80).
|
|
407 |
#
|
| 404 |
408 |
# The network sandbox causes tests 241 and 1083 to fail; these are typically skipped
|
| 405 |
409 |
# as most gentoo users don't have an 'ip6-localhost'
|
| 406 |
410 |
multilib_is_native_abi && emake test TFLAGS="-n -v -a -am -p -j$((2*$(get_makeopts_jobs))) --retry=3 !241 !1083"
|