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 |
-} |