diff options
Diffstat (limited to 'net-misc/curl')
-rw-r--r-- | net-misc/curl/Manifest | 2 | ||||
-rw-r--r-- | net-misc/curl/curl-7.68.0.ebuild | 265 |
2 files changed, 267 insertions, 0 deletions
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest index 7cb79323524b..b7963bb7e19d 100644 --- a/net-misc/curl/Manifest +++ b/net-misc/curl/Manifest @@ -5,8 +5,10 @@ DIST curl-7.65.0.tar.xz 2392324 BLAKE2B e5aec8c6cb6f6baabd035ce2ea159dba15410116 DIST curl-7.65.3.tar.xz 2392472 BLAKE2B 25726e1f1568fad6a8419b29dde41bed4d9de4be70740119879beeb08ff2a6ace7737efe1fb6d96ecaacaf8f90dc0142ceede2b90c84275ea8f72bcd09f21dba SHA512 fc4f041d3d6682378ce9eef2c6081e6ad83bb2502ea4c992c760266584c09e9ebca7c6d35958bd32a888702d9308cbce7aef69c431f97994107d7ff6b953941b DIST curl-7.66.0.tar.xz 2414840 BLAKE2B f5d731c304c826442a8509016d00b9c68438ef9102b3c844c15315181c307e338f79930dc548d7f189b944dd74cc7eeb19d130b5a967ea2efa9862d15ae78bab SHA512 81170e7e4fa9d99ee2038d96d7f2ab10dcf52435331c818c7565c1a733891720f845a08029915e52ba532c6a344c346e1678474624aac1cc333aea6d1eacde35 DIST curl-7.67.0.tar.xz 2418548 BLAKE2B 818b3d03ac8c4adb8a629147feccebcbd3d89164a77d7cb457924bd44c3069f1b03326861b73c51a6427d7169d40485a509f74edd89b99b760649e7adcdce693 SHA512 1d5a344be92dd61b1ba5189eff0fe337e492f2e850794943570fe71c985d0af60bd412082be646e07aaa8639908593e1ce4bb2d07db35394ec377e8ce8b9ae29 +DIST curl-7.68.0.tar.xz 2442788 BLAKE2B d72dbf3c4d6ef7259f0dc9b5347f9289067807246ce6aaab03f3a9c04c17328a8315261dbc08390096571bcad3bbb185a70d15ce83687d7e792bee37318bf269 SHA512 bf365609c9a66a05b3a263d02bcd3f81f905570c5739c8ec522a296b4b8e2a479d64d5524e8345e14eafad28995ee22d923522f1a45fa40eb46db38759c2eb2c EBUILD curl-7.65.0.ebuild 6953 BLAKE2B 3f0dcce2560ef08897189f44afd843e0322176d6e1368a9bf02211670d4b5fed096d23b1eeb02f89eb44d12f10f1e78839f8dac2a5ad66b225bba5d967942a39 SHA512 b554bca7de8c0cc32e2075d35103da865929fc29c447d9fd0314a161b3b300f3e89d0df2ff8dca15e2d2aa6484ec97ca4ba078cb14abfca57a7b43e8d93d90f5 EBUILD curl-7.65.3.ebuild 7138 BLAKE2B 06732af10263c41e523f0b36637597fb81d51cd26eedbd198cc2cc59758da3c36e74fc2810296400df2576576b94255637e35c018751c91be9d8333a441b90ca SHA512 f13cbc01affb023970ec54686d09d56bf59660c634399383c709405074e9e77ffa476a418ca9b89aacadb1541b4f2e01c2180e871f1bf5885020b9f0e9ab6494 EBUILD curl-7.66.0.ebuild 7564 BLAKE2B 0b31777e043d3b5368103e244e02d316b396b8153b34738fa390f73a99af44fd2047733a8984461b7c856da984f38ac58f26c3bf15b49e0bcf466a61b5399e9f SHA512 889b8ff9ed76359d1642d4c0987a70a3b978118a3ca0c156eae6e7e5a21452102e8cb332dfcad0f681337f6cb1e3bf9f9fe46937a9bb13ea30d597a88430289d EBUILD curl-7.67.0-r1.ebuild 7591 BLAKE2B 49b533d4b4176b495b983e0e149934e3ae2ec694c2eeb8be7dd81c412ee7e4409243efca5ef01d395d8d46b78c9f6ad346b6d6bd35acb7e90393a2169b3b4106 SHA512 c633b9884c895558407cdaedd89bd1d71cd43bd9db97c7fc7952e2d6acad016115364a6da798b6ceb88d5e9880373041c25a53c943e35c01757d2cf9dc4bfb09 +EBUILD curl-7.68.0.ebuild 7613 BLAKE2B e3270e7970b9f046ab3cc598722aad13dc38cf6790f7872a9abdec78d888aaac62720bae5fc3ea62c98d481a1fcf1998956c28b2a5eed28713fe56ff43b1a060 SHA512 3d96b8aef75184f125df727cf3035af996b57fa089825636669200a0a50b0560750e6e248a42806b50a2e5b8d8bfa81edf9da989a15c978c86b502598b187aa9 MISC metadata.xml 1219 BLAKE2B 981090b46e9e66661074be920692e688ebd351ad1770b3a1b76ac6f3b6cc66c70c370031affdf5f72b2141e04ab7e4e073b4bc1fcd0295624e14a929cc3714d1 SHA512 9f86ffa85c0ac69c7289a97a92d5e592a17e5cc23b62be980540cdc8702cf6151361be4f171446fca317d2dcb1c5879ba8ae1ad0b0d99ffb54366ca35df4052d diff --git a/net-misc/curl/curl-7.68.0.ebuild b/net-misc/curl/curl-7.68.0.ebuild new file mode 100644 index 000000000000..31286cc893a0 --- /dev/null +++ b/net-misc/curl/curl-7.68.0.ebuild @@ -0,0 +1,265 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools eutils prefix multilib-minimal + +DESCRIPTION="A Client that groks URLs" +HOMEPAGE="https://curl.haxx.se/" +SRC_URI="https://curl.haxx.se/download/${P}.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="adns alt-svc brotli http2 idn ipv6 kerberos ldap metalink +progress-meter rtmp samba ssh ssl static-libs test threads" +IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl" +IUSE+=" nghttp3 quiche" +IUSE+=" elibc_Winnt" + +#lead to lots of false negatives, bug #285669 +RESTRICT="test" + +RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] ) + ssl? ( + curl_ssl_gnutls? ( + net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}] + dev-libs/nettle:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + curl_ssl_libressl? ( + dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] + ) + curl_ssl_mbedtls? ( + net-libs/mbedtls:0=[${MULTILIB_USEDEP}] + app-misc/ca-certificates + ) + curl_ssl_openssl? ( + dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] + ) + curl_ssl_nss? ( + dev-libs/nss:0[${MULTILIB_USEDEP}] + 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[${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}] ) + metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] ) + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] ) + ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] ) + sys-libs/zlib[${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] ) +# ) + +# ssl providers to be added: +# fbopenssl $(use_with spnego) + +DEPEND="${RDEPEND}" +BDEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] + test? ( + sys-apps/diffutils + dev-lang/perl + )" + +# c-ares must be disabled for threads +# only one ssl provider can be enabled +REQUIRED_USE=" + curl_ssl_winssl? ( elibc_Winnt ) + threads? ( !adns ) + ssl? ( + ^^ ( + curl_ssl_gnutls + curl_ssl_libressl + curl_ssl_mbedtls + curl_ssl_nss + curl_ssl_openssl + curl_ssl_winssl + ) + )" + +DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \ + docs/FAQ docs/BUGS docs/CONTRIBUTE.md ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/curl/curlbuild.h +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/curl-config +) + +src_prepare() { + eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch + eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch + eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch + + sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241 + sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252 + + eapply_user + 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-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl ) + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ) + if use ssl ; then + if use curl_ssl_gnutls; then + einfo "SSL provided by gnutls" + myconf+=( --with-gnutls --with-nettle ) + elif use curl_ssl_libressl; then + einfo "SSL provided by LibreSSL" + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) + elif use curl_ssl_mbedtls; then + einfo "SSL provided by mbedtls" + myconf+=( --with-mbedtls ) + elif use curl_ssl_nss; then + einfo "SSL provided by nss" + myconf+=( --with-nss ) + elif use curl_ssl_openssl; then + einfo "SSL provided by openssl" + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs ) + elif use curl_ssl_winssl; then + einfo "SSL provided by Windows" + myconf+=( --with-winssl ) + else + eerror "We can't be here because of REQUIRED_USE." + fi + else + 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 + + ECONF_SOURCE="${S}" \ + econf \ + $(use_enable alt-svc) \ + --enable-crypto-auth \ + --enable-dict \ + --disable-esni \ + --enable-file \ + --enable-ftp \ + --enable-gopher \ + --enable-http \ + --enable-imap \ + $(use_enable ldap) \ + $(use_enable ldap ldaps) \ + --disable-ntlm-wb \ + --enable-pop3 \ + --enable-rt \ + --enable-rtsp \ + $(use_enable samba smb) \ + $(use_with ssh libssh2) \ + --enable-smtp \ + --enable-telnet \ + --enable-tftp \ + --enable-tls-srp \ + $(use_enable adns ares) \ + --enable-cookies \ + --enable-dateparse \ + --enable-dnsshuffle \ + --enable-doh \ + --enable-hidden-symbols \ + --enable-http-auth \ + $(use_enable ipv6) \ + --enable-largefile \ + --without-libpsl \ + --enable-manual \ + --enable-mime \ + --enable-netrc \ + $(use_enable progress-meter) \ + --enable-proxy \ + --disable-sspi \ + $(use_enable static-libs static) \ + $(use_enable threads threaded-resolver) \ + $(use_enable threads pthreads) \ + --disable-versioned-symbols \ + --without-amissl \ + --without-bearssl \ + --without-cyassl \ + --without-darwinssl \ + --without-fish-functions-dir \ + $(use_with idn libidn2) \ + $(use_with kerberos gssapi "${EPREFIX}"/usr) \ + $(use_with metalink libmetalink) \ + $(use_with http2 nghttp2) \ + $(use_with nghttp3) \ + $(use_with nghttp3 ngtcp2) \ + $(use_with quiche) \ + $(use_with rtmp librtmp) \ + $(use_with brotli) \ + --without-schannel \ + --without-secure-transport \ + --without-spnego \ + --without-winidn \ + --without-wolfssl \ + --with-zlib \ + "${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 +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete + rm -rf "${ED}"/etc/ +} |