summaryrefslogtreecommitdiff
path: root/net-misc/curl
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/curl')
-rw-r--r--net-misc/curl/Manifest4
-rw-r--r--net-misc/curl/curl-9999.ebuild70
-rw-r--r--net-misc/curl/metadata.xml4
3 files changed, 32 insertions, 46 deletions
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
index 85c66045c0d7..9b1e86c22560 100644
--- a/net-misc/curl/Manifest
+++ b/net-misc/curl/Manifest
@@ -16,5 +16,5 @@ EBUILD curl-8.7.1-r3.ebuild 11043 BLAKE2B 3d468dea6498e583f32d9ab2d1f46d318ff1be
EBUILD curl-8.7.1-r4.ebuild 11267 BLAKE2B 50dba5d100c3fee6b1721a63c059e365a27e02924c514164f13b082f7afabb4afc5aa47a14eb48283701828c834906bcde012530cd60697167a09d615da7df1d SHA512 aa5b768414133e81cdafb774f44c33f14de19c607013f64d83f5e2460285215e1792e738746d8665f2b98ff85ab0d50c03d96d65145ae72967193a34be3aae13
EBUILD curl-8.8.0-r1.ebuild 11500 BLAKE2B 82e2f840b63d5dcf87d4480a58ed5ba70486a8d779a80c1acd2106fa7710bce2749b9613bbf8d04f4aca6faa8acb735ffc18e355b51e65d4e2f58ef220480295 SHA512 f999143e45a76acada5485dcf2ff6a2d6aa840a95f3768eae67f3eeb1e5ebf2baa4310cd506ab5fb8605e6304d567012a3566a63ff2c2a53641e72a2df18f000
EBUILD curl-8.8.0.ebuild 11117 BLAKE2B d088f434876adfaee0e4b4983c2b9cd047460496260b2a2678581bec7a63bf2e93272159b3e82fbd472df17f062f1b3fe6f81e75a5e2dd1ab588b208a6f6909f SHA512 8419bcac5a90e96a0ae896787ab632d85c29c373365c4084bfa14e414f2e9494f01ad0c812e2fb1b8596ee96f682cc76da2818f3b5cc992801c0a1660f61ac9a
-EBUILD curl-9999.ebuild 11379 BLAKE2B 5f5bba218c26ee3af4fcda9eaf95f78749dfe287f10bf96d7f87366a276356cdbd1ddd91581eb1858195f159a47aec4b4d2acbf1ab8267c8250c60989bd09bf3 SHA512 ca9081fb8fc07cdd5771879ed48562b895c6d7c1623e44ede4c50201e261b9ca4db0c0c42ffe956644df44846d7b95b63f987779b1647329fb9465441a1c4999
-MISC metadata.xml 2090 BLAKE2B 54d366aadfc25650c40081ff10eb150bcb9811a29f802c418afce166c384e2bafc999ff7e69ceeb25a96e952d4875d808e8e89240b437741cd363fab46267a25 SHA512 2103a849b67f9a14a85eb769b870e7272bf8f9c78ca579b4271150be01f26787a884614bff874d50f90be99af4a6ecb136510fca2837463e0bc91611ddbeae40
+EBUILD curl-9999.ebuild 11092 BLAKE2B 366122c9c5c9ff592959d8932b0adb04b73fce5b3155a5e47bd2246ae3922546c4e39a4b0f9a556e0f6163953398ac8270f49ab4af34d05c88f815e40e807d53 SHA512 0551db5807a5d02e096548d3b9116ce6563bff1c6be661a04da6ccdae077cee1cd9936d1f61c8ee38dd4442e4b519dcab7c04c5034f207ce1c002f0ab2bf0808
+MISC metadata.xml 2215 BLAKE2B aa0851849ffda831aeec7a6315d23892c35680ab42c0bc9a5662238e7b8289d5f48d5f2a60ab0bacba06f71271bf60d14958bfec029a048f732d22fdc60faded SHA512 7da9247a1bbb533ae0bdc919f5bd2ad7ed298a7f9e986dce6d2471cedeee9f1542a8ef79b1fdbca5a1a0d33194b99ff3d3f5c27054ac01a3f1e40a1e94d6c1b2
diff --git a/net-misc/curl/curl-9999.ebuild b/net-misc/curl/curl-9999.ebuild
index 7f560fb74a9b..b42cca9c5152 100644
--- a/net-misc/curl/curl-9999.ebuild
+++ b/net-misc/curl/curl-9999.ebuild
@@ -26,16 +26,22 @@ fi
LICENSE="BSD curl ISC test? ( BSD-4 )"
SLOT="0"
-IUSE="+adns +alt-svc brotli debug +ftp gnutls gopher +hsts +http2 idn +imap kerberos ldap mbedtls nghttp3 +openssl +pop3"
-IUSE+=" +psl +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
-# These select the default SSL implementation
-IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls"
+IUSE="+adns +alt-svc brotli debug +ftp gnutls gopher +hsts +http2 http3 idn +imap kerberos ldap mbedtls +openssl +pop3"
+IUSE+=" +psl +progress-meter quic rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
+# These select the default tls implementation / which quic impl to use
+IUSE+=" curl_quic_openssl curl_quic_ngtcp2 curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls"
RESTRICT="!test? ( test )"
-# Only one default ssl provider can be enabled
-# The default ssl provider needs its USE satisfied
-# nghttp3 = https://bugs.gentoo.org/912029
+# Only one default ssl / quic provider can be enabled
+# The default provider needs its USE satisfied
REQUIRED_USE="
+ quic? (
+ ^^ (
+ curl_quic_openssl
+ curl_quic_ngtcp2
+ )
+ http3
+ )
ssl? (
^^ (
curl_ssl_gnutls
@@ -44,13 +50,13 @@ REQUIRED_USE="
curl_ssl_rustls
)
)
+ curl_quic_openssl? ( openssl )
+ curl_quic_ngtcp2? ( gnutls )
curl_ssl_gnutls? ( gnutls )
curl_ssl_mbedtls? ( mbedtls )
curl_ssl_openssl? ( openssl )
curl_ssl_rustls? ( rustls )
- nghttp3? (
- !openssl
- alt-svc )
+ http3? ( alt-svc quic )
"
# cURL's docs and CI/CD are great resources for confirming supported versions
@@ -60,20 +66,21 @@ REQUIRED_USE="
# - https://github.com/curl/curl/blob/master/.github/workflows/quiche-linux.yml (CI/CD for TCP/2)
# However 'supported' vs 'works' are two entirely different things; be sane but
# don't be afraid to require a later version.
-
+# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time.
RDEPEND="
>=sys-libs/zlib-1.1.4[${MULTILIB_USEDEP}]
adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] )
brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
http2? ( >=net-libs/nghttp2-1.12.0:=[${MULTILIB_USEDEP}] )
+ http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] )
idn? ( net-dns/libidn2:=[static-libs?,${MULTILIB_USEDEP}] )
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] )
- nghttp3? (
- >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}]
- >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}]
- )
psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] )
+ quic? (
+ curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] )
+ curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] )
+ )
rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
ssh? ( >=net-libs/libssh2-1.0.0[${MULTILIB_USEDEP}] )
ssl? (
@@ -104,7 +111,7 @@ BDEPEND="
test? (
sys-apps/diffutils
http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] )
- nghttp3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] )
+ http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] )
)
verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
"
@@ -262,8 +269,9 @@ multilib_src_configure() {
--without-libgsasl
$(use_with psl libpsl)
--without-msh3
- $(use_with nghttp3)
- $(use_with nghttp3 ngtcp2)
+ $(use_with http3 nghttp3)
+ $(use_with curl_quic_ngtcp2 ngtcp2)
+ $(use_with curl_quic_openssl openssl-quic)
--without-quiche
$(use_with rtmp librtmp)
--without-schannel
@@ -285,7 +293,7 @@ multilib_src_configure() {
)
fi
- if use test && multilib_is_native_abi && ( use http2 || use nghttp3 ); then
+ if use test && multilib_is_native_abi && ( use http2 || use http3 ); then
myconf+=(
--with-test-nghttpx="${BROOT}/usr/bin/nghttpx"
)
@@ -305,30 +313,6 @@ multilib_src_configure() {
sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
fi
- # Fix up the pkg-config file to be more robust.
- # https://github.com/curl/curl/issues/864
- local priv=() libs=()
- # We always enable zlib.
- libs+=( "-lz" )
- priv+=( "zlib" )
- if use http2; then
- libs+=( "-lnghttp2" )
- priv+=( "libnghttp2" )
- fi
- if use nghttp3; then
- libs+=( "-lnghttp3" "-lngtcp2" )
- priv+=( "libnghttp3" "libngtcp2" )
- fi
- if use ssl && use curl_ssl_openssl; then
- libs+=( "-lssl" "-lcrypto" )
- priv+=( "openssl" )
- fi
- grep -q Requires.private libcurl.pc && die "need to update ebuild"
- libs=$(printf '|%s' "${libs[@]}")
- sed -i -r \
- -e "/^Libs.private/s:(${libs#|})( |$)::g" \
- libcurl.pc || die
- echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
}
multilib_src_compile() {
diff --git a/net-misc/curl/metadata.xml b/net-misc/curl/metadata.xml
index d79a1ed4affd..884608c7c1f5 100644
--- a/net-misc/curl/metadata.xml
+++ b/net-misc/curl/metadata.xml
@@ -17,11 +17,13 @@
<flag name="hsts">Enable HTTP Strict Transport Security</flag>
<flag name="imap">Enable Internet Message Access Protocol support</flag>
<flag name="mbedtls">Enable mbedtls ssl backend</flag>
- <flag name="nghttp3">Enable HTTP/3.0 support using <pkg>net-libs/nghttp3</pkg> and <pkg>net-libs/ngtcp2</pkg></flag>
+ <flag name="nghttp3">Enable HTTP/3 support using <pkg>net-libs/nghttp3</pkg></flag>
+ <flag name="http3">Enable HTTP/3 support</flag>
<flag name="openssl">Enable openssl ssl backend</flag>
<flag name="pop3">Enable Post Office Protocol 3 support</flag>
<flag name="progress-meter">Enable the progress meter</flag>
<flag name="psl">Enable Public Suffix List (PSL) support. See https://daniel.haxx.se/blog/2024/01/10/psl-in-curl/.</flag>
+ <flag name="quic">Enable support for QUIC (RFC 9000); a UDP-based protocol intended to replace TCP</flag>
<flag name="rtmp">Enable RTMP Streaming Media support</flag>
<flag name="rustls">Enable Rustls ssl backend</flag>
<flag name="smtp">Enable Simple Mail Transfer Protocol support</flag>