diff options
Diffstat (limited to 'net-misc/curl')
-rw-r--r-- | net-misc/curl/Manifest | 16 | ||||
-rw-r--r-- | net-misc/curl/curl-8.11.1-r2.ebuild | 2 | ||||
-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.ebuild | 387 | ||||
-rw-r--r-- | net-misc/curl/curl-9999.ebuild | 17 | ||||
-rw-r--r-- | net-misc/curl/files/curl-prefix-4.patch | 35 | ||||
-rw-r--r-- | net-misc/curl/metadata.xml | 1 |
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> |