Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/curl/
Date: Tue, 22 Dec 2020 22:53:06
Message-Id: 1608677579.59632d1ae297abc98ea017cd98736e8c8ac7d0c7.whissi@gentoo
1 commit: 59632d1ae297abc98ea017cd98736e8c8ac7d0c7
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Tue Dec 22 22:52:52 2020 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 22 22:52:59 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59632d1a
7
8 net-misc/curl: security cleanup (bug #759259)
9
10 Package-Manager: Portage-3.0.12, Repoman-3.0.2
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 net-misc/curl/Manifest | 4 -
14 net-misc/curl/curl-7.71.0.ebuild | 266 --------------------------------
15 net-misc/curl/curl-7.71.1-r1.ebuild | 289 -----------------------------------
16 net-misc/curl/curl-7.71.1.ebuild | 266 --------------------------------
17 net-misc/curl/curl-7.72.0-r1.ebuild | 291 -----------------------------------
18 net-misc/curl/curl-7.72.0.ebuild | 289 -----------------------------------
19 net-misc/curl/curl-7.73.0.ebuild | 293 ------------------------------------
20 7 files changed, 1698 deletions(-)
21
22 diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
23 index 3fb901e4733..199a2e051d7 100644
24 --- a/net-misc/curl/Manifest
25 +++ b/net-misc/curl/Manifest
26 @@ -1,5 +1 @@
27 -DIST curl-7.71.0.tar.xz 2379056 BLAKE2B 50d7369e4335823c3032b8801b270f7d8e687b0552f25ed5f9752549483cf68870e0422132ecf86e756e1c7c27cdf60048a7765850608c3a1b734cffb1fe7b99 SHA512 f1ea045f23b6a7e2c84ea83954d3299c612f57c3b1e5fee0b39493dc92fc4e95e7af2a5424c2e5bc480659e80cf1adce1fc528fc816f8ff2d0e7bfcfe4c5830a
28 -DIST curl-7.71.1.tar.xz 2387660 BLAKE2B 47b3a4704ae8b09b37f7a9d8850fd7d692d91db3dd4ad776aad9a57d0162e0f4091e0387a850eb048f834e6dfee5bcb36da56493a106696c72072c612b47f623 SHA512 631e0ee8562e5029fe022bfab4222836a3e6d666e82e2bfbd78311fe5985105218a36d1ea68c93472fc57a12b713957a3bcca6e385eda4e58a47ca8d5d50265b
29 -DIST curl-7.72.0.tar.xz 2390040 BLAKE2B 8f20efe7255ffe6d68619645b634b9cb10557ba0ca458904e99105133fb54cfafe4cafa0e7a1c5e20bbf5b5d24c8c44670cb5ddc1a2035ca43eadd24899ea953 SHA512 e5025a32eac6108ccb13d1fcce9c2de28b3a6d6e9a258a647c4be45d71718f75653e1ccd477ef5f29242a15588255c4ef43fe47bf9908b938b6769fccfaac107
30 -DIST curl-7.73.0.tar.xz 2394228 BLAKE2B 33ce983878dd3154d5e3e44b2b64a02e47a3faac77615db1c67cc6617495c16f40a36406e1627e2cef62bc1a01cdd0c5ae47ccc6cc4265257fc47b2f34eaac65 SHA512 95330bac2d6bc5306d47723b3c7bdb754fabe2ba2df7b2a8027453a40286f1c7caaee69333f0715e59fbc7fdf09080968ea624398c995cabf3d57493973867bd
31 DIST curl-7.74.0.tar.xz 2400972 BLAKE2B bef9e01493994afc933549a78b41065708aeaa9f6f5cdd1dbf2f43bbb03bbc97b17308b8bda5f11599c3cc0c6c77903e6fa6f1310ff874fad902a59566b51e8a SHA512 5d987f0b4d051c9e254f14d4e2a05f7cda9fb0f0ac7b3ca3664a25a51ee5ffe092ee072c0d9a613fcd3f34727d75bba14b70f5500cb110ca818591e071c3e6f4
32
33 diff --git a/net-misc/curl/curl-7.71.0.ebuild b/net-misc/curl/curl-7.71.0.ebuild
34 deleted file mode 100644
35 index ed0e2adb8d4..00000000000
36 --- a/net-misc/curl/curl-7.71.0.ebuild
37 +++ /dev/null
38 @@ -1,266 +0,0 @@
39 -# Copyright 1999-2020 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI="7"
43 -
44 -inherit autotools eutils prefix multilib-minimal
45 -
46 -DESCRIPTION="A Client that groks URLs"
47 -HOMEPAGE="https://curl.haxx.se/"
48 -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
49 -
50 -LICENSE="curl"
51 -SLOT="0"
52 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 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"
53 -IUSE="adns alt-svc brotli +ftp gopher http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads"
54 -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
55 -IUSE+=" nghttp3 quiche"
56 -IUSE+=" elibc_Winnt"
57 -
58 -#lead to lots of false negatives, bug #285669
59 -RESTRICT="test"
60 -
61 -RDEPEND="ldap? ( net-nds/openldap[static-libs?,${MULTILIB_USEDEP}] )
62 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
63 - ssl? (
64 - curl_ssl_gnutls? (
65 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
66 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
67 - app-misc/ca-certificates
68 - )
69 - curl_ssl_libressl? (
70 - dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}]
71 - )
72 - curl_ssl_mbedtls? (
73 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
74 - app-misc/ca-certificates
75 - )
76 - curl_ssl_openssl? (
77 - dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}]
78 - )
79 - curl_ssl_nss? (
80 - dev-libs/nss:0[${MULTILIB_USEDEP}]
81 - app-misc/ca-certificates
82 - )
83 - )
84 - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
85 - nghttp3? (
86 - net-libs/nghttp3[${MULTILIB_USEDEP}]
87 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
88 - )
89 - quiche? ( >=net-libs/quiche-0.5.0[${MULTILIB_USEDEP}] )
90 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
91 - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
92 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
93 - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
94 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
95 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
96 - sys-libs/zlib[${MULTILIB_USEDEP}]"
97 -
98 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
99 -# rtmp? (
100 -# media-video/rtmpdump
101 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
102 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
103 -# )
104 -
105 -# ssl providers to be added:
106 -# fbopenssl $(use_with spnego)
107 -
108 -DEPEND="${RDEPEND}"
109 -BDEPEND="virtual/pkgconfig
110 - test? (
111 - sys-apps/diffutils
112 - dev-lang/perl
113 - )"
114 -
115 -# c-ares must be disabled for threads
116 -# only one ssl provider can be enabled
117 -REQUIRED_USE="
118 - curl_ssl_winssl? ( elibc_Winnt )
119 - threads? ( !adns )
120 - ssl? (
121 - ^^ (
122 - curl_ssl_gnutls
123 - curl_ssl_libressl
124 - curl_ssl_mbedtls
125 - curl_ssl_nss
126 - curl_ssl_openssl
127 - curl_ssl_winssl
128 - )
129 - )"
130 -
131 -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
132 - docs/FAQ docs/BUGS docs/CONTRIBUTE.md )
133 -
134 -MULTILIB_WRAPPED_HEADERS=(
135 - /usr/include/curl/curlbuild.h
136 -)
137 -
138 -MULTILIB_CHOST_TOOLS=(
139 - /usr/bin/curl-config
140 -)
141 -
142 -src_prepare() {
143 - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
144 - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
145 - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
146 -
147 - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
148 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
149 -
150 - eapply_user
151 - eprefixify curl-config.in
152 - eautoreconf
153 -}
154 -
155 -multilib_src_configure() {
156 - # We make use of the fact that later flags override earlier ones
157 - # So start with all ssl providers off until proven otherwise
158 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
159 - local myconf=()
160 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
161 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
162 - if use ssl ; then
163 - if use curl_ssl_gnutls; then
164 - einfo "SSL provided by gnutls"
165 - myconf+=( --with-gnutls --with-nettle )
166 - elif use curl_ssl_libressl; then
167 - einfo "SSL provided by LibreSSL"
168 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
169 - elif use curl_ssl_mbedtls; then
170 - einfo "SSL provided by mbedtls"
171 - myconf+=( --with-mbedtls )
172 - elif use curl_ssl_nss; then
173 - einfo "SSL provided by nss"
174 - myconf+=( --with-nss )
175 - elif use curl_ssl_openssl; then
176 - einfo "SSL provided by openssl"
177 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
178 - elif use curl_ssl_winssl; then
179 - einfo "SSL provided by Windows"
180 - myconf+=( --with-winssl )
181 - else
182 - eerror "We can't be here because of REQUIRED_USE."
183 - fi
184 - else
185 - einfo "SSL disabled"
186 - fi
187 -
188 - # These configuration options are organized alphabetically
189 - # within each category. This should make it easier if we
190 - # ever decide to make any of them contingent on USE flags:
191 - # 1) protocols first. To see them all do
192 - # 'grep SUPPORT_PROTOCOLS configure.ac'
193 - # 2) --enable/disable options second.
194 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
195 - # 3) --with/without options third.
196 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
197 -
198 - ECONF_SOURCE="${S}" \
199 - econf \
200 - $(use_enable alt-svc) \
201 - --enable-crypto-auth \
202 - --enable-dict \
203 - --disable-esni \
204 - --enable-file \
205 - $(use_enable ftp) \
206 - $(use_enable gopher) \
207 - --enable-http \
208 - $(use_enable imap) \
209 - $(use_enable ldap) \
210 - $(use_enable ldap ldaps) \
211 - --disable-mqtt \
212 - --disable-ntlm-wb \
213 - $(use_enable pop3) \
214 - --enable-rt \
215 - --enable-rtsp \
216 - $(use_enable samba smb) \
217 - $(use_with ssh libssh2) \
218 - $(use_enable smtp) \
219 - $(use_enable telnet) \
220 - $(use_enable tftp) \
221 - --enable-tls-srp \
222 - $(use_enable adns ares) \
223 - --enable-cookies \
224 - --enable-dateparse \
225 - --enable-dnsshuffle \
226 - --enable-doh \
227 - --enable-hidden-symbols \
228 - --enable-http-auth \
229 - $(use_enable ipv6) \
230 - --enable-largefile \
231 - --enable-manual \
232 - --enable-mime \
233 - --enable-netrc \
234 - $(use_enable progress-meter) \
235 - --enable-proxy \
236 - --disable-sspi \
237 - $(use_enable static-libs static) \
238 - $(use_enable threads threaded-resolver) \
239 - $(use_enable threads pthreads) \
240 - --disable-versioned-symbols \
241 - --without-amissl \
242 - --without-bearssl \
243 - --without-cyassl \
244 - --without-darwinssl \
245 - --without-fish-functions-dir \
246 - $(use_with idn libidn2) \
247 - $(use_with kerberos gssapi "${EPREFIX}"/usr) \
248 - $(use_with metalink libmetalink) \
249 - $(use_with http2 nghttp2) \
250 - --without-libpsl \
251 - $(use_with nghttp3) \
252 - $(use_with nghttp3 ngtcp2) \
253 - $(use_with quiche) \
254 - $(use_with rtmp librtmp) \
255 - $(use_with brotli) \
256 - --without-schannel \
257 - --without-secure-transport \
258 - --without-spnego \
259 - --without-winidn \
260 - --without-wolfssl \
261 - --with-zlib \
262 - "${myconf[@]}"
263 -
264 - if ! multilib_is_native_abi; then
265 - # avoid building the client
266 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
267 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
268 - fi
269 -
270 - # Fix up the pkg-config file to be more robust.
271 - # https://github.com/curl/curl/issues/864
272 - local priv=() libs=()
273 - # We always enable zlib.
274 - libs+=( "-lz" )
275 - priv+=( "zlib" )
276 - if use http2; then
277 - libs+=( "-lnghttp2" )
278 - priv+=( "libnghttp2" )
279 - fi
280 - if use quiche; then
281 - libs+=( "-lquiche" )
282 - priv+=( "quiche" )
283 - fi
284 - if use nghttp3; then
285 - libs+=( "-lnghttp3" "-lngtcp2" )
286 - priv+=( "libnghttp3" "-libtcp2" )
287 - fi
288 - if use ssl && use curl_ssl_openssl; then
289 - libs+=( "-lssl" "-lcrypto" )
290 - priv+=( "openssl" )
291 - fi
292 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
293 - libs=$(printf '|%s' "${libs[@]}")
294 - sed -i -r \
295 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
296 - libcurl.pc || die
297 - echo "Requires.private: ${priv[*]}" >> libcurl.pc
298 -}
299 -
300 -multilib_src_install_all() {
301 - einstalldocs
302 - find "${ED}" -type f -name '*.la' -delete
303 - rm -rf "${ED}"/etc/
304 -}
305
306 diff --git a/net-misc/curl/curl-7.71.1-r1.ebuild b/net-misc/curl/curl-7.71.1-r1.ebuild
307 deleted file mode 100644
308 index 598b09eed1c..00000000000
309 --- a/net-misc/curl/curl-7.71.1-r1.ebuild
310 +++ /dev/null
311 @@ -1,289 +0,0 @@
312 -# Copyright 1999-2020 Gentoo Authors
313 -# Distributed under the terms of the GNU General Public License v2
314 -
315 -EAPI="7"
316 -
317 -inherit autotools eutils prefix multilib-minimal
318 -
319 -DESCRIPTION="A Client that groks URLs"
320 -HOMEPAGE="https://curl.haxx.se/"
321 -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
322 -
323 -LICENSE="curl"
324 -SLOT="0"
325 -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~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"
326 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~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"
327 -IUSE="adns alt-svc brotli +ftp gnutls gopher +http2 idn +imap ipv6 kerberos ldap libressl mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads winssl"
328 -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
329 -IUSE+=" nghttp3 quiche"
330 -IUSE+=" elibc_Winnt"
331 -
332 -#lead to lots of false negatives, bug #285669
333 -RESTRICT="!test? ( test )"
334 -
335 -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
336 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
337 - ssl? (
338 - gnutls? (
339 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
340 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
341 - app-misc/ca-certificates
342 - )
343 - mbedtls? (
344 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
345 - app-misc/ca-certificates
346 - )
347 - openssl? (
348 - !libressl? ( dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] )
349 - libressl? ( dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] )
350 - )
351 - nss? (
352 - dev-libs/nss:0[${MULTILIB_USEDEP}]
353 - app-misc/ca-certificates
354 - )
355 - )
356 - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
357 - nghttp3? (
358 - net-libs/nghttp3[${MULTILIB_USEDEP}]
359 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
360 - )
361 - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
362 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
363 - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
364 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
365 - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
366 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
367 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
368 - sys-libs/zlib[${MULTILIB_USEDEP}]"
369 -
370 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
371 -# rtmp? (
372 -# media-video/rtmpdump
373 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
374 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
375 -# )
376 -
377 -# ssl providers to be added:
378 -# fbopenssl $(use_with spnego)
379 -
380 -DEPEND="${RDEPEND}"
381 -BDEPEND="virtual/pkgconfig
382 - test? (
383 - sys-apps/diffutils
384 - dev-lang/perl
385 - )"
386 -
387 -# c-ares must be disabled for threads
388 -# only one default ssl provider can be enabled
389 -REQUIRED_USE="
390 - winssl? ( elibc_Winnt )
391 - threads? ( !adns )
392 - ssl? (
393 - ^^ (
394 - curl_ssl_gnutls
395 - curl_ssl_libressl
396 - curl_ssl_mbedtls
397 - curl_ssl_nss
398 - curl_ssl_openssl
399 - curl_ssl_winssl
400 - )
401 - )"
402 -
403 -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
404 - docs/FAQ docs/BUGS docs/CONTRIBUTE.md )
405 -
406 -MULTILIB_WRAPPED_HEADERS=(
407 - /usr/include/curl/curlbuild.h
408 -)
409 -
410 -MULTILIB_CHOST_TOOLS=(
411 - /usr/bin/curl-config
412 -)
413 -
414 -src_prepare() {
415 - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
416 - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
417 - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
418 -
419 - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
420 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
421 -
422 - eapply_user
423 - eprefixify curl-config.in
424 - eautoreconf
425 -}
426 -
427 -multilib_src_configure() {
428 - # We make use of the fact that later flags override earlier ones
429 - # So start with all ssl providers off until proven otherwise
430 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
431 - local myconf=()
432 -
433 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
434 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
435 - #myconf+=( --without-default-ssl-backend )
436 - if use ssl ; then
437 - if use gnutls || use curl_ssl_gnutls; then
438 - einfo "SSL provided by gnutls"
439 - myconf+=( --with-gnutls --with-nettle )
440 - fi
441 - if use mbedtls || use curl_ssl_mbedtls; then
442 - einfo "SSL provided by mbedtls"
443 - myconf+=( --with-mbedtls )
444 - fi
445 - if use nss || use curl_ssl_nss; then
446 - einfo "SSL provided by nss"
447 - myconf+=( --with-nss )
448 - fi
449 - if use openssl || use curl_ssl_openssl || use curl_ssl_libressl; then
450 - einfo "SSL provided by openssl"
451 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
452 - fi
453 - if use winssl || use curl_ssl_winssl; then
454 - einfo "SSL provided by Windows"
455 - myconf+=( --with-winssl )
456 - fi
457 -
458 - if use curl_ssl_gnutls; then
459 - einfo "Default SSL provided by gnutls"
460 - myconf+=( --with-default-ssl-backend=gnutls )
461 - elif use curl_ssl_libressl; then
462 - einfo "Default SSL provided by LibreSSL"
463 - myconf+=( --with-default-ssl-backend=openssl ) # NOTE THE HACK HERE
464 - elif use curl_ssl_mbedtls; then
465 - einfo "Default SSL provided by mbedtls"
466 - myconf+=( --with-default-ssl-backend=mbedtls )
467 - elif use curl_ssl_nss; then
468 - einfo "Default SSL provided by nss"
469 - myconf+=( --with-default-ssl-backend=nss )
470 - elif use curl_ssl_openssl; then
471 - einfo "Default SSL provided by openssl"
472 - myconf+=( --with-default-ssl-backend=openssl )
473 - elif use curl_ssl_winssl; then
474 - einfo "Default SSL provided by Windows"
475 - myconf+=( --with-default-ssl-backend=winssl )
476 - else
477 - eerror "We can't be here because of REQUIRED_USE."
478 - fi
479 -
480 - else
481 - einfo "SSL disabled"
482 - fi
483 -
484 - # These configuration options are organized alphabetically
485 - # within each category. This should make it easier if we
486 - # ever decide to make any of them contingent on USE flags:
487 - # 1) protocols first. To see them all do
488 - # 'grep SUPPORT_PROTOCOLS configure.ac'
489 - # 2) --enable/disable options second.
490 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
491 - # 3) --with/without options third.
492 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
493 -
494 - ECONF_SOURCE="${S}" \
495 - econf \
496 - $(use_enable alt-svc) \
497 - --enable-crypto-auth \
498 - --enable-dict \
499 - --disable-esni \
500 - --enable-file \
501 - $(use_enable ftp) \
502 - $(use_enable gopher) \
503 - --enable-http \
504 - $(use_enable imap) \
505 - $(use_enable ldap) \
506 - $(use_enable ldap ldaps) \
507 - --disable-mqtt \
508 - --disable-ntlm-wb \
509 - $(use_enable pop3) \
510 - --enable-rt \
511 - --enable-rtsp \
512 - $(use_enable samba smb) \
513 - $(use_with ssh libssh2) \
514 - $(use_enable smtp) \
515 - $(use_enable telnet) \
516 - $(use_enable tftp) \
517 - --enable-tls-srp \
518 - $(use_enable adns ares) \
519 - --enable-cookies \
520 - --enable-dateparse \
521 - --enable-dnsshuffle \
522 - --enable-doh \
523 - --enable-hidden-symbols \
524 - --enable-http-auth \
525 - $(use_enable ipv6) \
526 - --enable-largefile \
527 - --enable-manual \
528 - --enable-mime \
529 - --enable-netrc \
530 - $(use_enable progress-meter) \
531 - --enable-proxy \
532 - --disable-sspi \
533 - $(use_enable static-libs static) \
534 - $(use_enable threads threaded-resolver) \
535 - $(use_enable threads pthreads) \
536 - --disable-versioned-symbols \
537 - --without-amissl \
538 - --without-bearssl \
539 - --without-cyassl \
540 - --without-darwinssl \
541 - --without-fish-functions-dir \
542 - $(use_with idn libidn2) \
543 - $(use_with kerberos gssapi "${EPREFIX}"/usr) \
544 - $(use_with metalink libmetalink) \
545 - $(use_with http2 nghttp2) \
546 - --without-libpsl \
547 - $(use_with nghttp3) \
548 - $(use_with nghttp3 ngtcp2) \
549 - $(use_with quiche) \
550 - $(use_with rtmp librtmp) \
551 - $(use_with brotli) \
552 - --without-schannel \
553 - --without-secure-transport \
554 - --without-spnego \
555 - --without-winidn \
556 - --without-wolfssl \
557 - --with-zlib \
558 - "${myconf[@]}"
559 -
560 - if ! multilib_is_native_abi; then
561 - # avoid building the client
562 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
563 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
564 - fi
565 -
566 - # Fix up the pkg-config file to be more robust.
567 - # https://github.com/curl/curl/issues/864
568 - local priv=() libs=()
569 - # We always enable zlib.
570 - libs+=( "-lz" )
571 - priv+=( "zlib" )
572 - if use http2; then
573 - libs+=( "-lnghttp2" )
574 - priv+=( "libnghttp2" )
575 - fi
576 - if use quiche; then
577 - libs+=( "-lquiche" )
578 - priv+=( "quiche" )
579 - fi
580 - if use nghttp3; then
581 - libs+=( "-lnghttp3" "-lngtcp2" )
582 - priv+=( "libnghttp3" "-libtcp2" )
583 - fi
584 - if use ssl && use curl_ssl_openssl; then
585 - libs+=( "-lssl" "-lcrypto" )
586 - priv+=( "openssl" )
587 - fi
588 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
589 - libs=$(printf '|%s' "${libs[@]}")
590 - sed -i -r \
591 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
592 - libcurl.pc || die
593 - echo "Requires.private: ${priv[*]}" >> libcurl.pc
594 -}
595 -
596 -multilib_src_install_all() {
597 - einstalldocs
598 - find "${ED}" -type f -name '*.la' -delete
599 - rm -rf "${ED}"/etc/
600 -}
601
602 diff --git a/net-misc/curl/curl-7.71.1.ebuild b/net-misc/curl/curl-7.71.1.ebuild
603 deleted file mode 100644
604 index 8805a6ae3fc..00000000000
605 --- a/net-misc/curl/curl-7.71.1.ebuild
606 +++ /dev/null
607 @@ -1,266 +0,0 @@
608 -# Copyright 1999-2020 Gentoo Authors
609 -# Distributed under the terms of the GNU General Public License v2
610 -
611 -EAPI="7"
612 -
613 -inherit autotools eutils prefix multilib-minimal
614 -
615 -DESCRIPTION="A Client that groks URLs"
616 -HOMEPAGE="https://curl.haxx.se/"
617 -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
618 -
619 -LICENSE="curl"
620 -SLOT="0"
621 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 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"
622 -IUSE="adns alt-svc brotli +ftp gopher +http2 idn +imap ipv6 kerberos ldap metalink +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads"
623 -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
624 -IUSE+=" nghttp3 quiche"
625 -IUSE+=" elibc_Winnt"
626 -
627 -#lead to lots of false negatives, bug #285669
628 -RESTRICT="test"
629 -
630 -RDEPEND="ldap? ( net-nds/openldap[static-libs?,${MULTILIB_USEDEP}] )
631 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
632 - ssl? (
633 - curl_ssl_gnutls? (
634 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
635 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
636 - app-misc/ca-certificates
637 - )
638 - curl_ssl_libressl? (
639 - dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}]
640 - )
641 - curl_ssl_mbedtls? (
642 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
643 - app-misc/ca-certificates
644 - )
645 - curl_ssl_openssl? (
646 - dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}]
647 - )
648 - curl_ssl_nss? (
649 - dev-libs/nss:0[${MULTILIB_USEDEP}]
650 - app-misc/ca-certificates
651 - )
652 - )
653 - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
654 - nghttp3? (
655 - net-libs/nghttp3[${MULTILIB_USEDEP}]
656 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
657 - )
658 - quiche? ( >=net-libs/quiche-0.5.0[${MULTILIB_USEDEP}] )
659 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
660 - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
661 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
662 - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
663 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
664 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
665 - sys-libs/zlib[${MULTILIB_USEDEP}]"
666 -
667 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
668 -# rtmp? (
669 -# media-video/rtmpdump
670 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
671 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
672 -# )
673 -
674 -# ssl providers to be added:
675 -# fbopenssl $(use_with spnego)
676 -
677 -DEPEND="${RDEPEND}"
678 -BDEPEND="virtual/pkgconfig
679 - test? (
680 - sys-apps/diffutils
681 - dev-lang/perl
682 - )"
683 -
684 -# c-ares must be disabled for threads
685 -# only one ssl provider can be enabled
686 -REQUIRED_USE="
687 - curl_ssl_winssl? ( elibc_Winnt )
688 - threads? ( !adns )
689 - ssl? (
690 - ^^ (
691 - curl_ssl_gnutls
692 - curl_ssl_libressl
693 - curl_ssl_mbedtls
694 - curl_ssl_nss
695 - curl_ssl_openssl
696 - curl_ssl_winssl
697 - )
698 - )"
699 -
700 -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
701 - docs/FAQ docs/BUGS docs/CONTRIBUTE.md )
702 -
703 -MULTILIB_WRAPPED_HEADERS=(
704 - /usr/include/curl/curlbuild.h
705 -)
706 -
707 -MULTILIB_CHOST_TOOLS=(
708 - /usr/bin/curl-config
709 -)
710 -
711 -src_prepare() {
712 - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
713 - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
714 - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
715 -
716 - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
717 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
718 -
719 - eapply_user
720 - eprefixify curl-config.in
721 - eautoreconf
722 -}
723 -
724 -multilib_src_configure() {
725 - # We make use of the fact that later flags override earlier ones
726 - # So start with all ssl providers off until proven otherwise
727 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
728 - local myconf=()
729 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
730 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
731 - if use ssl ; then
732 - if use curl_ssl_gnutls; then
733 - einfo "SSL provided by gnutls"
734 - myconf+=( --with-gnutls --with-nettle )
735 - elif use curl_ssl_libressl; then
736 - einfo "SSL provided by LibreSSL"
737 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
738 - elif use curl_ssl_mbedtls; then
739 - einfo "SSL provided by mbedtls"
740 - myconf+=( --with-mbedtls )
741 - elif use curl_ssl_nss; then
742 - einfo "SSL provided by nss"
743 - myconf+=( --with-nss )
744 - elif use curl_ssl_openssl; then
745 - einfo "SSL provided by openssl"
746 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
747 - elif use curl_ssl_winssl; then
748 - einfo "SSL provided by Windows"
749 - myconf+=( --with-winssl )
750 - else
751 - eerror "We can't be here because of REQUIRED_USE."
752 - fi
753 - else
754 - einfo "SSL disabled"
755 - fi
756 -
757 - # These configuration options are organized alphabetically
758 - # within each category. This should make it easier if we
759 - # ever decide to make any of them contingent on USE flags:
760 - # 1) protocols first. To see them all do
761 - # 'grep SUPPORT_PROTOCOLS configure.ac'
762 - # 2) --enable/disable options second.
763 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
764 - # 3) --with/without options third.
765 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
766 -
767 - ECONF_SOURCE="${S}" \
768 - econf \
769 - $(use_enable alt-svc) \
770 - --enable-crypto-auth \
771 - --enable-dict \
772 - --disable-esni \
773 - --enable-file \
774 - $(use_enable ftp) \
775 - $(use_enable gopher) \
776 - --enable-http \
777 - $(use_enable imap) \
778 - $(use_enable ldap) \
779 - $(use_enable ldap ldaps) \
780 - --disable-mqtt \
781 - --disable-ntlm-wb \
782 - $(use_enable pop3) \
783 - --enable-rt \
784 - --enable-rtsp \
785 - $(use_enable samba smb) \
786 - $(use_with ssh libssh2) \
787 - $(use_enable smtp) \
788 - $(use_enable telnet) \
789 - $(use_enable tftp) \
790 - --enable-tls-srp \
791 - $(use_enable adns ares) \
792 - --enable-cookies \
793 - --enable-dateparse \
794 - --enable-dnsshuffle \
795 - --enable-doh \
796 - --enable-hidden-symbols \
797 - --enable-http-auth \
798 - $(use_enable ipv6) \
799 - --enable-largefile \
800 - --enable-manual \
801 - --enable-mime \
802 - --enable-netrc \
803 - $(use_enable progress-meter) \
804 - --enable-proxy \
805 - --disable-sspi \
806 - $(use_enable static-libs static) \
807 - $(use_enable threads threaded-resolver) \
808 - $(use_enable threads pthreads) \
809 - --disable-versioned-symbols \
810 - --without-amissl \
811 - --without-bearssl \
812 - --without-cyassl \
813 - --without-darwinssl \
814 - --without-fish-functions-dir \
815 - $(use_with idn libidn2) \
816 - $(use_with kerberos gssapi "${EPREFIX}"/usr) \
817 - $(use_with metalink libmetalink) \
818 - $(use_with http2 nghttp2) \
819 - --without-libpsl \
820 - $(use_with nghttp3) \
821 - $(use_with nghttp3 ngtcp2) \
822 - $(use_with quiche) \
823 - $(use_with rtmp librtmp) \
824 - $(use_with brotli) \
825 - --without-schannel \
826 - --without-secure-transport \
827 - --without-spnego \
828 - --without-winidn \
829 - --without-wolfssl \
830 - --with-zlib \
831 - "${myconf[@]}"
832 -
833 - if ! multilib_is_native_abi; then
834 - # avoid building the client
835 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
836 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
837 - fi
838 -
839 - # Fix up the pkg-config file to be more robust.
840 - # https://github.com/curl/curl/issues/864
841 - local priv=() libs=()
842 - # We always enable zlib.
843 - libs+=( "-lz" )
844 - priv+=( "zlib" )
845 - if use http2; then
846 - libs+=( "-lnghttp2" )
847 - priv+=( "libnghttp2" )
848 - fi
849 - if use quiche; then
850 - libs+=( "-lquiche" )
851 - priv+=( "quiche" )
852 - fi
853 - if use nghttp3; then
854 - libs+=( "-lnghttp3" "-lngtcp2" )
855 - priv+=( "libnghttp3" "-libtcp2" )
856 - fi
857 - if use ssl && use curl_ssl_openssl; then
858 - libs+=( "-lssl" "-lcrypto" )
859 - priv+=( "openssl" )
860 - fi
861 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
862 - libs=$(printf '|%s' "${libs[@]}")
863 - sed -i -r \
864 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
865 - libcurl.pc || die
866 - echo "Requires.private: ${priv[*]}" >> libcurl.pc
867 -}
868 -
869 -multilib_src_install_all() {
870 - einstalldocs
871 - find "${ED}" -type f -name '*.la' -delete
872 - rm -rf "${ED}"/etc/
873 -}
874
875 diff --git a/net-misc/curl/curl-7.72.0-r1.ebuild b/net-misc/curl/curl-7.72.0-r1.ebuild
876 deleted file mode 100644
877 index f1b9dbd3d19..00000000000
878 --- a/net-misc/curl/curl-7.72.0-r1.ebuild
879 +++ /dev/null
880 @@ -1,291 +0,0 @@
881 -# Copyright 1999-2020 Gentoo Authors
882 -# Distributed under the terms of the GNU General Public License v2
883 -
884 -EAPI="7"
885 -
886 -inherit autotools eutils prefix multilib-minimal
887 -
888 -DESCRIPTION="A Client that groks URLs"
889 -HOMEPAGE="https://curl.haxx.se/"
890 -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
891 -
892 -LICENSE="curl"
893 -SLOT="0"
894 -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~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"
895 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~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"
896 -IUSE="adns alt-svc brotli +ftp gnutls gopher +http2 idn +imap ipv6 kerberos ldap libressl mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads winssl zstd"
897 -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
898 -IUSE+=" nghttp3 quiche"
899 -IUSE+=" elibc_Winnt"
900 -
901 -#lead to lots of false negatives, bug #285669
902 -RESTRICT="!test? ( test )"
903 -
904 -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
905 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
906 - ssl? (
907 - gnutls? (
908 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
909 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
910 - app-misc/ca-certificates
911 - )
912 - mbedtls? (
913 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
914 - app-misc/ca-certificates
915 - )
916 - openssl? (
917 - !libressl? ( dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] )
918 - libressl? ( dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] )
919 - )
920 - nss? (
921 - dev-libs/nss:0[${MULTILIB_USEDEP}]
922 - app-misc/ca-certificates
923 - )
924 - )
925 - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
926 - nghttp3? (
927 - net-libs/nghttp3[${MULTILIB_USEDEP}]
928 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
929 - )
930 - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
931 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
932 - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
933 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
934 - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
935 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
936 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
937 - sys-libs/zlib[${MULTILIB_USEDEP}]
938 - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
939 -
940 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
941 -# rtmp? (
942 -# media-video/rtmpdump
943 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
944 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
945 -# )
946 -
947 -# ssl providers to be added:
948 -# fbopenssl $(use_with spnego)
949 -
950 -DEPEND="${RDEPEND}"
951 -BDEPEND="virtual/pkgconfig
952 - test? (
953 - sys-apps/diffutils
954 - dev-lang/perl
955 - )"
956 -
957 -# c-ares must be disabled for threads
958 -# only one default ssl provider can be enabled
959 -REQUIRED_USE="
960 - winssl? ( elibc_Winnt )
961 - threads? ( !adns )
962 - ssl? (
963 - ^^ (
964 - curl_ssl_gnutls
965 - curl_ssl_libressl
966 - curl_ssl_mbedtls
967 - curl_ssl_nss
968 - curl_ssl_openssl
969 - curl_ssl_winssl
970 - )
971 - )"
972 -
973 -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
974 - docs/FAQ docs/BUGS docs/CONTRIBUTE.md )
975 -
976 -MULTILIB_WRAPPED_HEADERS=(
977 - /usr/include/curl/curlbuild.h
978 -)
979 -
980 -MULTILIB_CHOST_TOOLS=(
981 - /usr/bin/curl-config
982 -)
983 -
984 -src_prepare() {
985 - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
986 - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
987 - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
988 -
989 - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
990 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
991 -
992 - eapply_user
993 - eprefixify curl-config.in
994 - eautoreconf
995 -}
996 -
997 -multilib_src_configure() {
998 - # We make use of the fact that later flags override earlier ones
999 - # So start with all ssl providers off until proven otherwise
1000 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
1001 - local myconf=()
1002 -
1003 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
1004 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
1005 - #myconf+=( --without-default-ssl-backend )
1006 - if use ssl ; then
1007 - if use gnutls || use curl_ssl_gnutls; then
1008 - einfo "SSL provided by gnutls"
1009 - myconf+=( --with-gnutls --with-nettle )
1010 - fi
1011 - if use mbedtls || use curl_ssl_mbedtls; then
1012 - einfo "SSL provided by mbedtls"
1013 - myconf+=( --with-mbedtls )
1014 - fi
1015 - if use nss || use curl_ssl_nss; then
1016 - einfo "SSL provided by nss"
1017 - myconf+=( --with-nss )
1018 - fi
1019 - if use openssl || use curl_ssl_openssl || use curl_ssl_libressl; then
1020 - einfo "SSL provided by openssl"
1021 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
1022 - fi
1023 - if use winssl || use curl_ssl_winssl; then
1024 - einfo "SSL provided by Windows"
1025 - myconf+=( --with-winssl )
1026 - fi
1027 -
1028 - if use curl_ssl_gnutls; then
1029 - einfo "Default SSL provided by gnutls"
1030 - myconf+=( --with-default-ssl-backend=gnutls )
1031 - elif use curl_ssl_libressl; then
1032 - einfo "Default SSL provided by LibreSSL"
1033 - myconf+=( --with-default-ssl-backend=openssl ) # NOTE THE HACK HERE
1034 - elif use curl_ssl_mbedtls; then
1035 - einfo "Default SSL provided by mbedtls"
1036 - myconf+=( --with-default-ssl-backend=mbedtls )
1037 - elif use curl_ssl_nss; then
1038 - einfo "Default SSL provided by nss"
1039 - myconf+=( --with-default-ssl-backend=nss )
1040 - elif use curl_ssl_openssl; then
1041 - einfo "Default SSL provided by openssl"
1042 - myconf+=( --with-default-ssl-backend=openssl )
1043 - elif use curl_ssl_winssl; then
1044 - einfo "Default SSL provided by Windows"
1045 - myconf+=( --with-default-ssl-backend=winssl )
1046 - else
1047 - eerror "We can't be here because of REQUIRED_USE."
1048 - fi
1049 -
1050 - else
1051 - einfo "SSL disabled"
1052 - fi
1053 -
1054 - # These configuration options are organized alphabetically
1055 - # within each category. This should make it easier if we
1056 - # ever decide to make any of them contingent on USE flags:
1057 - # 1) protocols first. To see them all do
1058 - # 'grep SUPPORT_PROTOCOLS configure.ac'
1059 - # 2) --enable/disable options second.
1060 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
1061 - # 3) --with/without options third.
1062 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
1063 -
1064 - ECONF_SOURCE="${S}" \
1065 - econf \
1066 - $(use_enable alt-svc) \
1067 - --enable-crypto-auth \
1068 - --enable-dict \
1069 - --disable-esni \
1070 - --enable-file \
1071 - $(use_enable ftp) \
1072 - $(use_enable gopher) \
1073 - --enable-http \
1074 - $(use_enable imap) \
1075 - $(use_enable ldap) \
1076 - $(use_enable ldap ldaps) \
1077 - --disable-mqtt \
1078 - --disable-ntlm-wb \
1079 - $(use_enable pop3) \
1080 - --enable-rt \
1081 - --enable-rtsp \
1082 - $(use_enable samba smb) \
1083 - $(use_with ssh libssh2) \
1084 - $(use_enable smtp) \
1085 - $(use_enable telnet) \
1086 - $(use_enable tftp) \
1087 - --enable-tls-srp \
1088 - $(use_enable adns ares) \
1089 - --enable-cookies \
1090 - --enable-dateparse \
1091 - --enable-dnsshuffle \
1092 - --enable-doh \
1093 - --enable-hidden-symbols \
1094 - --enable-http-auth \
1095 - $(use_enable ipv6) \
1096 - --enable-largefile \
1097 - --enable-manual \
1098 - --enable-mime \
1099 - --enable-netrc \
1100 - $(use_enable progress-meter) \
1101 - --enable-proxy \
1102 - --disable-sspi \
1103 - $(use_enable static-libs static) \
1104 - $(use_enable threads threaded-resolver) \
1105 - $(use_enable threads pthreads) \
1106 - --disable-versioned-symbols \
1107 - --without-amissl \
1108 - --without-bearssl \
1109 - --without-cyassl \
1110 - --without-darwinssl \
1111 - --without-fish-functions-dir \
1112 - $(use_with idn libidn2) \
1113 - $(use_with kerberos gssapi "${EPREFIX}"/usr) \
1114 - $(use_with metalink libmetalink) \
1115 - $(use_with http2 nghttp2) \
1116 - --without-libpsl \
1117 - $(use_with nghttp3) \
1118 - $(use_with nghttp3 ngtcp2) \
1119 - $(use_with quiche) \
1120 - $(use_with rtmp librtmp) \
1121 - $(use_with brotli) \
1122 - --without-schannel \
1123 - --without-secure-transport \
1124 - --without-spnego \
1125 - --without-winidn \
1126 - --without-wolfssl \
1127 - --with-zlib \
1128 - $(use_with zstd) \
1129 - "${myconf[@]}"
1130 -
1131 - if ! multilib_is_native_abi; then
1132 - # avoid building the client
1133 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
1134 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
1135 - fi
1136 -
1137 - # Fix up the pkg-config file to be more robust.
1138 - # https://github.com/curl/curl/issues/864
1139 - local priv=() libs=()
1140 - # We always enable zlib.
1141 - libs+=( "-lz" )
1142 - priv+=( "zlib" )
1143 - if use http2; then
1144 - libs+=( "-lnghttp2" )
1145 - priv+=( "libnghttp2" )
1146 - fi
1147 - if use quiche; then
1148 - libs+=( "-lquiche" )
1149 - priv+=( "quiche" )
1150 - fi
1151 - if use nghttp3; then
1152 - libs+=( "-lnghttp3" "-lngtcp2" )
1153 - priv+=( "libnghttp3" "-libtcp2" )
1154 - fi
1155 - if use ssl && use curl_ssl_openssl; then
1156 - libs+=( "-lssl" "-lcrypto" )
1157 - priv+=( "openssl" )
1158 - fi
1159 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
1160 - libs=$(printf '|%s' "${libs[@]}")
1161 - sed -i -r \
1162 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
1163 - libcurl.pc || die
1164 - echo "Requires.private: ${priv[*]}" >> libcurl.pc
1165 -}
1166 -
1167 -multilib_src_install_all() {
1168 - einstalldocs
1169 - find "${ED}" -type f -name '*.la' -delete
1170 - rm -rf "${ED}"/etc/
1171 -}
1172
1173 diff --git a/net-misc/curl/curl-7.72.0.ebuild b/net-misc/curl/curl-7.72.0.ebuild
1174 deleted file mode 100644
1175 index c2870a90b65..00000000000
1176 --- a/net-misc/curl/curl-7.72.0.ebuild
1177 +++ /dev/null
1178 @@ -1,289 +0,0 @@
1179 -# Copyright 1999-2020 Gentoo Authors
1180 -# Distributed under the terms of the GNU General Public License v2
1181 -
1182 -EAPI="7"
1183 -
1184 -inherit autotools eutils prefix multilib-minimal
1185 -
1186 -DESCRIPTION="A Client that groks URLs"
1187 -HOMEPAGE="https://curl.haxx.se/"
1188 -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
1189 -
1190 -LICENSE="curl"
1191 -SLOT="0"
1192 -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~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"
1193 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 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"
1194 -IUSE="adns alt-svc brotli +ftp gnutls gopher +http2 idn +imap ipv6 kerberos ldap libressl mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads winssl"
1195 -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
1196 -IUSE+=" nghttp3 quiche"
1197 -IUSE+=" elibc_Winnt"
1198 -
1199 -#lead to lots of false negatives, bug #285669
1200 -RESTRICT="!test? ( test )"
1201 -
1202 -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
1203 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
1204 - ssl? (
1205 - gnutls? (
1206 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
1207 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
1208 - app-misc/ca-certificates
1209 - )
1210 - mbedtls? (
1211 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
1212 - app-misc/ca-certificates
1213 - )
1214 - openssl? (
1215 - !libressl? ( dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] )
1216 - libressl? ( dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] )
1217 - )
1218 - nss? (
1219 - dev-libs/nss:0[${MULTILIB_USEDEP}]
1220 - app-misc/ca-certificates
1221 - )
1222 - )
1223 - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
1224 - nghttp3? (
1225 - net-libs/nghttp3[${MULTILIB_USEDEP}]
1226 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
1227 - )
1228 - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
1229 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
1230 - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
1231 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
1232 - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
1233 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
1234 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
1235 - sys-libs/zlib[${MULTILIB_USEDEP}]"
1236 -
1237 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
1238 -# rtmp? (
1239 -# media-video/rtmpdump
1240 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
1241 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
1242 -# )
1243 -
1244 -# ssl providers to be added:
1245 -# fbopenssl $(use_with spnego)
1246 -
1247 -DEPEND="${RDEPEND}"
1248 -BDEPEND="virtual/pkgconfig
1249 - test? (
1250 - sys-apps/diffutils
1251 - dev-lang/perl
1252 - )"
1253 -
1254 -# c-ares must be disabled for threads
1255 -# only one default ssl provider can be enabled
1256 -REQUIRED_USE="
1257 - winssl? ( elibc_Winnt )
1258 - threads? ( !adns )
1259 - ssl? (
1260 - ^^ (
1261 - curl_ssl_gnutls
1262 - curl_ssl_libressl
1263 - curl_ssl_mbedtls
1264 - curl_ssl_nss
1265 - curl_ssl_openssl
1266 - curl_ssl_winssl
1267 - )
1268 - )"
1269 -
1270 -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
1271 - docs/FAQ docs/BUGS docs/CONTRIBUTE.md )
1272 -
1273 -MULTILIB_WRAPPED_HEADERS=(
1274 - /usr/include/curl/curlbuild.h
1275 -)
1276 -
1277 -MULTILIB_CHOST_TOOLS=(
1278 - /usr/bin/curl-config
1279 -)
1280 -
1281 -src_prepare() {
1282 - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
1283 - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
1284 - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
1285 -
1286 - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
1287 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
1288 -
1289 - eapply_user
1290 - eprefixify curl-config.in
1291 - eautoreconf
1292 -}
1293 -
1294 -multilib_src_configure() {
1295 - # We make use of the fact that later flags override earlier ones
1296 - # So start with all ssl providers off until proven otherwise
1297 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
1298 - local myconf=()
1299 -
1300 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
1301 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
1302 - #myconf+=( --without-default-ssl-backend )
1303 - if use ssl ; then
1304 - if use gnutls || use curl_ssl_gnutls; then
1305 - einfo "SSL provided by gnutls"
1306 - myconf+=( --with-gnutls --with-nettle )
1307 - fi
1308 - if use mbedtls || use curl_ssl_mbedtls; then
1309 - einfo "SSL provided by mbedtls"
1310 - myconf+=( --with-mbedtls )
1311 - fi
1312 - if use nss || use curl_ssl_nss; then
1313 - einfo "SSL provided by nss"
1314 - myconf+=( --with-nss )
1315 - fi
1316 - if use openssl || use curl_ssl_openssl || use curl_ssl_libressl; then
1317 - einfo "SSL provided by openssl"
1318 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
1319 - fi
1320 - if use winssl || use curl_ssl_winssl; then
1321 - einfo "SSL provided by Windows"
1322 - myconf+=( --with-winssl )
1323 - fi
1324 -
1325 - if use curl_ssl_gnutls; then
1326 - einfo "Default SSL provided by gnutls"
1327 - myconf+=( --with-default-ssl-backend=gnutls )
1328 - elif use curl_ssl_libressl; then
1329 - einfo "Default SSL provided by LibreSSL"
1330 - myconf+=( --with-default-ssl-backend=openssl ) # NOTE THE HACK HERE
1331 - elif use curl_ssl_mbedtls; then
1332 - einfo "Default SSL provided by mbedtls"
1333 - myconf+=( --with-default-ssl-backend=mbedtls )
1334 - elif use curl_ssl_nss; then
1335 - einfo "Default SSL provided by nss"
1336 - myconf+=( --with-default-ssl-backend=nss )
1337 - elif use curl_ssl_openssl; then
1338 - einfo "Default SSL provided by openssl"
1339 - myconf+=( --with-default-ssl-backend=openssl )
1340 - elif use curl_ssl_winssl; then
1341 - einfo "Default SSL provided by Windows"
1342 - myconf+=( --with-default-ssl-backend=winssl )
1343 - else
1344 - eerror "We can't be here because of REQUIRED_USE."
1345 - fi
1346 -
1347 - else
1348 - einfo "SSL disabled"
1349 - fi
1350 -
1351 - # These configuration options are organized alphabetically
1352 - # within each category. This should make it easier if we
1353 - # ever decide to make any of them contingent on USE flags:
1354 - # 1) protocols first. To see them all do
1355 - # 'grep SUPPORT_PROTOCOLS configure.ac'
1356 - # 2) --enable/disable options second.
1357 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
1358 - # 3) --with/without options third.
1359 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
1360 -
1361 - ECONF_SOURCE="${S}" \
1362 - econf \
1363 - $(use_enable alt-svc) \
1364 - --enable-crypto-auth \
1365 - --enable-dict \
1366 - --disable-esni \
1367 - --enable-file \
1368 - $(use_enable ftp) \
1369 - $(use_enable gopher) \
1370 - --enable-http \
1371 - $(use_enable imap) \
1372 - $(use_enable ldap) \
1373 - $(use_enable ldap ldaps) \
1374 - --disable-mqtt \
1375 - --disable-ntlm-wb \
1376 - $(use_enable pop3) \
1377 - --enable-rt \
1378 - --enable-rtsp \
1379 - $(use_enable samba smb) \
1380 - $(use_with ssh libssh2) \
1381 - $(use_enable smtp) \
1382 - $(use_enable telnet) \
1383 - $(use_enable tftp) \
1384 - --enable-tls-srp \
1385 - $(use_enable adns ares) \
1386 - --enable-cookies \
1387 - --enable-dateparse \
1388 - --enable-dnsshuffle \
1389 - --enable-doh \
1390 - --enable-hidden-symbols \
1391 - --enable-http-auth \
1392 - $(use_enable ipv6) \
1393 - --enable-largefile \
1394 - --enable-manual \
1395 - --enable-mime \
1396 - --enable-netrc \
1397 - $(use_enable progress-meter) \
1398 - --enable-proxy \
1399 - --disable-sspi \
1400 - $(use_enable static-libs static) \
1401 - $(use_enable threads threaded-resolver) \
1402 - $(use_enable threads pthreads) \
1403 - --disable-versioned-symbols \
1404 - --without-amissl \
1405 - --without-bearssl \
1406 - --without-cyassl \
1407 - --without-darwinssl \
1408 - --without-fish-functions-dir \
1409 - $(use_with idn libidn2) \
1410 - $(use_with kerberos gssapi "${EPREFIX}"/usr) \
1411 - $(use_with metalink libmetalink) \
1412 - $(use_with http2 nghttp2) \
1413 - --without-libpsl \
1414 - $(use_with nghttp3) \
1415 - $(use_with nghttp3 ngtcp2) \
1416 - $(use_with quiche) \
1417 - $(use_with rtmp librtmp) \
1418 - $(use_with brotli) \
1419 - --without-schannel \
1420 - --without-secure-transport \
1421 - --without-spnego \
1422 - --without-winidn \
1423 - --without-wolfssl \
1424 - --with-zlib \
1425 - "${myconf[@]}"
1426 -
1427 - if ! multilib_is_native_abi; then
1428 - # avoid building the client
1429 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
1430 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
1431 - fi
1432 -
1433 - # Fix up the pkg-config file to be more robust.
1434 - # https://github.com/curl/curl/issues/864
1435 - local priv=() libs=()
1436 - # We always enable zlib.
1437 - libs+=( "-lz" )
1438 - priv+=( "zlib" )
1439 - if use http2; then
1440 - libs+=( "-lnghttp2" )
1441 - priv+=( "libnghttp2" )
1442 - fi
1443 - if use quiche; then
1444 - libs+=( "-lquiche" )
1445 - priv+=( "quiche" )
1446 - fi
1447 - if use nghttp3; then
1448 - libs+=( "-lnghttp3" "-lngtcp2" )
1449 - priv+=( "libnghttp3" "-libtcp2" )
1450 - fi
1451 - if use ssl && use curl_ssl_openssl; then
1452 - libs+=( "-lssl" "-lcrypto" )
1453 - priv+=( "openssl" )
1454 - fi
1455 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
1456 - libs=$(printf '|%s' "${libs[@]}")
1457 - sed -i -r \
1458 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
1459 - libcurl.pc || die
1460 - echo "Requires.private: ${priv[*]}" >> libcurl.pc
1461 -}
1462 -
1463 -multilib_src_install_all() {
1464 - einstalldocs
1465 - find "${ED}" -type f -name '*.la' -delete
1466 - rm -rf "${ED}"/etc/
1467 -}
1468
1469 diff --git a/net-misc/curl/curl-7.73.0.ebuild b/net-misc/curl/curl-7.73.0.ebuild
1470 deleted file mode 100644
1471 index 44c0b9c78f0..00000000000
1472 --- a/net-misc/curl/curl-7.73.0.ebuild
1473 +++ /dev/null
1474 @@ -1,293 +0,0 @@
1475 -# Copyright 1999-2020 Gentoo Authors
1476 -# Distributed under the terms of the GNU General Public License v2
1477 -
1478 -EAPI="7"
1479 -
1480 -inherit autotools eutils prefix multilib-minimal
1481 -
1482 -DESCRIPTION="A Client that groks URLs"
1483 -HOMEPAGE="https://curl.haxx.se/"
1484 -SRC_URI="https://curl.haxx.se/download/${P}.tar.xz"
1485 -
1486 -LICENSE="curl"
1487 -SLOT="0"
1488 -#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~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"
1489 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~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"
1490 -IUSE="adns alt-svc brotli +ftp gnutls gopher +http2 idn +imap ipv6 kerberos ldap libressl mbedtls metalink nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl static-libs test telnet +tftp threads winssl zstd"
1491 -IUSE+=" curl_ssl_gnutls curl_ssl_libressl curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
1492 -IUSE+=" nghttp3 quiche"
1493 -IUSE+=" elibc_Winnt"
1494 -
1495 -#lead to lots of false negatives, bug #285669
1496 -RESTRICT="!test? ( test )"
1497 -
1498 -RDEPEND="ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
1499 - brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
1500 - ssl? (
1501 - gnutls? (
1502 - net-libs/gnutls:0=[static-libs?,${MULTILIB_USEDEP}]
1503 - dev-libs/nettle:0=[${MULTILIB_USEDEP}]
1504 - app-misc/ca-certificates
1505 - )
1506 - mbedtls? (
1507 - net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
1508 - app-misc/ca-certificates
1509 - )
1510 - openssl? (
1511 - !libressl? ( dev-libs/openssl:0=[static-libs?,${MULTILIB_USEDEP}] )
1512 - libressl? ( dev-libs/libressl:0=[static-libs?,${MULTILIB_USEDEP}] )
1513 - )
1514 - nss? (
1515 - dev-libs/nss:0[${MULTILIB_USEDEP}]
1516 - app-misc/ca-certificates
1517 - )
1518 - )
1519 - http2? ( net-libs/nghttp2[${MULTILIB_USEDEP}] )
1520 - nghttp3? (
1521 - net-libs/nghttp3[${MULTILIB_USEDEP}]
1522 - net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
1523 - )
1524 - quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
1525 - idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
1526 - adns? ( net-dns/c-ares:0[${MULTILIB_USEDEP}] )
1527 - kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
1528 - metalink? ( >=media-libs/libmetalink-0.1.1[${MULTILIB_USEDEP}] )
1529 - rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
1530 - ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
1531 - sys-libs/zlib[${MULTILIB_USEDEP}]
1532 - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
1533 -
1534 -# Do we need to enforce the same ssl backend for curl and rtmpdump? Bug #423303
1535 -# rtmp? (
1536 -# media-video/rtmpdump
1537 -# curl_ssl_gnutls? ( media-video/rtmpdump[gnutls] )
1538 -# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
1539 -# )
1540 -
1541 -# ssl providers to be added:
1542 -# fbopenssl $(use_with spnego)
1543 -
1544 -DEPEND="${RDEPEND}"
1545 -BDEPEND="virtual/pkgconfig
1546 - test? (
1547 - sys-apps/diffutils
1548 - dev-lang/perl
1549 - )"
1550 -
1551 -# c-ares must be disabled for threads
1552 -# only one default ssl provider can be enabled
1553 -REQUIRED_USE="
1554 - winssl? ( elibc_Winnt )
1555 - threads? ( !adns )
1556 - ssl? (
1557 - ^^ (
1558 - curl_ssl_gnutls
1559 - curl_ssl_libressl
1560 - curl_ssl_mbedtls
1561 - curl_ssl_nss
1562 - curl_ssl_openssl
1563 - curl_ssl_winssl
1564 - )
1565 - )"
1566 -
1567 -DOCS=( CHANGES README docs/FEATURES docs/INTERNALS.md \
1568 - docs/FAQ docs/BUGS.md docs/CONTRIBUTE.md )
1569 -
1570 -MULTILIB_WRAPPED_HEADERS=(
1571 - /usr/include/curl/curlbuild.h
1572 -)
1573 -
1574 -MULTILIB_CHOST_TOOLS=(
1575 - /usr/bin/curl-config
1576 -)
1577 -
1578 -src_prepare() {
1579 - eapply "${FILESDIR}"/${PN}-7.30.0-prefix.patch
1580 - eapply "${FILESDIR}"/${PN}-respect-cflags-3.patch
1581 - eapply "${FILESDIR}"/${PN}-fix-gnutls-nettle.patch
1582 -
1583 - sed -i '/LD_LIBRARY_PATH=/d' configure.ac || die #382241
1584 - sed -i '/CURL_MAC_CFLAGS/d' configure.ac || die #637252
1585 -
1586 - eapply_user
1587 - eprefixify curl-config.in
1588 - eautoreconf
1589 -}
1590 -
1591 -multilib_src_configure() {
1592 - # We make use of the fact that later flags override earlier ones
1593 - # So start with all ssl providers off until proven otherwise
1594 - # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
1595 - local myconf=()
1596 -
1597 - myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
1598 - myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
1599 - #myconf+=( --without-default-ssl-backend )
1600 - if use ssl ; then
1601 - if use gnutls || use curl_ssl_gnutls; then
1602 - einfo "SSL provided by gnutls"
1603 - myconf+=( --with-gnutls --with-nettle )
1604 - fi
1605 - if use mbedtls || use curl_ssl_mbedtls; then
1606 - einfo "SSL provided by mbedtls"
1607 - myconf+=( --with-mbedtls )
1608 - fi
1609 - if use nss || use curl_ssl_nss; then
1610 - einfo "SSL provided by nss"
1611 - myconf+=( --with-nss )
1612 - fi
1613 - if use openssl || use curl_ssl_openssl || use curl_ssl_libressl; then
1614 - einfo "SSL provided by openssl"
1615 - myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
1616 - fi
1617 - if use winssl || use curl_ssl_winssl; then
1618 - einfo "SSL provided by Windows"
1619 - myconf+=( --with-winssl )
1620 - fi
1621 -
1622 - if use curl_ssl_gnutls; then
1623 - einfo "Default SSL provided by gnutls"
1624 - myconf+=( --with-default-ssl-backend=gnutls )
1625 - elif use curl_ssl_libressl; then
1626 - einfo "Default SSL provided by LibreSSL"
1627 - myconf+=( --with-default-ssl-backend=openssl ) # NOTE THE HACK HERE
1628 - elif use curl_ssl_mbedtls; then
1629 - einfo "Default SSL provided by mbedtls"
1630 - myconf+=( --with-default-ssl-backend=mbedtls )
1631 - elif use curl_ssl_nss; then
1632 - einfo "Default SSL provided by nss"
1633 - myconf+=( --with-default-ssl-backend=nss )
1634 - elif use curl_ssl_openssl; then
1635 - einfo "Default SSL provided by openssl"
1636 - myconf+=( --with-default-ssl-backend=openssl )
1637 - elif use curl_ssl_winssl; then
1638 - einfo "Default SSL provided by Windows"
1639 - myconf+=( --with-default-ssl-backend=winssl )
1640 - else
1641 - eerror "We can't be here because of REQUIRED_USE."
1642 - fi
1643 -
1644 - else
1645 - einfo "SSL disabled"
1646 - fi
1647 -
1648 - # These configuration options are organized alphabetically
1649 - # within each category. This should make it easier if we
1650 - # ever decide to make any of them contingent on USE flags:
1651 - # 1) protocols first. To see them all do
1652 - # 'grep SUPPORT_PROTOCOLS configure.ac'
1653 - # 2) --enable/disable options second.
1654 - # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
1655 - # 3) --with/without options third.
1656 - # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
1657 -
1658 - ECONF_SOURCE="${S}" \
1659 - econf \
1660 - $(use_enable alt-svc) \
1661 - --enable-crypto-auth \
1662 - --enable-dict \
1663 - --disable-ech \
1664 - --enable-file \
1665 - $(use_enable ftp) \
1666 - $(use_enable gopher) \
1667 - --enable-http \
1668 - $(use_enable imap) \
1669 - $(use_enable ldap) \
1670 - $(use_enable ldap ldaps) \
1671 - --disable-mqtt \
1672 - --disable-ntlm-wb \
1673 - $(use_enable pop3) \
1674 - --enable-rt \
1675 - --enable-rtsp \
1676 - $(use_enable samba smb) \
1677 - $(use_with ssh libssh2) \
1678 - $(use_enable smtp) \
1679 - $(use_enable telnet) \
1680 - $(use_enable tftp) \
1681 - --enable-tls-srp \
1682 - $(use_enable adns ares) \
1683 - --enable-cookies \
1684 - --enable-dateparse \
1685 - --enable-dnsshuffle \
1686 - --enable-doh \
1687 - --disable-get-easy-options \
1688 - --enable-hidden-symbols \
1689 - --enable-http-auth \
1690 - $(use_enable ipv6) \
1691 - --enable-largefile \
1692 - --enable-manual \
1693 - --enable-mime \
1694 - --enable-netrc \
1695 - $(use_enable progress-meter) \
1696 - --enable-proxy \
1697 - --disable-sspi \
1698 - --disable-socketpair \
1699 - $(use_enable static-libs static) \
1700 - $(use_enable threads threaded-resolver) \
1701 - $(use_enable threads pthreads) \
1702 - --disable-versioned-symbols \
1703 - --without-amissl \
1704 - --without-bearssl \
1705 - --without-cyassl \
1706 - --without-darwinssl \
1707 - --without-fish-functions-dir \
1708 - $(use_with idn libidn2) \
1709 - $(use_with kerberos gssapi "${EPREFIX}"/usr) \
1710 - $(use_with metalink libmetalink) \
1711 - $(use_with http2 nghttp2) \
1712 - --without-libpsl \
1713 - $(use_with nghttp3) \
1714 - $(use_with nghttp3 ngtcp2) \
1715 - $(use_with quiche) \
1716 - $(use_with rtmp librtmp) \
1717 - $(use_with brotli) \
1718 - --without-schannel \
1719 - --without-secure-transport \
1720 - --without-spnego \
1721 - --without-winidn \
1722 - --without-wolfssl \
1723 - --with-zlib \
1724 - $(use_with zstd) \
1725 - "${myconf[@]}"
1726 -
1727 - if ! multilib_is_native_abi; then
1728 - # avoid building the client
1729 - sed -i -e '/SUBDIRS/s:src::' Makefile || die
1730 - sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
1731 - fi
1732 -
1733 - # Fix up the pkg-config file to be more robust.
1734 - # https://github.com/curl/curl/issues/864
1735 - local priv=() libs=()
1736 - # We always enable zlib.
1737 - libs+=( "-lz" )
1738 - priv+=( "zlib" )
1739 - if use http2; then
1740 - libs+=( "-lnghttp2" )
1741 - priv+=( "libnghttp2" )
1742 - fi
1743 - if use quiche; then
1744 - libs+=( "-lquiche" )
1745 - priv+=( "quiche" )
1746 - fi
1747 - if use nghttp3; then
1748 - libs+=( "-lnghttp3" "-lngtcp2" )
1749 - priv+=( "libnghttp3" "-libtcp2" )
1750 - fi
1751 - if use ssl && use curl_ssl_openssl; then
1752 - libs+=( "-lssl" "-lcrypto" )
1753 - priv+=( "openssl" )
1754 - fi
1755 - grep -q Requires.private libcurl.pc && die "need to update ebuild"
1756 - libs=$(printf '|%s' "${libs[@]}")
1757 - sed -i -r \
1758 - -e "/^Libs.private/s:(${libs#|})( |$)::g" \
1759 - libcurl.pc || die
1760 - echo "Requires.private: ${priv[*]}" >> libcurl.pc
1761 -}
1762 -
1763 -multilib_src_install_all() {
1764 - einstalldocs
1765 - find "${ED}" -type f -name '*.la' -delete
1766 - rm -rf "${ED}"/etc/
1767 -}