Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/curl/
Date: Thu, 15 Apr 2021 23:31:14
Message-Id: 1618529457.e0a8acbab99bb09e4df1ead40f7665838bf61417.blueness@gentoo
1 commit: e0a8acbab99bb09e4df1ead40f7665838bf61417
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 15 23:30:57 2021 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 15 23:30:57 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0a8acba
7
8 net-misc/curl: version bump to 7.67.1
9
10 Package-Manager: Portage-3.0.17, Repoman-3.0.2
11 Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
12
13 net-misc/curl/Manifest | 1 +
14 net-misc/curl/curl-7.76.1.ebuild | 291 +++++++++++++++++++++++++++++++++++++++
15 2 files changed, 292 insertions(+)
16
17 diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
18 index 49c2b2e6f5c..79073dc330e 100644
19 --- a/net-misc/curl/Manifest
20 +++ b/net-misc/curl/Manifest
21 @@ -1,3 +1,4 @@
22 DIST curl-7.74.0.tar.xz 2400972 BLAKE2B bef9e01493994afc933549a78b41065708aeaa9f6f5cdd1dbf2f43bbb03bbc97b17308b8bda5f11599c3cc0c6c77903e6fa6f1310ff874fad902a59566b51e8a SHA512 5d987f0b4d051c9e254f14d4e2a05f7cda9fb0f0ac7b3ca3664a25a51ee5ffe092ee072c0d9a613fcd3f34727d75bba14b70f5500cb110ca818591e071c3e6f4
23 DIST curl-7.75.0.tar.xz 2418816 BLAKE2B 74889ede1b57a6685eef0f504d4c261c0b271b36ab3290bfc895efe9a6fffe4bfd433eaae438cd2b54a920671a2ebc2ca5e73bd88f6be40b4f46ef281028f1d8 SHA512 4c2fc6658379b8b93dd50665b70f3000b63d3bcafd2df60b7e651a8edf4735b3decb06c338b84cb22058191aa9f8f4dc85760a42f9987210b59300758304b746
24 DIST curl-7.76.0.tar.xz 2428552 BLAKE2B 7c02bbd3c86a5de38990f7ef63e92804fc02977bf34eb4372e7ac95aa091689094193bcf58e30d76114341f930777787cbfbbf83f02c5037f7ac7599296a6735 SHA512 a67e5078b48150c6f5331e76b25a6b197f1e916be1db900bf9455b032b3af5a71610b47e607546ecbae510d196a0cfcb75a14dac549288797af1701b7b587ece
25 +DIST curl-7.76.1.tar.xz 2427636 BLAKE2B 56452871fbd998f0c9a5af86b3853ed1dfc956c39380e5da472b4f382db45926ac3aa9e395ae7d2812aac0f0f29bee28343218810a169beb592c5224e0a4f018 SHA512 5fe85d2e776789aa8117c57fe7648e375b7fa92d5ead5d69855f19ca9a2624d77a1f9ab91766ecb72bbc17e82862248cd07e48917884d6fd856b93fb00d83e28
26
27 diff --git a/net-misc/curl/curl-7.76.1.ebuild b/net-misc/curl/curl-7.76.1.ebuild
28 new file mode 100644
29 index 00000000000..dbfb4e71fdf
30 --- /dev/null
31 +++ b/net-misc/curl/curl-7.76.1.ebuild
32 @@ -0,0 +1,291 @@
33 +# Copyright 1999-2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI="7"
37 +
38 +inherit autotools prefix multilib-minimal
39 +
40 +DESCRIPTION="A Client that groks URLs"
41 +HOMEPAGE="https://curl.haxx.se/"
42 +SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
43 +
44 +LICENSE="curl"
45 +SLOT="0"
46 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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"
47 +IUSE="adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp threads winssl zstd"
48 +IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
49 +IUSE+=" nghttp3 quiche"
50 +IUSE+=" elibc_Winnt"
51 +
52 +# c-ares must be disabled for threads
53 +# only one default ssl provider can be enabled
54 +REQUIRED_USE="
55 + winssl? ( elibc_Winnt )
56 + threads? ( !adns )
57 + ssl? (
58 + ^^ (
59 + curl_ssl_gnutls
60 + curl_ssl_mbedtls
61 + curl_ssl_nss
62 + curl_ssl_openssl
63 + curl_ssl_winssl
64 + )
65 + )"
66 +
67 +# lead to lots of false negatives, bug #285669
68 +RESTRICT="!test? ( test )"
69 +
70 +RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
71 + brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
72 + ssl? (
73 + gnutls? (
74 + net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
75 + dev-libs/nettle:0=[${MULTILIB_USEDEP}]
76 + app-misc/ca-certificates
77 + )
78 + mbedtls? (
79 + net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
80 + app-misc/ca-certificates
81 + )
82 + openssl? (
83 + dev-libs/openssl:0=[sslv3=,static-libs?,${MULTILIB_USEDEP}]
84 + )
85 + nss? (
86 + dev-libs/nss:0[${MULTILIB_USEDEP}]
87 + app-misc/ca-certificates
88 + )
89 + )
90 + http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
91 + nghttp3? (
92 + net-libs/nghttp3[${MULTILIB_USEDEP}]
93 + net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
94 + )
95 + quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
96 + idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
97 + adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
98 + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
99 + metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
100 + rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
101 + ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
102 + sys-libs/zlib[${MULTILIB_USEDEP}]
103 + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
104 +
105 +# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
106 +# rtmp? (
107 +# media-video/rtmpdump
108 +# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
109 +# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
110 +# )
111 +
112 +# ssl providers to be added:
113 +# fbopenssl $(use_with spnego)
114 +
115 +DEPEND="${RDEPEND}"
116 +BDEPEND="virtual/pkgconfig
117 + test? (
118 + sys-apps/diffutils
119 + dev-lang/perl
120 + )"
121 +
122 +DOCS=( CHANGES README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
123 +
124 +MULTILIB_WRAPPED_HEADERS=(
125 + /usr/include/curl/curlbuild.h
126 +)
127 +
128 +MULTILIB_CHOST_TOOLS=(
129 + /usr/bin/curl-config
130 +)
131 +
132 +PATCHES=(
133 + "${FILESDIR}"/${PN}-7.30.0-prefix.patch
134 + "${FILESDIR}"/${PN}-respect-cflags-3.patch
135 +)
136 +
137 +src_prepare() {
138 + default
139 +
140 + sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
141 + sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
142 +
143 + eprefixify curl-config.in
144 + eautoreconf
145 +}
146 +
147 +multilib_src_configure() {
148 + # We make use of the fact that later flags override earlier ones
149 + # So start with all ssl providers off until proven otherwise
150 + # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
151 + local myconf=()
152 +
153 + myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
154 + myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
155 + #myconf+=( --without-default-ssl-backend )
156 + if use ssl ; then
157 + if use gnutls || use curl_ssl_gnutls; then
158 + einfo "SSL provided by gnutls"
159 + myconf+=( --with-gnutls --with-nettle )
160 + fi
161 + if use mbedtls || use curl_ssl_mbedtls; then
162 + einfo "SSL provided by mbedtls"
163 + myconf+=( --with-mbedtls )
164 + fi
165 + if use nss || use curl_ssl_nss; then
166 + einfo "SSL provided by nss"
167 + myconf+=( --with-nss )
168 + fi
169 + if use openssl || use curl_ssl_openssl; then
170 + einfo "SSL provided by openssl"
171 + myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
172 + fi
173 + if use winssl || use curl_ssl_winssl; then
174 + einfo "SSL provided by Windows"
175 + myconf+=( --with-winssl )
176 + fi
177 +
178 + if use curl_ssl_gnutls; then
179 + einfo "Default SSL provided by gnutls"
180 + myconf+=( --with-default-ssl-backend=gnutls )
181 + elif use curl_ssl_mbedtls; then
182 + einfo "Default SSL provided by mbedtls"
183 + myconf+=( --with-default-ssl-backend=mbedtls )
184 + elif use curl_ssl_nss; then
185 + einfo "Default SSL provided by nss"
186 + myconf+=( --with-default-ssl-backend=nss )
187 + elif use curl_ssl_openssl; then
188 + einfo "Default SSL provided by openssl"
189 + myconf+=( --with-default-ssl-backend=openssl )
190 + elif use curl_ssl_winssl; then
191 + einfo "Default SSL provided by Windows"
192 + myconf+=( --with-default-ssl-backend=winssl )
193 + else
194 + eerror "We can't be here because of REQUIRED_USE."
195 + fi
196 +
197 + else
198 + einfo "SSL disabled"
199 + fi
200 +
201 + # These configuration options are organized alphabetically
202 + # within each category. This should make it easier if we
203 + # ever decide to make any of them contingent on USE flags:
204 + # 1) protocols first. To see them all do
205 + # 'grep SUPPORT_PROTOCOLS configure.ac'
206 + # 2) --enable/disable options second.
207 + # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
208 + # 3) --with/without options third.
209 + # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
210 +
211 + myconf+=(
212 + $(use_enable alt-svc)
213 + --enable-crypto-auth
214 + --enable-dict
215 + --disable-ech
216 + --enable-file
217 + $(use_enable ftp)
218 + $(use_enable gopher)
219 + $(use_enable hsts)
220 + --enable-http
221 + $(use_enable imap)
222 + $(use_enable ldap)
223 + $(use_enable ldap ldaps)
224 + --disable-ntlm-wb
225 + $(use_enable pop3)
226 + --enable-rt
227 + --enable-rtsp
228 + $(use_enable samba smb)
229 + $(use_with ssh libssh2)
230 + $(use_enable smtp)
231 + $(use_enable telnet)
232 + $(use_enable tftp)
233 + --enable-tls-srp
234 + $(use_enable adns ares)
235 + --enable-cookies
236 + --enable-dateparse
237 + --enable-dnsshuffle
238 + --enable-doh
239 + --enable-hidden-symbols
240 + --enable-http-auth
241 + $(use_enable ipv6)
242 + --enable-largefile
243 + --enable-manual
244 + --enable-mime
245 + --enable-netrc
246 + $(use_enable progress-meter)
247 + --enable-proxy
248 + --disable-sspi
249 + $(use_enable static-libs static)
250 + $(use_enable threads threaded-resolver)
251 + $(use_enable threads pthreads)
252 + --disable-versioned-symbols
253 + --without-amissl
254 + --without-bearssl
255 + $(use_with brotli)
256 + --without-cyassl
257 + --without-darwinssl
258 + --without-fish-functions-dir
259 + $(use_with http2 nghttp2)
260 + --without-hyper
261 + $(use_with idn libidn2)
262 + $(use_with kerberos gssapi "${EPREFIX}"/usr)
263 + $(use_with metalink libmetalink)
264 + --without-libgsasl
265 + --without-libpsl
266 + $(use_with nghttp3)
267 + $(use_with nghttp3 ngtcp2)
268 + $(use_with quiche)
269 + $(use_with rtmp librtmp)
270 + --without-rustls
271 + --without-schannel
272 + --without-secure-transport
273 + --without-spnego
274 + --without-winidn
275 + --without-wolfssl
276 + --with-zlib
277 + $(use_with zstd)
278 + )
279 +
280 + ECONF_SOURCE="${S}" \
281 + econf "${myconf[@]}"
282 +
283 + if ! multilib_is_native_abi; then
284 + # avoid building the client
285 + sed -i -e '/SUBDIRS/s:src::' Makefile || die
286 + sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
287 + fi
288 +
289 + # Fix up the pkg-config file to be more robust.
290 + # https://github.com/curl/curl/issues/864
291 + local priv=() libs=()
292 + # We always enable zlib.
293 + libs+=( "-lz" )
294 + priv+=( "zlib" )
295 + if use http2; then
296 + libs+=( "-lnghttp2" )
297 + priv+=( "libnghttp2" )
298 + fi
299 + if use quiche; then
300 + libs+=( "-lquiche" )
301 + priv+=( "quiche" )
302 + fi
303 + if use nghttp3; then
304 + libs+=( "-lnghttp3" "-lngtcp2" )
305 + priv+=( "libnghttp3" "-libtcp2" )
306 + fi
307 + if use ssl && use curl_ssl_openssl; then
308 + libs+=( "-lssl" "-lcrypto" )
309 + priv+=( "openssl" )
310 + fi
311 + grep -q Requires.private libcurl.pc && die "need to update ebuild"
312 + libs=$(printf '|%s' "${libs[@]}")
313 + sed -i -r \
314 + -e "/^Libs.private/s:(${libs#|})( |$)::g" \
315 + libcurl.pc || die
316 + echo "Requires.private: ${priv[*]}" >> libcurl.pc
317 +}
318 +
319 +multilib_src_install_all() {
320 + einstalldocs
321 + find "${ED}" -type f -name '*.la' -delete || die
322 + rm -rf "${ED}"/etc/ || die
323 +}