summaryrefslogtreecommitdiff
path: root/net-misc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-28 07:12:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-28 07:12:54 +0000
commit63a01a3024a6fa402d123768cd38f1cabe13adf6 (patch)
tree439fe2938e6178658c16e1109f895390a4786cbd /net-misc
parent5e9fc028c5219fddb410ed4e213b54cf4618a563 (diff)
gentoo auto-resync : 28:03:2024 - 07:12:54
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/Manifest.gzbin54955 -> 54961 bytes
-rw-r--r--net-misc/curl/Manifest4
-rw-r--r--net-misc/curl/curl-8.7.1.ebuild366
-rw-r--r--net-misc/curl/files/curl-8.7.1-fix-pkgconfig-macros.patch39
-rw-r--r--net-misc/streamlink/Manifest4
-rw-r--r--net-misc/streamlink/streamlink-6.7.0.ebuild74
-rw-r--r--net-misc/streamlink/streamlink-6.7.1.ebuild98
7 files changed, 409 insertions, 176 deletions
diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz
index 25221a81fb6c..cb97a695b794 100644
--- a/net-misc/Manifest.gz
+++ b/net-misc/Manifest.gz
Binary files differ
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
index 37494de847d5..6577999fbf40 100644
--- a/net-misc/curl/Manifest
+++ b/net-misc/curl/Manifest
@@ -1,14 +1,18 @@
AUX curl-8.5.0-ipv6-configure-c99.patch 749 BLAKE2B b9d94d4ec5c310f8d3985eb6e4a17cd12b8aec696c015c41e94fe7eee2cced4d6ed1f192f3dbe4877a33f5102522844b63a11039fd285371472f282065cf2894 SHA512 cc04189480055a82fc264fcf3b70a3a748bccaec5f263340c41aabde600ea020fd2bce46461d4f75f5ed7708cfc5a0afcf95e6f1d098333c3968b75169a27a93
AUX curl-8.5.0-mpd-stream-http-adjust_pollset.patch 2979 BLAKE2B da34eb58eb8b706916657279bc071ab97145e33e7e7eb553ffe924be7a97e3d784d5e2fc8270363e95e815687201b6fae1b374dc666093441c5177bfe76eb835 SHA512 11ed5f8482d985aab4e7ab07f0e8821d76a494d0147a61ce7901379cd1f36f577c544627f5ad61a38b70e9e4659fc050c5b9e0be4247ab410f55850a946872d1
AUX curl-8.6.0-vtls-revert-receive-max-buffer-add-test-case.patch 2028 BLAKE2B b018e0fc5649b558e732a903eafe1249575829613b129ceaaaeeae3c7fc9f5c237c3688067c2370dc3ad1d67632acdfb805efa93db4e8bd8d6dd8b2f5043e2b5 SHA512 d8d4eb0b294d243f5c241e0243ca41e28b12aa8804a4f8c73e2ab70edd52de9be2b7a26b706085e10ae4a9c31545112cd4b68dcda6647571bb8d5528b7625de6
+AUX curl-8.7.1-fix-pkgconfig-macros.patch 1228 BLAKE2B c2a3db1fe29ed3023e0f3279f23426474747d44fc7f09c0fd25f2a43e02df1cd7b0f5ff9a11a5e795eb9fd2373117bd88202d79b64d8ed2c97f37251860f8812 SHA512 3a0a86dcdf3c12c2b234ac776c266d2eb4c11545e86219d3533f6e63196be9fc531d72a2d34d3bffdf5e7487bdda92a03a3ebe6910d9ab7601fd9873f4bd695c
AUX curl-prefix.patch 880 BLAKE2B 5b7552a8339014221864a585d174b02a96ec7dd7fe8762d331d1981834044f8ec4db64d527a4ded3f5f4cccc86f281576668de092439eb19f5477d5fcf8369cf SHA512 c7cd13b9ccbd12ed01ea121ffece9c23b898a5b34698bae59ae1dd23b1cf2445180b84d80c4a640981f16dba5018df944f405dd5c660addab54ca21e0e673b7f
AUX curl-respect-cflags-3.patch 406 BLAKE2B 1b533144858aff5566150c4a2648ad2e48e8ff29849ae285592edfee4b3332d06e750395dea7190ee6a01d2b5ee2c2c42c10400c2e5defa09963a90a1a10417d SHA512 3219e4e67d534e35012909243fc8d69d58989462db44dd507c502e7aaa299f1d9a01392e2c83797cc2bdb53d503470c5d6e7bf94572a6ccc6e5eafcc0466bc54
DIST curl-8.5.0.tar.xz 2658520 BLAKE2B cfd591f9703b9c63712dbe74494b05a80ce5a4fc4f8fc0fbf57058578eed5f33d71277f688d5d9f409bcd82e3a4cacaa5615a44f2a7c554559c6be7dd5188893 SHA512 acffa2cf61d9b8e4188575a1b40227da8d722df2e5fe8bb82a222b4eb2fd64bf8aebd90852ce050c79fb5e517d5cee2546bf7de92ede1dd394263e231cb741a3
DIST curl-8.5.0.tar.xz.asc 488 BLAKE2B d706c401aecf345398411b94c87b8f1ecc752d73d24e1a578c8c0e62732e8e476333a2a4772428c6425eb0d124b1ceee8e377cf41d60a54b6f2df5cccc0b9f23 SHA512 9c6a2e61860878cd731d951fac1bb52cd314db20439a5173a95b48da1742737e02bfb9978d65e25de6535f839e281235203599a29f252e78e0d7a83769727329
DIST curl-8.6.0.tar.xz 2630108 BLAKE2B 1b01de396008d57e154e2b5fc1acf1dd000703fa5d70b913dafea5487f0166bd8fdb63eee5c9b5af08a1ca40dd026144a791016f67c2395fcfc9c6b555929034 SHA512 359c08d88a5dec441255b36afe1a821730eca0ca8800ba52f57132b9e7d21f32457623907b4ae4876904b5e505eb1a59652372bb7de8dbd8db429dae9785e036
DIST curl-8.6.0.tar.xz.asc 488 BLAKE2B 18d7583a9aa6a278bea5a8a74461ff06f45ec418cd4542b015c74091c353b340afcc5dfe7e5e99f0b9fac7de9251164044a85e4f6665bf042636868a2c613d0a SHA512 2b835bb4b307e5e1c929b7136c5acfb9f6f06efa471ac27060336cabcfac40e02143f40434986c5e6817d4a9562b09efa8ff3168beed310a45453148cc1b5c8f
+DIST curl-8.7.1.tar.xz 2707016 BLAKE2B a2a9f48d0b69c0d92fcbbda535ce55082a5243abe3ab2db80d6fa3f32fb2c98b65026d69fc45c94e966398cf9ba8d9c95b6b91f4768b54749ed3275dd21838ef SHA512 5bbde9d5648e9226f5490fa951690aaf159149345f3a315df2ba58b2468f3e59ca32e8a49734338afc861803a4f81caac6d642a4699b72c6310ebfb1f618aad2
+DIST curl-8.7.1.tar.xz.asc 488 BLAKE2B 1c91d116aecc8e98d8ec3aad68b7c96f11151e6c2716f531e5d2989e9b6b1199e180603673891d7967cdcdaee1d6b5e15160ccabe9b51590e2887022db03c2ed SHA512 f98c393997c4a32f545a8982226e8cd612395210915a4576c2ce227d0f650cff341be7bf15e989d1789abf32ac4fd9c190b9250b81e650b569e8532048746b37
EBUILD curl-8.5.0-r3.ebuild 11025 BLAKE2B b10bc84ca0ac1ade0685a56f73558492d1fd6eb5e47280dd073ce2be1dc6542a9c5666a55fe2c26c0508c3f221409ce7f80f5846d7ccce0aaeb9ad8254a8f0ff SHA512 5e9d1aa24df4d424a5a5fc64e28e41a3aa86a2008d7d59db6ee1327efd7c17ae0d9cc4be881d0af4bb31847046cc059ed9355f2c46930a227073595b63ca57ca
EBUILD curl-8.5.0.ebuild 10777 BLAKE2B 14fea8da51ac209f0fd9ef2665066a44504f0ceeaed838dfb41bc64c52951392e67f6adc23d01ca09c34610658171b9b83dda7c310ed3a62f558825718a97bba SHA512 0c7d812544f26a7f424efffbd5231f6ce958479933716f8638f99b83d097ac0cc5e09dbe7f32e75e0b6b4705d6705870cba2b64f24e982f6edc7d5ccb90844fc
EBUILD curl-8.6.0-r1.ebuild 10835 BLAKE2B 34f910a7310c832f7864d7679eaa741088212f392b4c63bff67921790d3c2ce4de5a663672464e1626194929199da007214848120ecb70c2718c5da13e1d8950 SHA512 910f3005507c99a5118bbb2d43b841918ba2fcc23d7e8921c4a7bec18d786b3be3b04c5657c392213d3791c26dfa3139e1a333f08cd92fb01ca5f0312d4740fb
+EBUILD curl-8.7.1.ebuild 10829 BLAKE2B 2d2ffad3bfb77ed81aa4d4311540ab337afe1eaa80100b31a91c7e9cec81266b418c55d88bf09b817dd4835e56ea652598d90ce4f4f3a38b23d3e06a036e2a6b SHA512 7f6578c6c24d28a8aee42fb8665e9141f7151116f39d92d81d2ac3b7876574fb94292836d7fb2c7dde23272a5b4d97899340cb077125c19dcf5889a3e754fc9e
EBUILD curl-9999.ebuild 10771 BLAKE2B 48c610c3ea379320360d48a6473b9db17f7d8ffb895fde8e602e14822f5d8d56d2a9fc499f1302a4bb941581a9b8e082b1aa799222c8aa9c9faf546776ba671a SHA512 9afd073cdbb994726349e8ffd33ab994e64b0fc1f19574343bb0f22953dbb16471b332271478bf0d016c709f82acdf633075c9b55daf286dea9ffa5a927bb6de
MISC metadata.xml 2090 BLAKE2B 54d366aadfc25650c40081ff10eb150bcb9811a29f802c418afce166c384e2bafc999ff7e69ceeb25a96e952d4875d808e8e89240b437741cd363fab46267a25 SHA512 2103a849b67f9a14a85eb769b870e7272bf8f9c78ca579b4271150be01f26787a884614bff874d50f90be99af4a6ecb136510fca2837463e0bc91611ddbeae40
diff --git a/net-misc/curl/curl-8.7.1.ebuild b/net-misc/curl/curl-8.7.1.ebuild
new file mode 100644
index 000000000000..ea43332db05d
--- /dev/null
+++ b/net-misc/curl/curl-8.7.1.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
+inherit autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig
+
+DESCRIPTION="A Client that groks URLs"
+HOMEPAGE="https://curl.se/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/curl/curl.git"
+else
+ SRC_URI="
+ https://curl.se/download/${P}.tar.xz
+ verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )
+ "
+ 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"
+fi
+
+LICENSE="BSD curl ISC test? ( BSD-4 )"
+SLOT="0"
+IUSE="+adns +alt-svc brotli +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"
+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
+REQUIRED_USE="
+ ssl? (
+ ^^ (
+ curl_ssl_gnutls
+ curl_ssl_mbedtls
+ curl_ssl_openssl
+ curl_ssl_rustls
+ )
+ )
+ curl_ssl_gnutls? ( gnutls )
+ curl_ssl_mbedtls? ( mbedtls )
+ curl_ssl_openssl? ( openssl )
+ curl_ssl_rustls? ( rustls )
+ nghttp3? (
+ !openssl
+ alt-svc )
+"
+
+# cURL's docs and CI/CD are great resources for confirming supported versions
+# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.:
+# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions)
+# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly)
+# - 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.
+
+RDEPEND="
+ >=sys-libs/zlib-1.1.4[${MULTILIB_USEDEP}]
+ adns? ( net-dns/c-ares:=[${MULTILIB_USEDEP}] )
+ brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
+ http2? ( >=net-libs/nghttp2-1.12.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-0.15.0[${MULTILIB_USEDEP}]
+ >=net-libs/ngtcp2-0.19.1[gnutls,ssl,-openssl,${MULTILIB_USEDEP}]
+ )
+ psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] )
+ rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh2-1.0.0[${MULTILIB_USEDEP}] )
+ ssl? (
+ gnutls? (
+ app-misc/ca-certificates
+ >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}]
+ dev-libs/nettle:=[${MULTILIB_USEDEP}]
+ )
+ mbedtls? (
+ app-misc/ca-certificates
+ net-libs/mbedtls:=[${MULTILIB_USEDEP}]
+ )
+ openssl? (
+ >=dev-libs/openssl-0.9.7:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
+ )
+ rustls? (
+ >=net-libs/rustls-ffi-0.12.0:=[${MULTILIB_USEDEP}]
+ )
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ test? (
+ sys-apps/diffutils
+ http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] )
+ nghttp3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] )
+ )
+ verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
+"
+
+DOCS=( CHANGES README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/curl/curlbuild.h
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/curl-config
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __builtin_available
+ closesocket
+ CloseSocket
+ getpass_r
+ ioctlsocket
+ IoctlSocket
+ mach_absolute_time
+ setmode
+ _fseeki64
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-prefix.patch
+ "${FILESDIR}"/${PN}-respect-cflags-3.patch
+ "${FILESDIR}"/${PN}-8.7.1-fix-pkgconfig-macros.patch
+)
+
+src_prepare() {
+ default
+
+ eprefixify curl-config.in
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # We make use of the fact that later flags override earlier ones
+ # So start with all ssl providers off until proven otherwise
+ # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
+ local myconf=()
+
+ myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
+ if use ssl; then
+ myconf+=( --without-gnutls --without-mbedtls --without-rustls )
+
+ if use gnutls; then
+ multilib_is_native_abi && einfo "SSL provided by gnutls"
+ myconf+=( --with-gnutls )
+ fi
+ if use mbedtls; then
+ multilib_is_native_abi && einfo "SSL provided by mbedtls"
+ myconf+=( --with-mbedtls )
+ fi
+ if use openssl; then
+ multilib_is_native_abi && einfo "SSL provided by openssl"
+ myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
+ fi
+ if use rustls; then
+ multilib_is_native_abi && einfo "SSL provided by rustls"
+ myconf+=( --with-rustls )
+ fi
+ if use curl_ssl_gnutls; then
+ multilib_is_native_abi && einfo "Default SSL provided by gnutls"
+ myconf+=( --with-default-ssl-backend=gnutls )
+ elif use curl_ssl_mbedtls; then
+ multilib_is_native_abi && einfo "Default SSL provided by mbedtls"
+ myconf+=( --with-default-ssl-backend=mbedtls )
+ elif use curl_ssl_openssl; then
+ multilib_is_native_abi && einfo "Default SSL provided by openssl"
+ myconf+=( --with-default-ssl-backend=openssl )
+ elif use curl_ssl_rustls; then
+ multilib_is_native_abi && einfo "Default SSL provided by rustls"
+ myconf+=( --with-default-ssl-backend=rustls )
+ else
+ eerror "We can't be here because of REQUIRED_USE."
+ die "Please file a bug, hit impossible condition w/ USE=ssl handling."
+ fi
+
+ else
+ myconf+=( --without-ssl )
+ einfo "SSL disabled"
+ fi
+
+ # These configuration options are organized alphabetically
+ # within each category. This should make it easier if we
+ # ever decide to make any of them contingent on USE flags:
+ # 1) protocols first. To see them all do
+ # 'grep SUPPORT_PROTOCOLS configure.ac'
+ # 2) --enable/disable options second.
+ # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
+ # 3) --with/without options third.
+ # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
+
+ myconf+=(
+ $(use_enable alt-svc)
+ --enable-basic-auth
+ --enable-bearer-auth
+ --enable-digest-auth
+ --enable-kerberos-auth
+ --enable-negotiate-auth
+ --enable-aws
+ --enable-dict
+ --disable-ech
+ --enable-file
+ $(use_enable ftp)
+ $(use_enable gopher)
+ $(use_enable hsts)
+ --enable-http
+ $(use_enable imap)
+ $(use_enable ldap)
+ $(use_enable ldap ldaps)
+ --enable-ntlm
+ --disable-ntlm-wb
+ $(use_enable pop3)
+ --enable-rt
+ --enable-rtsp
+ $(use_enable samba smb)
+ $(use_with ssh libssh2)
+ $(use_enable smtp)
+ $(use_enable telnet)
+ $(use_enable tftp)
+ --enable-tls-srp
+ $(use_enable adns ares)
+ --enable-cookies
+ --enable-dateparse
+ --enable-dnsshuffle
+ --enable-doh
+ --enable-symbol-hiding
+ --enable-http-auth
+ --enable-ipv6
+ --enable-largefile
+ --enable-manual
+ --enable-mime
+ --enable-netrc
+ $(use_enable progress-meter)
+ --enable-proxy
+ --enable-socketpair
+ --disable-sspi
+ $(use_enable static-libs static)
+ --enable-pthreads
+ --enable-threaded-resolver
+ --disable-versioned-symbols
+ --without-amissl
+ --without-bearssl
+ $(use_with brotli)
+ --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d
+ $(use_with http2 nghttp2)
+ --without-hyper
+ $(use_with idn libidn2)
+ $(use_with kerberos gssapi "${EPREFIX}"/usr)
+ --without-libgsasl
+ $(use_with psl libpsl)
+ --without-msh3
+ $(use_with nghttp3)
+ $(use_with nghttp3 ngtcp2)
+ --without-quiche
+ $(use_with rtmp librtmp)
+ --without-schannel
+ --without-secure-transport
+ --without-test-caddy
+ --without-test-httpd
+ --without-test-nghttpx
+ $(use_enable websockets)
+ --without-winidn
+ --without-wolfssl
+ --with-zlib
+ $(use_with zstd)
+ --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions
+ )
+
+ if use test && multilib_is_native_abi && ( use http2 || use nghttp3 ); then
+ myconf+=(
+ --with-test-nghttpx="${BROOT}/usr/bin/nghttpx"
+ )
+ fi
+
+ if [[ ${CHOST} == *mingw* ]] ; then
+ myconf+=(
+ --disable-pthreads
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ if ! multilib_is_native_abi; then
+ # Avoid building the client (we just want libcurl for multilib)
+ sed -i -e '/SUBDIRS/s:src::' Makefile || die
+ 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() {
+ default
+
+ if multilib_is_native_abi; then
+ # Shell completions
+ ! tc-is-cross-compiler && emake -C scripts
+ fi
+}
+
+# There is also a pytest harness that tests for bugs in some very specific
+# situations; we can rely on upstream for this rather than adding additional test deps.
+multilib_src_test() {
+ # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
+ # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
+ # -v: verbose
+ # -a: keep going on failure (so we see everything which breaks, not just 1st test)
+ # -k: keep test files after completion
+ # -am: automake style TAP output
+ # -p: print logs if test fails
+ # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging
+ # or just read https://github.com/curl/curl/tree/master/tests#run.
+ # Note: we don't run the testsuite for cross-compilation.
+ # Upstream recommend 7*nproc as a starting point for parallel tests, but
+ # this ends up breaking when nproc is huge (like -j80).
+ # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped
+ # as most gentoo users don't have an 'ip6-localhost'
+ multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083"
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ # Shell completions
+ ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+ rm -rf "${ED}"/etc/ || die
+}
diff --git a/net-misc/curl/files/curl-8.7.1-fix-pkgconfig-macros.patch b/net-misc/curl/files/curl-8.7.1-fix-pkgconfig-macros.patch
new file mode 100644
index 000000000000..91aed9582521
--- /dev/null
+++ b/net-misc/curl/files/curl-8.7.1-fix-pkgconfig-macros.patch
@@ -0,0 +1,39 @@
+https://github.com/curl/curl/pull/13202
+From: Matt Jolly <kangie@gentoo.org>
+Date: Wed, 27 Mar 2024 22:52:26 +1000
+Subject: [PATCH] m4: fix rustls pkg-config codepath
+
+The previous pkg-config code would successfully detect rustls
+but did not set all appropriate variables and call the right macros to
+properly configure cURL.
+
+Closes: #13200
+--- a/m4/curl-rustls.m4
++++ b/m4/curl-rustls.m4
+@@ -142,6 +142,10 @@ if test "x$OPT_RUSTLS" != xno; then
+ LIBS="$SSL_LIBS $LIBS"
+ USE_RUSTLS="yes"
+ ssl_msg="rustls"
++ AC_DEFINE(USE_RUSTLS, 1, [if rustls is enabled])
++ AC_SUBST(USE_RUSTLS, [1])
++ RUSTLS_ENABLED=1
++ test rustls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
+ else
+ AC_MSG_ERROR([pkg-config: Could not find rustls])
+ fi
+@@ -174,5 +178,15 @@ if test "x$OPT_RUSTLS" != xno; then
+ fi
+
+ test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
++
++ if test X"$OPT_RUSTLS" != Xno &&
++ test "$RUSTLS_ENABLED" != "1"; then
++ AC_MSG_NOTICE([OPT_RUSTLS: $OPT_RUSTLS])
++ AC_MSG_NOTICE([RUSTLS_ENABLED: $RUSTLS_ENABLED])
++ AC_MSG_ERROR([--with-rustls was given but Rustls could not be detected])
++ fi
+ fi
+ ])
++
++
++RUSTLS_ENABLED
diff --git a/net-misc/streamlink/Manifest b/net-misc/streamlink/Manifest
index ba783d987431..455f0ac13c1e 100644
--- a/net-misc/streamlink/Manifest
+++ b/net-misc/streamlink/Manifest
@@ -1,12 +1,8 @@
DIST streamlink-6.5.1.tar.gz 717297 BLAKE2B 7f24a9ac2e62ff08d2126e4aceda75cbd46d78de08784336dd3b4d7608cd7885a5dca28bd9dda9f8c217b9cc428f8f50f09d0c45e470e0d3534ecd3effb2a95f SHA512 b31b34a2ef510d47d396b12b770c042bed24ff61835db6a654722803ae94e8371aa547f30bf20d7cf34d737ed9bd59bcea1bb1810e926cfc7ae3fa72f38881d8
DIST streamlink-6.6.2.tar.gz 737076 BLAKE2B f1603c292cbb1135534d34b89bad3d859194a9d9b602aafc05e38d901071b77a92fc054387081a4579a4504642d33454427ee239def80a8ec0b50f901dab05ab SHA512 727fbd6bbf03a55a468b625984abe3d7f1792aaab11b2a55d5b0526454cc1959d7bfb3579526eb9e7493a44277302e6f40556f3ad99509751f950d49605b60db
-DIST streamlink-6.7.0.tar.gz 738338 BLAKE2B 2ef297c8c96716d71b1e8148397e2a9f079062a83d9533568eabf9777e832dfc56eb4d4ec0ef361250af80be66c7e4680fe7c72d070ee85da85f74917cf0d88b SHA512 df2f69cdd4de9deca41d7dca2b8b38dabcda9f4722de28a96fca0b011cb528751e40895cbe68724c3222615c6e317983d8937bd2c161640d3a8c6db17273cafd
-DIST streamlink-6.7.1.tar.gz 740537 BLAKE2B 676f9e64d80c45edbca89a7fad0f91efd8c3528ec8c8a3143aa7f277a2b882237c65b4d6c50752e3d4ca60f179012b7bb1db0b7555a95459b423adea9f982919 SHA512 2a76d819b15efbe7b7bf4912b5117ab6c2a0fb49a7aac74559c0fc9bb7ac989cb589bcdfb84d8908a6b6c163080bdb2211d53b8e5de7840cde1a38eea45bcfac
DIST streamlink-6.7.2.tar.gz 741037 BLAKE2B b6ecea883a8b09e524a28ebdee083bb5f1e563605ef16fb3adebba03194ad3f1d8f9dc902cfe80372dc53c5778f1ddc9695680b5cd4a87277b646fc15fffd7e2 SHA512 251e0b03c39dae980367e8a5b6ffcb1c279b0874eeaeff31d9d4486917b759ef27ba2bd5bba0bc74691237e429981f3748002e0ef49befe8c7be69160856ecfe
EBUILD streamlink-6.5.1.ebuild 2195 BLAKE2B 402b5052819b75766701fca53fcef174031ecabf1546cef2ae582183601321af449089df87fceac39f799cf1ec1005ceb5d8681268b33d3b9d4bf5e36a5868c9 SHA512 0a3c651ec9ea507e721fd819a7cb4fede850cc7a6fe001002cf5087e554515deb6816d0c7da8f673ab95795d22a5d0f6a3a11c615ea29fa5bef8fce0a1c5026d
EBUILD streamlink-6.6.2.ebuild 2196 BLAKE2B 8ef3951cba5995da90a9964a29f231a62939d9a154375757d48eb2227fedcc0b5f07ebcc3215ba281d9485a4c902ef0d9a7e648cfccd7b929b2ab667d758de97 SHA512 8a6282c96ed33721631aa2fcaee5caf424881090b5c2406a44bd4ec355d92e41ec93fb3f9daf4124e3f67e024e435fa48f03a65a534485fa5bc406dfb3c3bc39
-EBUILD streamlink-6.7.0.ebuild 2196 BLAKE2B 8ef3951cba5995da90a9964a29f231a62939d9a154375757d48eb2227fedcc0b5f07ebcc3215ba281d9485a4c902ef0d9a7e648cfccd7b929b2ab667d758de97 SHA512 8a6282c96ed33721631aa2fcaee5caf424881090b5c2406a44bd4ec355d92e41ec93fb3f9daf4124e3f67e024e435fa48f03a65a534485fa5bc406dfb3c3bc39
-EBUILD streamlink-6.7.1.ebuild 3538 BLAKE2B b19b591fac6315162b1dd47ceeaa865635e05ad30fb1a8cd66b981c84a9da0c9a40811e0dd7b324138f1505ca472623059db2cb1c17a9a591fead090b49b87d7 SHA512 c9a53ead35d1d2f4ce97cd7f93d95bba74f067181119019d110ca22d88d4098d8059eb9d481679ce106f1c543384afa6bb8360651802f42cae5be44bd89f3d0c
EBUILD streamlink-6.7.2.ebuild 3538 BLAKE2B 25640c8c168c175ed71a88ccb76edf58d60901ad265ac483e2600a0d7c69ee5bdb2b5f791a6d4545be5717a43db7e18bbdb9d24ff1bad75ff9687d099a125460 SHA512 c2a52cd668d9dbdb4aef0230f244044e135e852095b9ead7bda578b3f9ddb905506733daa4035c30c0b8585e7c22dadb7609486e537f7ec29feecfdfb2163226
EBUILD streamlink-9999.ebuild 3538 BLAKE2B 25640c8c168c175ed71a88ccb76edf58d60901ad265ac483e2600a0d7c69ee5bdb2b5f791a6d4545be5717a43db7e18bbdb9d24ff1bad75ff9687d099a125460 SHA512 c2a52cd668d9dbdb4aef0230f244044e135e852095b9ead7bda578b3f9ddb905506733daa4035c30c0b8585e7c22dadb7609486e537f7ec29feecfdfb2163226
MISC metadata.xml 398 BLAKE2B 43aa67d43256cecb95b788e4bab999f73b7b624fa1af0432aa87ffa94071f09e29eab6733468d6607eeb7aa9f81030610dfbcd849f9cb9196d80181ea5712f74 SHA512 2db05f8a1196e44e632b4ee1d85f804d295eb53141cf176e85cbe90cc30e0fee382a5e798e4cc7fd63557d60687d05a671533c2188a2fcf497f6e95292190149
diff --git a/net-misc/streamlink/streamlink-6.7.0.ebuild b/net-misc/streamlink/streamlink-6.7.0.ebuild
deleted file mode 100644
index da450aa9f963..000000000000
--- a/net-misc/streamlink/streamlink-6.7.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/streamlink/${PN}.git"
- inherit git-r3
-fi
-
-DISTUTILS_SINGLE_IMPL=1
-# >= 6.2.1 uses a bunch of setuptools hooks instead of vanilla setuptools
-# https://github.com/streamlink/streamlink/commit/194d9bc193f5285bc1ba33af5fd89209a96ad3a7
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE='xml(+),threads(+)'
-inherit distutils-r1
-
-DESCRIPTION="CLI for extracting streams from websites to a video player of your choice"
-HOMEPAGE="https://streamlink.github.io/"
-
-if [[ ${PV} != 9999* ]]; then
- SRC_URI="https://github.com/streamlink/${PN}/releases/download/${PV}/${P}.tar.gz"
-fi
-
-LICENSE="BSD-2 Apache-2.0"
-SLOT="0"
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-# See https://github.com/streamlink/streamlink/commit/9d8156dd794ee0919297cd90d85bcc11b8a28358 for chardet/charset-normalizer dep
-RDEPEND="
- media-video/ffmpeg
- $(python_gen_cond_dep '
- dev-python/certifi[${PYTHON_USEDEP}]
- || (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- )
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.6.4[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.2.1[${PYTHON_USEDEP}]
- dev-python/pycountry[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.4.3[${PYTHON_USEDEP}]
- >dev-python/PySocks-1.5.7[${PYTHON_USEDEP}]
- >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
- ')
-"
-BDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/setuptools-64[${PYTHON_USEDEP}]
- >=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/freezegun-1.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )
- ')
-"
-
-if [[ ${PV} == 9999* ]]; then
- RDEPEND+="
- $(python_gen_cond_dep '
- >=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
- ')
- "
-fi
-
-distutils_enable_tests pytest
diff --git a/net-misc/streamlink/streamlink-6.7.1.ebuild b/net-misc/streamlink/streamlink-6.7.1.ebuild
deleted file mode 100644
index 726f048e9ad9..000000000000
--- a/net-misc/streamlink/streamlink-6.7.1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/streamlink/${PN}.git"
- inherit git-r3
-fi
-
-DISTUTILS_SINGLE_IMPL=1
-# >= 6.2.1 uses a bunch of setuptools hooks instead of vanilla setuptools
-# https://github.com/streamlink/streamlink/commit/194d9bc193f5285bc1ba33af5fd89209a96ad3a7
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE='xml(+),threads(+)'
-inherit distutils-r1
-
-DESCRIPTION="CLI for extracting streams from websites to a video player of your choice"
-HOMEPAGE="https://streamlink.github.io/"
-
-if [[ ${PV} != 9999* ]]; then
- SRC_URI="https://github.com/streamlink/${PN}/releases/download/${PV}/${P}.tar.gz"
-fi
-
-LICENSE="BSD-2 Apache-2.0"
-SLOT="0"
-if [[ ${PV} != 9999* ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-# See https://github.com/streamlink/streamlink/commit/9d8156dd794ee0919297cd90d85bcc11b8a28358 for chardet/charset-normalizer dep
-# See https://github.com/streamlink/streamlink/pull/5895 re exceptiongroup dep
-RDEPEND="
- media-video/ffmpeg
- $(python_gen_cond_dep '
- dev-python/certifi[${PYTHON_USEDEP}]
- || (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- )
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
- dev-python/isodate[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.6.4[${PYTHON_USEDEP}]
- >=dev-python/websocket-client-1.2.1[${PYTHON_USEDEP}]
- dev-python/pycountry[${PYTHON_USEDEP}]
- >=dev-python/pycryptodome-3.4.3[${PYTHON_USEDEP}]
- >dev-python/PySocks-1.5.7[${PYTHON_USEDEP}]
- >=dev-python/trio-0.25.0[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
- ')
-"
-BDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/setuptools-64[${PYTHON_USEDEP}]
- >=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/freezegun-1.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )
- ')
-"
-
-if [[ ${PV} == 9999* ]]; then
- RDEPEND+="
- $(python_gen_cond_dep '
- >=dev-python/versioningit-2.0.0[${PYTHON_USEDEP}]
- ')
- "
-fi
-
-distutils_enable_tests pytest
-
-python_test() {
- # Skip tests requiring <dev-python/pytest-8.0.0 which is currently masked
- # https://github.com/streamlink/streamlink/pull/5901
- EPYTEST_DESELECT+=(
- tests/webbrowser/cdp/test_client.py::TestEvaluate::test_exception
- tests/webbrowser/cdp/test_client.py::TestEvaluate::test_error
- tests/webbrowser/cdp/test_client.py::TestNavigate::test_detach
- tests/webbrowser/cdp/test_client.py::TestNavigate::test_error
- tests/webbrowser/cdp/test_connection.py::TestCreateConnection::test_failure
- tests/webbrowser/cdp/test_connection.py::TestReaderError::test_invalid_json
- tests/webbrowser/cdp/test_connection.py::TestReaderError::test_unknown_session_id
- 'tests/webbrowser/cdp/test_connection.py::TestSend::test_timeout[Default timeout, response not in time]'
- 'tests/webbrowser/cdp/test_connection.py::TestSend::test_timeout[Custom timeout, response not in time]'
- tests/webbrowser/cdp/test_connection.py::TestSend::test_bad_command
- tests/webbrowser/cdp/test_connection.py::TestSend::test_result_exception
- tests/webbrowser/cdp/test_connection.py::TestHandleCmdResponse::test_response_error
- tests/webbrowser/cdp/test_connection.py::TestHandleCmdResponse::test_response_no_result
- )
-
- epytest
-}