summaryrefslogtreecommitdiff
path: root/net-misc/curl
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/curl')
-rw-r--r--net-misc/curl/Manifest16
-rw-r--r--net-misc/curl/curl-8.11.1-r2.ebuild2
-rw-r--r--net-misc/curl/curl-8.12.0.ebuild (renamed from net-misc/curl/curl-8.11.0-r1.ebuild)24
-rw-r--r--net-misc/curl/curl-8.8.0-r2.ebuild387
-rw-r--r--net-misc/curl/curl-9999.ebuild17
-rw-r--r--net-misc/curl/files/curl-prefix-4.patch35
-rw-r--r--net-misc/curl/metadata.xml1
7 files changed, 65 insertions, 417 deletions
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
index 2a6b9d879490..6b5796ca3350 100644
--- a/net-misc/curl/Manifest
+++ b/net-misc/curl/Manifest
@@ -12,21 +12,19 @@ AUX curl-8.8.0-multi_wait-timeout.patch 2732 BLAKE2B ae2f40f6dcec16761d959fe5eea
AUX curl-8.9.1-sigpipe.patch 773 BLAKE2B 7ef3bbd4ca9558621b4f1ea5cb9847705cd6331b7f3d5d2a950642d090c789b802c0ff4f96ff2805b9e1dfe807b14daaee223dbcb2ff1426458dadb3e71d1e79 SHA512 55e55da046425e9a60064ff79ec3f8ab37a10275210f46cfb10ad29e9a29cb137a28ba6a0effa90bfc46d687aab929565b97bfa7549ac8a202746e332d1fa6ed
AUX curl-prefix-2.patch 1075 BLAKE2B 657ac450c9d50a08f62be72dc9d1bc68c494dcc0c8153f1a89d5cb50d240aa6bcd56b48242ed3ea1352da5cd5d98b8c6daaff6fdcc672a95a0233db1f8d27bdd SHA512 91a531291426477a68108dcc40656e6a56caabfda26f351d4b7cdb39e66f500ffd532f2417a81c5a789ea624b4f6325aa8006155292910612e54ab3d9daa3620
AUX curl-prefix-3.patch 1068 BLAKE2B dbaf21f38874a308557997d6a3a7a1f9fdb817b22d9846b4d6bd2bae413b7177650f20f17b10bfcc4a6747a89470dc2672ce79ba67d08fc92ebbbba353ba6c3a SHA512 c10a0062564be885f36e7c37bb58f3aa59c387369b9aae6342f818d4671e31cec99fd9ddda3577f03d1f8e87b926b8d75b006ca543f41a264e8595af79242b62
+AUX curl-prefix-4.patch 1078 BLAKE2B 3211f94da95bb4299c3ffb34db160f92ca5ffaf2995854a97f5fa935895d31e39fe52bc9a9459071f2ba844a8bb86cbacf6fe9dc0e337499138507420d4cbf91 SHA512 ca2cec79636d69d38da41292d8da6d682c5522f0afc883b3210506f8c9c532e8231c205b7b940272de2d085be28cc3838ac721302377fef634751bb40b3b3941
AUX curl-respect-cflags-3.patch 406 BLAKE2B 1b533144858aff5566150c4a2648ad2e48e8ff29849ae285592edfee4b3332d06e750395dea7190ee6a01d2b5ee2c2c42c10400c2e5defa09963a90a1a10417d SHA512 3219e4e67d534e35012909243fc8d69d58989462db44dd507c502e7aaa299f1d9a01392e2c83797cc2bdb53d503470c5d6e7bf94572a6ccc6e5eafcc0466bc54
DIST curl-8.10.1.tar.xz 2726748 BLAKE2B bfdfa24f6d652884044c5e8eea5d70daad651b46255c99c9df502f9595a2dcbf8c4034446becf9e87f8e8a3f397a8fda29ab3e0d6020ac0dae62dd42b8136b78 SHA512 f1c7a12492dcfb8ba08be69b96a83ce9074592cbaa6b95c72b3c16fc58ad35e9f9deec7b72baca7d360d013b0b1c7ea38bd4edae464903ac67aa3c76238d8c6c
DIST curl-8.10.1.tar.xz.asc 488 BLAKE2B 8e8f2b628d4e8964a76c1c43c5557aacbfc2d2dbc51be8a0fa1b157c257f15f29aedba842cba7cb270c4adcf0b4a5d9c8b0b3d49633c48b061fb3e1472303d66 SHA512 21d6d560c027efc9e3e5db182a77501d6376442221ba910df817e2ec980bee44a9fe2afc698205f8d5e8313ae47915a341d60206a46b46e816d73ee357a894ac
-DIST curl-8.11.0.tar.xz 2750684 BLAKE2B 3db13ed558bee332e07e1eab878b5ecae14cd049c115eea3a25fcb78cf28aadfe577dc224df75b62844529994ec478a9a74fed5c9bae338f809d231420ae5d0a SHA512 3a642d421e0a5c09ecb681bea18498f2c6124e9af4d8afdc074dfb85a9b0211d8972ade9cf00ab44b5dfed9303262cd83551dd3b5e0976d11fc19da3c4a0987e
-DIST curl-8.11.0.tar.xz.asc 488 BLAKE2B 5d91dc654d6a62c66e344ca92676b42e7a49f437e14f9fb714f7ae64a266d24d9bb7006b4512fc323459072ff0d9e05f627e494f34f845eadbedbd83acacc2ce SHA512 71073dde48e8f0013e392eb88bf70f6b8a4a4f0c955a3fb56db98e74aa10acc1004e2a0483f30be082e61b59a76fa75ae1d90545ace7c6b07bca8164078375f0
DIST curl-8.11.1.tar.xz 2751236 BLAKE2B a87ec2c78c5d6daf44eee4cf8e3ed124849d067f6c63145205fda18f33ddd3adce386058ead8f9b713f8e595f5e059acd13479eb00edc226247aabd3c2234112 SHA512 7c7c47a49505575b610c56b455f0919ea5082a993bf5483eeb258ead167aadb87078d626b343b417dcfc5439c53556425c8fb4fe3b01b53a87b47c01686a3e57
DIST curl-8.11.1.tar.xz.asc 488 BLAKE2B 53d58ebb8ab722d8394b7ce94b646c876324cd89b3e47d9129bddcfbb6db338c1dbe93a5e72a25caf7be9ddd450c2b0832cfee17beb8ba701bdeefe653235d53 SHA512 c09bedb67e83fb8ca3ad73c5bd0d92fed7fc2c26dbe5a71cccb193fd151c7219713241a9fe74baefcd1d008cfafba78142bf04cec24dd4a88d67179184d35824
-DIST curl-8.8.0.tar.xz 2748860 BLAKE2B c14903bad4cbd1752a5335afa6bcc78be1a484692fce0e0a6c2061963e0e6b4e56defb8332cef32d0dbddb481ad0443b71faf3a52a6e9d945c89ecbce373d2a3 SHA512 9d2c0d3a0d8f6c31ba4fabe48f801910f886fde43dc198dc4213708d6967ed5e040a1bb7348aa1cb126577ee508a3ec36fe65256d027d861d6ffb70f6383967a
-DIST curl-8.8.0.tar.xz.asc 488 BLAKE2B d80c0ff357b344d7ec2b975a92f1eeb7557993b61a69e7adaaeab89c9b5a53ddade5104fe1a0ad260145db9c90fc0aae36dfc22320492db6696f290da9ff675b SHA512 37b501770225dff6b1e7bde1157f556f10ec1c597fcbbb5c8b8c370efb97a3a70f585f2f5c201b96380d68466696474a5f65a07da59b704678d6927567d25359
+DIST curl-8.12.0.tar.xz 2777552 BLAKE2B b38c7465a38f6bbdc6daa1e8a27dc810f970c9172ddf532881e83965e1fa6001beff1bf358e5138e1a0ae1121d877f6a5a4f38ef7ea7e03c8b06dc46fbf24022 SHA512 ed35f0020541050ce387f4ba80f9e87562ececd99082da1bae85840dee81c49b86a4a55909e15fcbf4eb116106a796c29a9b2678dee11326f80db75992c6edc5
+DIST curl-8.12.0.tar.xz.asc 488 BLAKE2B 8977dabab96b6f188e8b16497e7a4e589f05b5512a9bc6ec0ee36797615c720b9cb5c34bc90df6ee037d898b8fa7f708ad2b2ff789163adcb5308a2e0d7cf9df SHA512 8526554ffb2187b48b6a4c6a0d4a8c73d484ef3ce4c3791add0e759baf953ac7ae0b2f88d688365b1f09c5745198611fa1761aa14d02ddf52823c4ff238779cd
DIST curl-8.9.1.tar.xz 2782364 BLAKE2B 6e38e20e2b03ab5bfbb8d9797442dfdd9644fc80d7b1f7c1efb1f44e0d730524e82ccf7413b2c6f4555bd61ae42f91ec7c0201e2c0d563811c85164aa234aada SHA512 a0fe234402875db194aad4e4208b7e67e7ffc1562622eea90948d4b9b0122c95c3dde8bbe2f7445a687cb3de7cb09f20e5819d424570442d976aa4c913227fc7
DIST curl-8.9.1.tar.xz.asc 488 BLAKE2B 437268f6e5ba5db73f205fd87f3ded1e5fc200e8bf63a83cdb7e21dfbf2f4a4620e598cd0bf5d8fa1548ade08d45b386599542cd988df46a238b85790409f42e SHA512 18acd58436d70900ab6912b84774da2c451b9dbfc83d6d00f85bbbe7894b67075918e58956fdb753fcc1486e4f10caa31139d7c68b037d7c83dc2e9c2fae9f9b
EBUILD curl-8.10.1-r2.ebuild 11386 BLAKE2B 4fc98c3aa27836ed387bee340f1c197bd1c3eeb902bc976de4a04e35df38df8e57f790d827583fb08e6634b160adbf35ffa97b036162542bbc540e5425bfa1b2 SHA512 be8490b399f27925e0f911f7aa4a21f4967c68b1e22b0c3e85776118b8db68161b7c9568f4f1fa85bdf4acbdc876068cf2054a17e04ba0640ceb18165091f30b
-EBUILD curl-8.11.0-r1.ebuild 11727 BLAKE2B 8386cba44cc2c6ac8a8dad85d2a9217dffe9afe40ddf48b426a72cd8359431a27e5e1551b3b5ccc1235c0f951d4901133cc2cdab961486e161300581775070e3 SHA512 42c57478c0414b8aaaac8172e284ef1b2f90f4e8eef5474657413ee220865840861a18553edb6de7f214e9a72d899f646cb9cb0db6db23e68e3e4e280c65c782
-EBUILD curl-8.11.1-r2.ebuild 11446 BLAKE2B 96b3d96450b93d129a41ef870fe5121fa438292093d31cfc9eae7d159b16472f989291124e75c20afe05ed4cf8abff924a802a921db8e1c8b1097525f158a23d SHA512 0aa07995ce7ec28de0b8dc12e86d07cca1998ffb96d7f3cae0f5497fb647822ce6cdf8a76aeeac2dba475b0acda205a21794ec88c22609432d94f162d9326a6e
-EBUILD curl-8.8.0-r2.ebuild 11487 BLAKE2B 3b5110df27891b5284b0be5d4a6803098bf59994b50131c08eae5879ceab4a50f17a9300abb00bd0224154e1cd856b5d589af287fd1ad700e6b345acbe1b06b6 SHA512 8cc6d797e02e88c3886e890f5add39dd47a65d7f41a23a9f9f5baa92f769cae3e0138aa7dd269a7fec81a8db77c05bb3e8916fbbc8603c5ba4b764f10e138307
+EBUILD curl-8.11.1-r2.ebuild 11440 BLAKE2B 7b9b657400dc526b4f3e062d930861c11a783d6ca749df3d4673aa5409fed3c4cff25adea2263e8713de28db99b7a66a74fe0508c60773a028157af31e1ee2eb SHA512 5c80516ee662687c65e5f77e19469a8d36d65277f40110b3c3d54a6c94481aad0212ff98783f65ef0667b37b971cd7472f55b662eb1ad2754b6b881a4dd14a68
+EBUILD curl-8.12.0.ebuild 11637 BLAKE2B e2263e9b91e5629d126cd3a151e0bc5f8cf289148d50d70df2237ff5d73c1afc4473813ac08081a2818e2b4069f7e7b7f9121cfdeb9025c19a7ca71263f8c7dc SHA512 98599baa5514c7a1010b149dc5b15610464a5f188f4ec2bc479102cac35a551e49f0418dad01236be277dc3619d129af4d9aab949a6b85ee3247afa4080e9294
EBUILD curl-8.9.1-r2.ebuild 11436 BLAKE2B d3c76be0c731c44b2f5a2005f1820582c359128b4d1936789fd6d10bdfb8c6f2b9edeb12e978b5e211f2af4ee4a1381195ebcb4082ba756bd26fea7114b7998c SHA512 85430bf7f790d20368926e0b512277daff19f299517824d23aa7dc80fa96150b203abaa9a36736a7e6cc232a437198605df8860f84ae56c2d62027cfdbe7f663
-EBUILD curl-9999.ebuild 11393 BLAKE2B df200dae83a68044d5d393c2ae35bfa20a00f297398436879050b54a6a19a26c4544e292f0794b48ee802b18e3c76a3f8828ba29b323c55b083a0646a4f9cf45 SHA512 e09178525e2172a55e6fdcbf7d5b6127063912b9b4903a53c036459ae40653f500b5d86dd647731f775ca5c4b2706433168c5a0c51cd455e0b2d4a08d9e901d7
-MISC metadata.xml 2215 BLAKE2B aa0851849ffda831aeec7a6315d23892c35680ab42c0bc9a5662238e7b8289d5f48d5f2a60ab0bacba06f71271bf60d14958bfec029a048f732d22fdc60faded SHA512 7da9247a1bbb533ae0bdc919f5bd2ad7ed298a7f9e986dce6d2471cedeee9f1542a8ef79b1fdbca5a1a0d33194b99ff3d3f5c27054ac01a3f1e40a1e94d6c1b2
+EBUILD curl-9999.ebuild 11637 BLAKE2B e2263e9b91e5629d126cd3a151e0bc5f8cf289148d50d70df2237ff5d73c1afc4473813ac08081a2818e2b4069f7e7b7f9121cfdeb9025c19a7ca71263f8c7dc SHA512 98599baa5514c7a1010b149dc5b15610464a5f188f4ec2bc479102cac35a551e49f0418dad01236be277dc3619d129af4d9aab949a6b85ee3247afa4080e9294
+MISC metadata.xml 2129 BLAKE2B 89432da852617c89e67c8927a7dddf43a4b69753b201623a7d94071724bc1dd9a936cfabfce6cb224700a47d33257f4945bbb695bfde5d20b9fd4796bd712242 SHA512 8ac6fa9535920904ff70c5cadf1fe28b1e806deff5b37a5a326e9ec25d6c54cc1bf2ecbfd8843af34b26dbe270a1a3ac3ca8ec8730d62180af8237fae5ba255a
diff --git a/net-misc/curl/curl-8.11.1-r2.ebuild b/net-misc/curl/curl-8.11.1-r2.ebuild
index 96c0bc7723d3..1c959b004fb5 100644
--- a/net-misc/curl/curl-8.11.1-r2.ebuild
+++ b/net-misc/curl/curl-8.11.1-r2.ebuild
@@ -21,7 +21,7 @@ else
https://curl.se/download/${P}.tar.xz
verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~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 )"
diff --git a/net-misc/curl/curl-8.11.0-r1.ebuild b/net-misc/curl/curl-8.12.0.ebuild
index 256378637261..f8c605501860 100644
--- a/net-misc/curl/curl-8.11.0-r1.ebuild
+++ b/net-misc/curl/curl-8.12.0.ebuild
@@ -156,15 +156,8 @@ QA_CONFIG_IMPL_DECL_SKIP=(
)
PATCHES=(
- "${FILESDIR}/${PN}-prefix-3.patch"
+ "${FILESDIR}/${PN}-prefix-4.patch"
"${FILESDIR}/${PN}-respect-cflags-3.patch"
- "${FILESDIR}/${P}-cmdline-ech-docs.patch"
- "${FILESDIR}/${P}-curl-libssh-ipv6-brackets.patch"
- "${FILESDIR}/${P}-mbedtls-global-init.patch"
- "${FILESDIR}/${P}-setopt-http_content_decoding.patch"
- "${FILESDIR}/${P}-cookie-case-sensitive.patch"
- "${FILESDIR}/${P}-duphandle-init-netrc.patch"
- "${FILESDIR}/${P}-netrc-large-file.patch"
)
src_prepare() {
@@ -277,15 +270,12 @@ multilib_src_configure() {
--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
@@ -321,9 +311,17 @@ multilib_src_configure() {
)
fi
- if [[ ${CHOST} == *mingw* ]] ; then
+ # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive
+ # This is in support of some work to enable `httpsrr` to use adns and the rest
+ # of curl to use the threaded resolver; we'll just make `httpsrr` conditional on adns
+ # when the time comes.
+ if use adns; then
myconf+=(
- --disable-pthreads
+ --disable-threaded-resolver
+ )
+ else
+ myconf+=(
+ --enable-threaded-resolver
)
fi
diff --git a/net-misc/curl/curl-8.8.0-r2.ebuild b/net-misc/curl/curl-8.8.0-r2.ebuild
deleted file mode 100644
index 89b07c74c60e..000000000000
--- a/net-misc/curl/curl-8.8.0-r2.ebuild
+++ /dev/null
@@ -1,387 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Maintainers should subscribe to the 'curl-distros' ML for backports etc
-# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/
-# https://lists.haxx.se/listinfo/curl-distros
-
-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 ~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 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"
-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-1.16.0:=[${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-1.1.0[${MULTILIB_USEDEP}]
- >=net-libs/ngtcp2-1.2.0[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:0=[${MULTILIB_USEDEP}]
- )
- openssl? (
- >=dev-libs/openssl-0.9.7:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
- )
- rustls? (
- >=net-libs/rustls-ffi-0.13.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
- # custom AC_LINK_IFELSE code fails to link even without -Werror
- OSSL_QUIC_client_method
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-prefix-2.patch
- "${FILESDIR}"/${PN}-respect-cflags-3.patch
- "${FILESDIR}"/${P}-install-manpage.patch
- "${FILESDIR}"/${P}-mbedtls.patch
- "${FILESDIR}"/${P}-multi_wait-timeout.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
- $(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 debug; then
- myconf+=(
- --enable-debug
- )
- fi
-
- 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
-}
-
-pkg_postinst() {
- if use debug; then
- ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose."
- ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger."
- ewarn "hic sunt dracones; you have been warned."
- fi
-}
diff --git a/net-misc/curl/curl-9999.ebuild b/net-misc/curl/curl-9999.ebuild
index 5a37525caae2..f8c605501860 100644
--- a/net-misc/curl/curl-9999.ebuild
+++ b/net-misc/curl/curl-9999.ebuild
@@ -156,7 +156,7 @@ QA_CONFIG_IMPL_DECL_SKIP=(
)
PATCHES=(
- "${FILESDIR}/${PN}-prefix-3.patch"
+ "${FILESDIR}/${PN}-prefix-4.patch"
"${FILESDIR}/${PN}-respect-cflags-3.patch"
)
@@ -270,15 +270,12 @@ multilib_src_configure() {
--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
@@ -314,9 +311,17 @@ multilib_src_configure() {
)
fi
- if [[ ${CHOST} == *mingw* ]] ; then
+ # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive
+ # This is in support of some work to enable `httpsrr` to use adns and the rest
+ # of curl to use the threaded resolver; we'll just make `httpsrr` conditional on adns
+ # when the time comes.
+ if use adns; then
myconf+=(
- --disable-pthreads
+ --disable-threaded-resolver
+ )
+ else
+ myconf+=(
+ --enable-threaded-resolver
)
fi
diff --git a/net-misc/curl/files/curl-prefix-4.patch b/net-misc/curl/files/curl-prefix-4.patch
new file mode 100644
index 000000000000..796b67fd927f
--- /dev/null
+++ b/net-misc/curl/files/curl-prefix-4.patch
@@ -0,0 +1,35 @@
+From f18f4362d7ca60fb12248a559dab26aea330771c Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Wed, 5 Feb 2025 17:27:11 +1000
+Subject: [PATCH] Update prefix patch for 8.12.0
+
+Signed-off-by: Matt Jolly <kangie@gentoo.org>
+---
+ curl-config.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/curl-config.in b/curl-config.in
+index 55184167b..df31fdb46 100644
+--- a/curl-config.in
++++ b/curl-config.in
+@@ -141,7 +141,7 @@ while test "$#" -gt 0; do
+ ;;
+
+ --cflags)
+- if test "X@includedir@" = 'X/usr/include'; then
++ if test "X@includedir@" = "X@GENTOO_PORTAGE_EPREFIX@/usr/include"; then
+ echo '@LIBCURL_PC_CFLAGS@'
+ else
+ echo "@LIBCURL_PC_CFLAGS@ -I@includedir@"
+@@ -149,7 +149,7 @@ while test "$#" -gt 0; do
+ ;;
+
+ --libs)
+- if test "X@libdir@" != 'X/usr/lib' -a "X@libdir@" != 'X/usr/lib64'; then
++ if test "X@libdir@" != "X@GENTOO_PORTAGE_EPREFIX@/usr/lib" -a "X@libdir@" != "X@GENTOO_PORTAGE_EPREFIX@/usr/lib64"; then
+ curllibdir="-L@libdir@ "
+ else
+ curllibdir=''
+--
+2.48.0
+
diff --git a/net-misc/curl/metadata.xml b/net-misc/curl/metadata.xml
index 884608c7c1f5..b3581ad82856 100644
--- a/net-misc/curl/metadata.xml
+++ b/net-misc/curl/metadata.xml
@@ -17,7 +17,6 @@
<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 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>