Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/curl/
Date: Wed, 01 Feb 2023 07:27:15
Message-Id: 1675236359.70e478afca6ee420e77c320a37bbb6045b6a302e.sam@gentoo
1 commit: 70e478afca6ee420e77c320a37bbb6045b6a302e
2 Author: Matt Jolly <Matt.Jolly <AT> footclan <DOT> ninja>
3 AuthorDate: Wed Feb 1 01:03:02 2023 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 1 07:25:59 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70e478af
7
8 net-misc/curl: drop 7.86.0-r3, 7.87.0-r1
9
10 Drop vulnerable and obsolete.
11
12 Closes: https://bugs.gentoo.org/887745
13 Closes: https://bugs.gentoo.org/888801
14 Signed-off-by: Matt Jolly <Matt.Jolly <AT> footclan.ninja>
15 Closes: https://github.com/gentoo/gentoo/pull/29365
16 Signed-off-by: Sam James <sam <AT> gentoo.org>
17
18 net-misc/curl/Manifest | 2 -
19 net-misc/curl/curl-7.86.0-r3.ebuild | 302 ------------------------------------
20 net-misc/curl/curl-7.87.0-r1.ebuild | 301 -----------------------------------
21 3 files changed, 605 deletions(-)
22
23 diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
24 index bd2278077873..51a46b81b61b 100644
25 --- a/net-misc/curl/Manifest
26 +++ b/net-misc/curl/Manifest
27 @@ -1,4 +1,2 @@
28 -DIST curl-7.86.0.tar.xz 2518356 BLAKE2B a1de7feb229de42bf1deeb5017f97df3b1c10c75fac99bcd0cd21a5dc69b6d8b62520744106d6a113c7a86bd6731dba536a263aabfa22be50d520c43e894acce SHA512 18e03a3c00f22125e07bddb18becbf5acdca22baeb7b29f45ef189a5c56f95b2d51247813f7a9a90f04eb051739e9aa7d3a1c5be397bae75d763a2b918d1b656
29 -DIST curl-7.86.0.tar.xz.asc 488 BLAKE2B a9abe2f3af801b3a48be7db09cb82b6bb83bd26a9d5caf51c0d5a4a2e6881fb478f1768a6b71efbd9283563e2c7e2badbc5a6d6df265013e14eee2ec7e9be148 SHA512 9e97d5f44b3c856f401fe30ba713e1ca1f74edfc693dc42f1ce8e43f9f6dd4bf6998c579bc9c5d0f749f475a7d67d232e92ab6f89b95141acdb53e149f2312f0
30 DIST curl-7.87.0.tar.xz 2547932 BLAKE2B b272ec928c5ef1728434630d8910f58834327a30570913df9d47921a2810d002bd88b81371005197db857d3a53386420c1e28b1e463e6241d46c1e50fbce0c13 SHA512 aa125991592667280dce3788aabe81487cf8c55b0afc59d675cc30b76055bb7114f5380b4a0e3b6461a8f81bf9812fa26d493a85f7e01d84263d484a0d699ee7
31 DIST curl-7.87.0.tar.xz.asc 488 BLAKE2B 031d8236b357bd3c519548b181254dc0aea1efc1375738bce04f4f331d35bafe99d1ca394ecf5943ede7cae040854b6d2b478fd305147eb7330f8d50e5d95c96 SHA512 0bcc12bafc4ae50d80128af2cf4bf1a1ec6018ebb8d5b9c49f52b51c0c25acc77e820858965656549ef43c1f923f4e5fe75b0a3523623154b4cfb9dc8a1d76e4
32
33 diff --git a/net-misc/curl/curl-7.86.0-r3.ebuild b/net-misc/curl/curl-7.86.0-r3.ebuild
34 deleted file mode 100644
35 index 08d3a7d0b137..000000000000
36 --- a/net-misc/curl/curl-7.86.0-r3.ebuild
37 +++ /dev/null
38 @@ -1,302 +0,0 @@
39 -# Copyright 1999-2022 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI="8"
43 -
44 -inherit autotools prefix multilib-minimal verify-sig
45 -
46 -DESCRIPTION="A Client that groks URLs"
47 -HOMEPAGE="https://curl.se/"
48 -SRC_URI="https://curl.se/download/${P}.tar.xz
49 - verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )"
50 -
51 -LICENSE="curl"
52 -SLOT="0"
53 -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"
54 -IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
55 -IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
56 -IUSE+=" nghttp3 quiche"
57 -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
58 -
59 -# Only one default ssl provider can be enabled
60 -REQUIRED_USE="
61 - ssl? (
62 - ^^ (
63 - curl_ssl_gnutls
64 - curl_ssl_mbedtls
65 - curl_ssl_nss
66 - curl_ssl_openssl
67 - curl_ssl_rustls
68 - )
69 - )"
70 -
71 -# lead to lots of false negatives, bug #285669
72 -RESTRICT="!test? ( test )"
73 -
74 -RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
75 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
76 - ssl? (
77 - gnutls? (
78 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
79 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
80 - app-misc/ca-certificates
81 - )
82 - mbedtls? (
83 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
84 - app-misc/ca-certificates
85 - )
86 - openssl? (
87 - dev-libs/openssl:0=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
88 - )
89 - nss? (
90 - dev-libs/nss:0[${MULTILIB_USEDEP}]
91 - dev-libs/nss-pem
92 - app-misc/ca-certificates
93 - )
94 - rustls? (
95 - net-libs/rustls-ffi:=[${MULTILIB_USEDEP}]
96 - )
97 - )
98 - http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] )
99 - nghttp3? (
100 - net-libs/nghttp3[${MULTILIB_USEDEP}]
101 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
102 - )
103 - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
104 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
105 - adns? ( net-dns/c-ares:0=[${MULTILIB_USEDEP}] )
106 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
107 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
108 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
109 - sys-libs/zlib[${MULTILIB_USEDEP}]
110 - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
111 -
112 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
113 -# rtmp? (
114 -# media-video/rtmpdump
115 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
116 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
117 -# )
118 -
119 -DEPEND="${RDEPEND}"
120 -BDEPEND="dev-lang/perl
121 - virtual/pkgconfig
122 - test? (
123 - sys-apps/diffutils
124 - )
125 - verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
126 -
127 -DOCS=( CHANGES README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
128 -
129 -MULTILIB_WRAPPED_HEADERS=(
130 - /usr/include/curl/curlbuild.h
131 -)
132 -
133 -MULTILIB_CHOST_TOOLS=(
134 - /usr/bin/curl-config
135 -)
136 -
137 -PATCHES=(
138 - "${FILESDIR}"/${PN}-7.30.0-prefix.patch
139 - "${FILESDIR}"/${PN}-respect-cflags-3.patch
140 - "${FILESDIR}"/${P}-proxy-noproxy-tailmatching.patch
141 - "${FILESDIR}"/${P}-proxy-noproxy-match-comma.patch
142 - "${FILESDIR}"/${P}-noproxy-tailmatch-like-in-7.85.0-and-earlier.patch
143 -)
144 -
145 -src_prepare() {
146 - default
147 -
148 - eprefixify curl-config.in
149 - eautoreconf
150 -}
151 -
152 -multilib_src_configure() {
153 - # We make use of the fact that later flags override earlier ones
154 - # So start with all ssl providers off until proven otherwise
155 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
156 - local myconf=()
157 -
158 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
159 - #myconf+=( --without-default-ssl-backend )
160 - if use ssl ; then
161 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-rustls )
162 -
163 - if use gnutls || use curl_ssl_gnutls; then
164 - einfo "SSL provided by gnutls"
165 - myconf+=( --with-gnutls --with-nettle )
166 - fi
167 - if use mbedtls || use curl_ssl_mbedtls; then
168 - einfo "SSL provided by mbedtls"
169 - myconf+=( --with-mbedtls )
170 - fi
171 - if use nss || use curl_ssl_nss; then
172 - einfo "SSL provided by nss"
173 - myconf+=( --with-nss --with-nss-deprecated )
174 - fi
175 - if use openssl || use curl_ssl_openssl; then
176 - einfo "SSL provided by openssl"
177 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
178 - fi
179 - if use rustls || use curl_ssl_rustls; then
180 - einfo "SSL provided by rustls"
181 - myconf+=( --with-rustls )
182 - fi
183 -
184 - if use curl_ssl_gnutls; then
185 - einfo "Default SSL provided by gnutls"
186 - myconf+=( --with-default-ssl-backend=gnutls )
187 - elif use curl_ssl_mbedtls; then
188 - einfo "Default SSL provided by mbedtls"
189 - myconf+=( --with-default-ssl-backend=mbedtls )
190 - elif use curl_ssl_nss; then
191 - einfo "Default SSL provided by nss"
192 - myconf+=( --with-default-ssl-backend=nss )
193 - elif use curl_ssl_openssl; then
194 - einfo "Default SSL provided by openssl"
195 - myconf+=( --with-default-ssl-backend=openssl )
196 - elif use curl_ssl_rustls; then
197 - einfo "Default SSL provided by rustls"
198 - myconf+=( --with-default-ssl-backend=rustls )
199 - else
200 - eerror "We can't be here because of REQUIRED_USE."
201 - fi
202 -
203 - else
204 - myconf+=( --without-ssl )
205 - einfo "SSL disabled"
206 - fi
207 -
208 - # These configuration options are organized alphabetically
209 - # within each category. This should make it easier if we
210 - # ever decide to make any of them contingent on USE flags:
211 - # 1) protocols first. To see them all do
212 - # 'grep SUPPORT_PROTOCOLS configure.ac'
213 - # 2) --enable/disable options second.
214 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
215 - # 3) --with/without options third.
216 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
217 -
218 - myconf+=(
219 - $(use_enable alt-svc)
220 - --enable-crypto-auth
221 - --enable-dict
222 - --disable-ech
223 - --enable-file
224 - $(use_enable ftp)
225 - $(use_enable gopher)
226 - $(use_enable hsts)
227 - --enable-http
228 - $(use_enable imap)
229 - $(use_enable ldap)
230 - $(use_enable ldap ldaps)
231 - --enable-ntlm
232 - --disable-ntlm-wb
233 - $(use_enable pop3)
234 - --enable-rt
235 - --enable-rtsp
236 - $(use_enable samba smb)
237 - $(use_with ssh libssh2)
238 - $(use_enable smtp)
239 - $(use_enable telnet)
240 - $(use_enable tftp)
241 - --enable-tls-srp
242 - $(use_enable adns ares)
243 - --enable-cookies
244 - --enable-dateparse
245 - --enable-dnsshuffle
246 - --enable-doh
247 - --enable-symbol-hiding
248 - --enable-http-auth
249 - $(use_enable ipv6)
250 - --enable-largefile
251 - --enable-manual
252 - --enable-mime
253 - --enable-netrc
254 - $(use_enable progress-meter)
255 - --enable-proxy
256 - --disable-sspi
257 - $(use_enable static-libs static)
258 - --enable-pthreads
259 - --enable-threaded-resolver
260 - --disable-versioned-symbols
261 - --without-amissl
262 - --without-bearssl
263 - $(use_with brotli)
264 - --without-fish-functions-dir
265 - $(use_with http2 nghttp2)
266 - --without-hyper
267 - $(use_with idn libidn2)
268 - $(use_with kerberos gssapi "${EPREFIX}"/usr)
269 - --without-libgsasl
270 - --without-libpsl
271 - --without-msh3
272 - $(use_with nghttp3)
273 - $(use_with nghttp3 ngtcp2)
274 - $(use_with quiche)
275 - $(use_with rtmp librtmp)
276 - --without-schannel
277 - --without-secure-transport
278 - $(use_enable websockets)
279 - --without-winidn
280 - --without-wolfssl
281 - --with-zlib
282 - $(use_with zstd)
283 - )
284 -
285 - ECONF_SOURCE="${S}" econf "${myconf[@]}"
286 -
287 - if ! multilib_is_native_abi; then
288 - # avoid building the client
289 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
290 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
291 - fi
292 -
293 - # Fix up the pkg-config file to be more robust.
294 - # https://github.com/curl/curl/issues/864
295 - local priv=() libs=()
296 - # We always enable zlib.
297 - libs+=( "-lz" )
298 - priv+=( "zlib" )
299 - if use http2; then
300 - libs+=( "-lnghttp2" )
301 - priv+=( "libnghttp2" )
302 - fi
303 - if use quiche; then
304 - libs+=( "-lquiche" )
305 - priv+=( "quiche" )
306 - fi
307 - if use nghttp3; then
308 - libs+=( "-lnghttp3" "-lngtcp2" )
309 - priv+=( "libnghttp3" "-libtcp2" )
310 - fi
311 - if use ssl && use curl_ssl_openssl; then
312 - libs+=( "-lssl" "-lcrypto" )
313 - priv+=( "openssl" )
314 - fi
315 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
316 - libs=$(printf '|%s' "${libs[@]}")
317 - sed -i -r \
318 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
319 - libcurl.pc || die
320 - echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
321 -}
322 -
323 -multilib_src_test() {
324 - # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
325 - # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
326 - # -v: verbose
327 - # -a: keep going on failure (so we see everything which breaks, not just 1st test)
328 - # -k: keep test files after completion
329 - # -am: automake style TAP output
330 - # -p: print logs if test fails
331 - # Note: if needed, we can disable tests. See e.g. Fedora's packaging
332 - # or just read https://github.com/curl/curl/tree/master/tests#run.
333 - multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p"
334 -}
335 -
336 -multilib_src_install_all() {
337 - einstalldocs
338 - find "${ED}" -type f -name '*.la' -delete || die
339 - rm -rf "${ED}"/etc/ || die
340 -}
341
342 diff --git a/net-misc/curl/curl-7.87.0-r1.ebuild b/net-misc/curl/curl-7.87.0-r1.ebuild
343 deleted file mode 100644
344 index 1277249868f2..000000000000
345 --- a/net-misc/curl/curl-7.87.0-r1.ebuild
346 +++ /dev/null
347 @@ -1,301 +0,0 @@
348 -# Copyright 1999-2023 Gentoo Authors
349 -# Distributed under the terms of the GNU General Public License v2
350 -
351 -EAPI="8"
352 -
353 -inherit autotools prefix multilib-minimal verify-sig
354 -
355 -DESCRIPTION="A Client that groks URLs"
356 -HOMEPAGE="https://curl.se/"
357 -SRC_URI="https://curl.se/download/${P}.tar.xz
358 - verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )"
359 -
360 -LICENSE="curl"
361 -SLOT="0"
362 -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"
363 -IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
364 -IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
365 -IUSE+=" nghttp3 quiche"
366 -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
367 -
368 -# Only one default ssl provider can be enabled
369 -REQUIRED_USE="
370 - ssl? (
371 - ^^ (
372 - curl_ssl_gnutls
373 - curl_ssl_mbedtls
374 - curl_ssl_nss
375 - curl_ssl_openssl
376 - curl_ssl_rustls
377 - )
378 - )"
379 -
380 -# lead to lots of false negatives, bug #285669
381 -RESTRICT="!test? ( test )"
382 -
383 -RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
384 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
385 - ssl? (
386 - gnutls? (
387 - net-libs/gnutls:=[static-libs?,${MULTILIB_USEDEP}]
388 - dev-libs/nettle:=[${MULTILIB_USEDEP}]
389 - app-misc/ca-certificates
390 - )
391 - mbedtls? (
392 - net-libs/mbedtls:=[${MULTILIB_USEDEP}]
393 - app-misc/ca-certificates
394 - )
395 - openssl? (
396 - dev-libs/openssl:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
397 - )
398 - nss? (
399 - dev-libs/nss:0[${MULTILIB_USEDEP}]
400 - dev-libs/nss-pem
401 - app-misc/ca-certificates
402 - )
403 - rustls? (
404 - net-libs/rustls-ffi:=[${MULTILIB_USEDEP}]
405 - )
406 - )
407 - http2? ( net-libs/nghttp2:=[${MULTILIB_USEDEP}] )
408 - nghttp3? (
409 - net-libs/nghttp3[${MULTILIB_USEDEP}]
410 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
411 - )
412 - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
413 - idn? ( net-dns/libidn2:=[static-libs?,${MULTILIB_USEDEP}] )
414 - adns? ( net-dns/c-ares:=[${MULTILIB_USEDEP}] )
415 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
416 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
417 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
418 - sys-libs/zlib[${MULTILIB_USEDEP}]
419 - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
420 -
421 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
422 -# rtmp? (
423 -# media-video/rtmpdump
424 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
425 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
426 -# )
427 -
428 -DEPEND="${RDEPEND}"
429 -BDEPEND="dev-lang/perl
430 - virtual/pkgconfig
431 - test? (
432 - sys-apps/diffutils
433 - )
434 - verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
435 -
436 -DOCS=( CHANGES README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
437 -
438 -MULTILIB_WRAPPED_HEADERS=(
439 - /usr/include/curl/curlbuild.h
440 -)
441 -
442 -MULTILIB_CHOST_TOOLS=(
443 - /usr/bin/curl-config
444 -)
445 -
446 -PATCHES=(
447 - "${FILESDIR}"/${PN}-7.30.0-prefix.patch
448 - "${FILESDIR}"/${PN}-respect-cflags-3.patch
449 -
450 - "${FILESDIR}"/${P}-gnutls-openssl-build.patch
451 -)
452 -
453 -src_prepare() {
454 - default
455 -
456 - eprefixify curl-config.in
457 - eautoreconf
458 -}
459 -
460 -multilib_src_configure() {
461 - # We make use of the fact that later flags override earlier ones
462 - # So start with all ssl providers off until proven otherwise
463 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
464 - local myconf=()
465 -
466 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
467 - #myconf+=( --without-default-ssl-backend )
468 - if use ssl ; then
469 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-rustls )
470 -
471 - if use gnutls || use curl_ssl_gnutls; then
472 - einfo "SSL provided by gnutls"
473 - myconf+=( --with-gnutls )
474 - fi
475 - if use mbedtls || use curl_ssl_mbedtls; then
476 - einfo "SSL provided by mbedtls"
477 - myconf+=( --with-mbedtls )
478 - fi
479 - if use nss || use curl_ssl_nss; then
480 - einfo "SSL provided by nss"
481 - myconf+=( --with-nss --with-nss-deprecated )
482 - fi
483 - if use openssl || use curl_ssl_openssl; then
484 - einfo "SSL provided by openssl"
485 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
486 - fi
487 - if use rustls || use curl_ssl_rustls; then
488 - einfo "SSL provided by rustls"
489 - myconf+=( --with-rustls )
490 - fi
491 -
492 - if use curl_ssl_gnutls; then
493 - einfo "Default SSL provided by gnutls"
494 - myconf+=( --with-default-ssl-backend=gnutls )
495 - elif use curl_ssl_mbedtls; then
496 - einfo "Default SSL provided by mbedtls"
497 - myconf+=( --with-default-ssl-backend=mbedtls )
498 - elif use curl_ssl_nss; then
499 - einfo "Default SSL provided by nss"
500 - myconf+=( --with-default-ssl-backend=nss )
501 - elif use curl_ssl_openssl; then
502 - einfo "Default SSL provided by openssl"
503 - myconf+=( --with-default-ssl-backend=openssl )
504 - elif use curl_ssl_rustls; then
505 - einfo "Default SSL provided by rustls"
506 - myconf+=( --with-default-ssl-backend=rustls )
507 - else
508 - eerror "We can't be here because of REQUIRED_USE."
509 - fi
510 -
511 - else
512 - myconf+=( --without-ssl )
513 - einfo "SSL disabled"
514 - fi
515 -
516 - # These configuration options are organized alphabetically
517 - # within each category. This should make it easier if we
518 - # ever decide to make any of them contingent on USE flags:
519 - # 1) protocols first. To see them all do
520 - # 'grep SUPPORT_PROTOCOLS configure.ac'
521 - # 2) --enable/disable options second.
522 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
523 - # 3) --with/without options third.
524 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
525 -
526 - myconf+=(
527 - $(use_enable alt-svc)
528 - --enable-crypto-auth
529 - --enable-dict
530 - --disable-ech
531 - --enable-file
532 - $(use_enable ftp)
533 - $(use_enable gopher)
534 - $(use_enable hsts)
535 - --enable-http
536 - $(use_enable imap)
537 - $(use_enable ldap)
538 - $(use_enable ldap ldaps)
539 - --enable-ntlm
540 - --disable-ntlm-wb
541 - $(use_enable pop3)
542 - --enable-rt
543 - --enable-rtsp
544 - $(use_enable samba smb)
545 - $(use_with ssh libssh2)
546 - $(use_enable smtp)
547 - $(use_enable telnet)
548 - $(use_enable tftp)
549 - --enable-tls-srp
550 - $(use_enable adns ares)
551 - --enable-cookies
552 - --enable-dateparse
553 - --enable-dnsshuffle
554 - --enable-doh
555 - --enable-symbol-hiding
556 - --enable-http-auth
557 - $(use_enable ipv6)
558 - --enable-largefile
559 - --enable-manual
560 - --enable-mime
561 - --enable-netrc
562 - $(use_enable progress-meter)
563 - --enable-proxy
564 - --disable-sspi
565 - $(use_enable static-libs static)
566 - --enable-pthreads
567 - --enable-threaded-resolver
568 - --disable-versioned-symbols
569 - --without-amissl
570 - --without-bearssl
571 - $(use_with brotli)
572 - --without-fish-functions-dir
573 - $(use_with http2 nghttp2)
574 - --without-hyper
575 - $(use_with idn libidn2)
576 - $(use_with kerberos gssapi "${EPREFIX}"/usr)
577 - --without-libgsasl
578 - --without-libpsl
579 - --without-msh3
580 - $(use_with nghttp3)
581 - $(use_with nghttp3 ngtcp2)
582 - $(use_with quiche)
583 - $(use_with rtmp librtmp)
584 - --without-schannel
585 - --without-secure-transport
586 - $(use_enable websockets)
587 - --without-winidn
588 - --without-wolfssl
589 - --with-zlib
590 - $(use_with zstd)
591 - )
592 -
593 - ECONF_SOURCE="${S}" econf "${myconf[@]}"
594 -
595 - if ! multilib_is_native_abi; then
596 - # avoid building the client
597 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
598 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
599 - fi
600 -
601 - # Fix up the pkg-config file to be more robust.
602 - # https://github.com/curl/curl/issues/864
603 - local priv=() libs=()
604 - # We always enable zlib.
605 - libs+=( "-lz" )
606 - priv+=( "zlib" )
607 - if use http2; then
608 - libs+=( "-lnghttp2" )
609 - priv+=( "libnghttp2" )
610 - fi
611 - if use quiche; then
612 - libs+=( "-lquiche" )
613 - priv+=( "quiche" )
614 - fi
615 - if use nghttp3; then
616 - libs+=( "-lnghttp3" "-lngtcp2" )
617 - priv+=( "libnghttp3" "libngtcp2" )
618 - fi
619 - if use ssl && use curl_ssl_openssl; then
620 - libs+=( "-lssl" "-lcrypto" )
621 - priv+=( "openssl" )
622 - fi
623 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
624 - libs=$(printf '|%s' "${libs[@]}")
625 - sed -i -r \
626 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
627 - libcurl.pc || die
628 - echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
629 -}
630 -
631 -multilib_src_test() {
632 - # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
633 - # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
634 - # -v: verbose
635 - # -a: keep going on failure (so we see everything which breaks, not just 1st test)
636 - # -k: keep test files after completion
637 - # -am: automake style TAP output
638 - # -p: print logs if test fails
639 - # Note: if needed, we can disable tests. See e.g. Fedora's packaging
640 - # or just read https://github.com/curl/curl/tree/master/tests#run.
641 - multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p"
642 -}
643 -
644 -multilib_src_install_all() {
645 - einstalldocs
646 - find "${ED}" -type f -name '*.la' -delete || die
647 - rm -rf "${ED}"/etc/ || die
648 -}