From 9f7759b3b1be5a3bc7794010a8ebf9334f017d2f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 15 Nov 2022 06:52:13 +0000 Subject: gentoo auto-resync : 15:11:2022 - 06:52:13 --- net-misc/Manifest.gz | Bin 55402 -> 55410 bytes net-misc/bsdwhois/Manifest | 2 + net-misc/bsdwhois/bsdwhois-1.43.2.1-r1.ebuild | 36 +++ .../files/bsdwhois-1.43.2.1-clang16-build.patch | 21 ++ net-misc/curl/Manifest | 2 +- net-misc/curl/curl-7.86.0-r1.ebuild | 291 --------------------- net-misc/curl/curl-7.86.0-r2.ebuild | 291 +++++++++++++++++++++ 7 files changed, 351 insertions(+), 292 deletions(-) create mode 100644 net-misc/bsdwhois/bsdwhois-1.43.2.1-r1.ebuild create mode 100644 net-misc/bsdwhois/files/bsdwhois-1.43.2.1-clang16-build.patch delete mode 100644 net-misc/curl/curl-7.86.0-r1.ebuild create mode 100644 net-misc/curl/curl-7.86.0-r2.ebuild (limited to 'net-misc') diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz index 83d7df161ccb..d3697b449e9a 100644 Binary files a/net-misc/Manifest.gz and b/net-misc/Manifest.gz differ diff --git a/net-misc/bsdwhois/Manifest b/net-misc/bsdwhois/Manifest index 14d5de111d6c..ac464a78f5af 100644 --- a/net-misc/bsdwhois/Manifest +++ b/net-misc/bsdwhois/Manifest @@ -1,4 +1,6 @@ +AUX bsdwhois-1.43.2.1-clang16-build.patch 548 BLAKE2B 4c6988c13938e17064cadac3b8741972923e3d53736232e4fb5435a82017fa51894497884c191bd922dcdfa4ad8053aae982f486d664a6a6268a7b7b8e77f05f SHA512 4f0d93f58f9fed0872f6fe8d04c8d7f429647502b085241fffbc9313951735244cd586a814139be916b6eed9289d71387d5825ee88a3e0c89457c8d9cb19bf83 AUX bsdwhois-1.43.2.1-musl-cdefs.patch 508 BLAKE2B 3db720af35df824f2107ab84147ddfccf63bbbc9c85d88a6e33785e3b0b89b008aa2e161effc49dd224cec3f1b1013be51c789318074c224523756ac8cb2414c SHA512 adccd80534475b42f6d1b910e251b1fd7fc1290497a0e66efcc4f83d4c3dd39168690330b9d1a15563a39f65e081ee1d42b050224c8d195d3398736809ecf050 DIST bsdwhois-1.43.2.1.tar.gz 85895 BLAKE2B 584bec2f58deee1208b35df1dae0b638049eab990cade979f56022b701d24b2cd653feb381f79e89610246743c8b20df2c7b83cffec68e3a00a9169c79edd7e5 SHA512 c1b3f93b8d7f838478d59cb70a7326fba84f87e1fcb4af9e7cc64ac1928adf96b0e6facbd6dfabaa7d146f0d1ea1abe1330771be4c7a6f3590d3c9e86a3b53dc +EBUILD bsdwhois-1.43.2.1-r1.ebuild 707 BLAKE2B 2ed57c4af72c15d7b03ee3a78d79d72b721f0762a8ba33836d470cfd81cc1289b8128b8643d56e127f2b25cde7cfa5b56c966e7e749318f66f938f7fe6e407ad SHA512 1743dd31946cd56b54a06e2fc33125a126fc73e8422c3b81cdd29bc9dc0798b43eb8882075f4c93cc253cd7ca3d57dd86e87ccc40e610e7b411f6e36b39d39b5 EBUILD bsdwhois-1.43.2.1.ebuild 507 BLAKE2B 931770ea6e38b6d2285ebf3b12e3ac7b2d455d83900fe31bd45ce17e32f0a83d7c7c975a6e3213b00a17c28b8c3a86035dc1848a5fe5a00f099375fa127d3a42 SHA512 1d6d282564a81d4098dcf217f9a1923f8a876710b295f185e3467f1ed4365723805281a55185cc3c9fb14b7225f23365ef6844fe53cc136529777d2f487b9f93 MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a diff --git a/net-misc/bsdwhois/bsdwhois-1.43.2.1-r1.ebuild b/net-misc/bsdwhois/bsdwhois-1.43.2.1-r1.ebuild new file mode 100644 index 000000000000..2361c19c70eb --- /dev/null +++ b/net-misc/bsdwhois/bsdwhois-1.43.2.1-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit autotools flag-o-matic + +DESCRIPTION="FreeBSD Whois Client" +HOMEPAGE="https://www.freebsd.org/" +SRC_URI="http://utenti.gufi.org/~drizzt/codes/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" + +PATCHES=( + "${FILESDIR}/${PN}-1.43.2.1-musl-cdefs.patch" + "${FILESDIR}/${PN}-1.43.2.1-clang16-build.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # bug #875029 + append-cppflags -D_GNU_SOURCE + default +} + +src_install() { + default + + mv "${ED}"/usr/share/man/man1/{whois,bsdwhois}.1 || die + mv "${ED}"/usr/bin/{whois,bsdwhois} || die +} diff --git a/net-misc/bsdwhois/files/bsdwhois-1.43.2.1-clang16-build.patch b/net-misc/bsdwhois/files/bsdwhois-1.43.2.1-clang16-build.patch new file mode 100644 index 000000000000..7f7052322b0b --- /dev/null +++ b/net-misc/bsdwhois/files/bsdwhois-1.43.2.1-clang16-build.patch @@ -0,0 +1,21 @@ +Clang16 will not allow implicit function declarations and implicit integers etc. +This patch overhauls the source code for modern C. + +Bug: https://bugs.gentoo.org/875029 + +Signed-off-by: Pascal Jäger + +--- a/strnstr.c ++++ b/strnstr.c +@@ -46,10 +46,7 @@ static char sccsid[] = "@(#)strstr.c 8.1 (Berkeley) 6/4/93"; + * first slen characters of s. + */ + char * +-strnstr(s, find, slen) +- const char *s; +- const char *find; +- size_t slen; ++strnstr(const char *s, const char *find, size_t slen) + { + char c, sc; + size_t len; diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest index 20b98830cf07..e29cbe094eba 100644 --- a/net-misc/curl/Manifest +++ b/net-misc/curl/Manifest @@ -12,6 +12,6 @@ DIST curl-7.86.0.tar.xz 2518356 BLAKE2B a1de7feb229de42bf1deeb5017f97df3b1c10c75 DIST curl-7.86.0.tar.xz.asc 488 BLAKE2B a9abe2f3af801b3a48be7db09cb82b6bb83bd26a9d5caf51c0d5a4a2e6881fb478f1768a6b71efbd9283563e2c7e2badbc5a6d6df265013e14eee2ec7e9be148 SHA512 9e97d5f44b3c856f401fe30ba713e1ca1f74edfc693dc42f1ce8e43f9f6dd4bf6998c579bc9c5d0f749f475a7d67d232e92ab6f89b95141acdb53e149f2312f0 EBUILD curl-7.84.0.ebuild 8365 BLAKE2B 60758e9c23ab94612542434e0adb6602602128e455aff50c8f9da2cbdb58e27fa396bfd0011a3c461ac519e6faa25712ec80351bad3b45a7faf758aefdcbade6 SHA512 9d53b069da866f1acf875ee8615a11c8e0d5f8a88011f85ab7c8ec6e301de0d693df09d265670f0ae758aac5b923bd02a79ee0beffe5bc1454830ac876d1a652 EBUILD curl-7.85.0-r2.ebuild 8204 BLAKE2B ca20481a8128774d80ec96082c8d6c2ec4f469d871952643819e85db0ed1fdbfaf63d5a2b162697e97a9a77e0662da1e7635a3cf831c1ee76efedddbf9650a40 SHA512 ab0805b4f80d6b58b4c8f1faad3a958da334c69e49e1a3c855a3adabd23d0e45fa274ac0c770e05a77334b4d37d36410b30c64abaff35992ce95b93d24106eb1 -EBUILD curl-7.86.0-r1.ebuild 8366 BLAKE2B 46b18103498183bd6e55729512b2e582277015e8119c32bb90b889c05a447871556ec728b1770b70e50fa3536df41df3c6c970f781e35d2bde9ef127ee40006a SHA512 1f9ed986ec783902f43b4bb1a4869317e3ffc47f904e04016f1829fa50314e217b963ed3baa1e61caf42cb5c3695e3936a1b4a7baa78d91ab1b5b308184b3b37 +EBUILD curl-7.86.0-r2.ebuild 8367 BLAKE2B c7463df2a9da87728a6dec7b241e87e9b79eac01ec997f03548b2fc2c3e63749fff1b4b29fbbc317c6fbf2be784ba1b7e4599bb6e030a1dbd5692b89e1753667 SHA512 3f1d304dcde76fd82e7718cd393453bf772eede1627e594726627ade378f8e18b05073c6769d4cf5c6b553504dfa15c95e9e9e75b4aa6681e57a467d3be983f5 EBUILD curl-7.86.0.ebuild 8253 BLAKE2B da0ca8206baead3da48b2a63ba6311933fa5fd8710a54cc4448a221596cdab57b86f1bfd67368c5357e06053de591b21575b7fe655fec6f7569375d569ff639b SHA512 a70e80311df4cd5eee6eaa0960390df71982c3d5465e6392c7e1068abbe97aacef1dddb1a3b1572063f0c7daf383a3bf31e8ea8f96b2c3291829a1bd9944dd3b MISC metadata.xml 2103 BLAKE2B beb97305069a47f8eee68278dca5c0f10467d374c9fdab2ea27808b79a68cd921e2ab60bbb2455cbce2cdcada72e8c68290b40ec87ba31dad6ea580820f5c800 SHA512 27c15624622b074926307369bb41ad6cf532300154a70573618a072418358f5fc543eb56873e9836703073e8b42134a0387f3077e741377827a685cbf69faaab diff --git a/net-misc/curl/curl-7.86.0-r1.ebuild b/net-misc/curl/curl-7.86.0-r1.ebuild deleted file mode 100644 index d83faa8a09fb..000000000000 --- a/net-misc/curl/curl-7.86.0-r1.ebuild +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -inherit autotools prefix multilib-minimal verify-sig - -DESCRIPTION="A Client that groks URLs" -HOMEPAGE="https://curl.haxx.se/" -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz - verify-sig? ( https://curl.haxx.se/download/${P}.tar.xz.asc )" - -LICENSE="curl" -SLOT="0" -KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd" -IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl" -IUSE+=" nghttp3 quiche" -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc - -# Only one default ssl provider can be enabled -REQUIRED_USE=" - ssl? ( - ^^ ( - curl_ssl_gnutls - curl_ssl_mbedtls - curl_ssl_nss - curl_ssl_openssl - ) - )" - -# lead to lots of false negatives, bug #285669 -RESTRICT="!test? ( test )" - -RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) - ssl? ( - gnutls? ( - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] - dev-libs/nettle:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - mbedtls? ( - net-libs/mbedtls:0=[${MULTILIB_USEDEP}] - app-misc/ca-certificates - ) - openssl? ( - dev-libs/openssl:0=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}] - ) - nss? ( - dev-libs/nss:0[${MULTILIB_USEDEP}] - dev-libs/nss-pem - app-misc/ca-certificates - ) - ) - http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] ) - nghttp3? ( - net-libs/nghttp3[${MULTILIB_USEDEP}] - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] - ) - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) - adns? ( net-dns/c-ares:0=[${MULTILIB_USEDEP}] ) - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) - sys-libs/zlib[${MULTILIB_USEDEP}] - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" - -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 -# rtmp? ( -# media-video/rtmpdump -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) -# ) - -DEPEND="${RDEPEND}" -BDEPEND="dev-lang/perl - virtual/pkgconfig - test? ( - sys-apps/diffutils - ) - 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 -) - -PATCHES=( - "${FILESDIR}"/${PN}-7.30.0-prefix.patch - "${FILESDIR}"/${PN}-respect-cflags-3.patch - "${FILESDIR}"/${P}-proxy-noproxy-tailmatching.patch - "${FILESDIR}"/${P}-proxy-noproxy-match-comma.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 ) - #myconf+=( --without-default-ssl-backend ) - if use ssl ; then - myconf+=( -without-gnutls --without-mbedtls --without-nss ) - - if use gnutls || use curl_ssl_gnutls; then - einfo "SSL provided by gnutls" - myconf+=( --with-gnutls --with-nettle ) - fi - if use mbedtls || use curl_ssl_mbedtls; then - einfo "SSL provided by mbedtls" - myconf+=( --with-mbedtls ) - fi - if use nss || use curl_ssl_nss; then - einfo "SSL provided by nss" - myconf+=( --with-nss --with-nss-deprecated ) - fi - if use openssl || use curl_ssl_openssl; then - einfo "SSL provided by openssl" - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) - fi - - if use curl_ssl_gnutls; then - einfo "Default SSL provided by gnutls" - myconf+=( --with-default-ssl-backend=gnutls ) - elif use curl_ssl_mbedtls; then - einfo "Default SSL provided by mbedtls" - myconf+=( --with-default-ssl-backend=mbedtls ) - elif use curl_ssl_nss; then - einfo "Default SSL provided by nss" - myconf+=( --with-default-ssl-backend=nss ) - elif use curl_ssl_openssl; then - einfo "Default SSL provided by openssl" - myconf+=( --with-default-ssl-backend=openssl ) - else - eerror "We can't be here because of REQUIRED_USE." - 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-crypto-auth - --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 - $(use_enable ipv6) - --enable-largefile - --enable-manual - --enable-mime - --enable-netrc - $(use_enable progress-meter) - --enable-proxy - --disable-sspi - $(use_enable static-libs static) - --enable-pthreads - --enable-threaded-resolver - --disable-versioned-symbols - --without-amissl - --without-bearssl - $(use_with brotli) - --without-fish-functions-dir - $(use_with http2 nghttp2) - --without-hyper - $(use_with idn libidn2) - $(use_with kerberos gssapi "${EPREFIX}"/usr) - --without-libgsasl - --without-libpsl - --without-msh3 - $(use_with nghttp3) - $(use_with nghttp3 ngtcp2) - $(use_with quiche) - $(use_with rtmp librtmp) - --without-rustls - --without-schannel - --without-secure-transport - $(use_enable websockets) - --without-winidn - --without-wolfssl - --with-zlib - $(use_with zstd) - ) - - ECONF_SOURCE="${S}" econf "${myconf[@]}" - - if ! multilib_is_native_abi; then - # avoid building the client - 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 quiche; then - libs+=( "-lquiche" ) - priv+=( "quiche" ) - fi - if use nghttp3; then - libs+=( "-lnghttp3" "-lngtcp2" ) - priv+=( "libnghttp3" "-libtcp2" ) - 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_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 disable tests. See e.g. Fedora's packaging - # or just read https://github.com/curl/curl/tree/master/tests#run. - multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p" -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die - rm -rf "${ED}"/etc/ || die -} diff --git a/net-misc/curl/curl-7.86.0-r2.ebuild b/net-misc/curl/curl-7.86.0-r2.ebuild new file mode 100644 index 000000000000..8342595fcd6a --- /dev/null +++ b/net-misc/curl/curl-7.86.0-r2.ebuild @@ -0,0 +1,291 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +inherit autotools prefix multilib-minimal verify-sig + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.haxx.se/" +SRC_URI="https://curl.haxx.se/download/${P}.tar.xz + verify-sig? ( https://curl.haxx.se/download/${P}.tar.xz.asc )" + +LICENSE="curl" +SLOT="0" +KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd" +IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl" +IUSE+=" nghttp3 quiche" +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc + +# Only one default ssl provider can be enabled +REQUIRED_USE=" + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_mbedtls + curl_ssl_nss + curl_ssl_openssl + ) + )" + +# lead to lots of false negatives, bug #285669 +RESTRICT="!test? ( test )" + +RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + mbedtls? ( + net-libs/mbedtls:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + openssl? ( + dev-libs/openssl:0=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}] + ) + nss? ( + dev-libs/nss:0[${MULTILIB_USEDEP}] + dev-libs/nss-pem + app-misc/ca-certificates + ) + ) + http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] ) + nghttp3? ( + net-libs/nghttp3[${MULTILIB_USEDEP}] + net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}] + ) + quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] ) + idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] ) + adns? ( net-dns/c-ares:0=[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) + sys-libs/zlib[${MULTILIB_USEDEP}] + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )" + +# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303 +# rtmp? ( +# media-video/rtmpdump +# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] ) +# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] ) +# ) + +DEPEND="${RDEPEND}" +BDEPEND="dev-lang/perl + virtual/pkgconfig + test? ( + sys-apps/diffutils + ) + 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 +) + +PATCHES=( + "${FILESDIR}"/${PN}-7.30.0-prefix.patch + "${FILESDIR}"/${PN}-respect-cflags-3.patch + "${FILESDIR}"/${P}-proxy-noproxy-tailmatching.patch + "${FILESDIR}"/${P}-proxy-noproxy-match-comma.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 ) + #myconf+=( --without-default-ssl-backend ) + if use ssl ; then + myconf+=( --without-gnutls --without-mbedtls --without-nss ) + + if use gnutls || use curl_ssl_gnutls; then + einfo "SSL provided by gnutls" + myconf+=( --with-gnutls --with-nettle ) + fi + if use mbedtls || use curl_ssl_mbedtls; then + einfo "SSL provided by mbedtls" + myconf+=( --with-mbedtls ) + fi + if use nss || use curl_ssl_nss; then + einfo "SSL provided by nss" + myconf+=( --with-nss --with-nss-deprecated ) + fi + if use openssl || use curl_ssl_openssl; then + einfo "SSL provided by openssl" + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) + fi + + if use curl_ssl_gnutls; then + einfo "Default SSL provided by gnutls" + myconf+=( --with-default-ssl-backend=gnutls ) + elif use curl_ssl_mbedtls; then + einfo "Default SSL provided by mbedtls" + myconf+=( --with-default-ssl-backend=mbedtls ) + elif use curl_ssl_nss; then + einfo "Default SSL provided by nss" + myconf+=( --with-default-ssl-backend=nss ) + elif use curl_ssl_openssl; then + einfo "Default SSL provided by openssl" + myconf+=( --with-default-ssl-backend=openssl ) + else + eerror "We can't be here because of REQUIRED_USE." + 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-crypto-auth + --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 + $(use_enable ipv6) + --enable-largefile + --enable-manual + --enable-mime + --enable-netrc + $(use_enable progress-meter) + --enable-proxy + --disable-sspi + $(use_enable static-libs static) + --enable-pthreads + --enable-threaded-resolver + --disable-versioned-symbols + --without-amissl + --without-bearssl + $(use_with brotli) + --without-fish-functions-dir + $(use_with http2 nghttp2) + --without-hyper + $(use_with idn libidn2) + $(use_with kerberos gssapi "${EPREFIX}"/usr) + --without-libgsasl + --without-libpsl + --without-msh3 + $(use_with nghttp3) + $(use_with nghttp3 ngtcp2) + $(use_with quiche) + $(use_with rtmp librtmp) + --without-rustls + --without-schannel + --without-secure-transport + $(use_enable websockets) + --without-winidn + --without-wolfssl + --with-zlib + $(use_with zstd) + ) + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + if ! multilib_is_native_abi; then + # avoid building the client + 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 quiche; then + libs+=( "-lquiche" ) + priv+=( "quiche" ) + fi + if use nghttp3; then + libs+=( "-lnghttp3" "-lngtcp2" ) + priv+=( "libnghttp3" "-libtcp2" ) + 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_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 disable tests. See e.g. Fedora's packaging + # or just read https://github.com/curl/curl/tree/master/tests#run. + multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p" +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + rm -rf "${ED}"/etc/ || die +} -- cgit v1.2.3