summaryrefslogtreecommitdiff
path: root/net-misc/curl
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/curl')
-rw-r--r--net-misc/curl/Manifest3
-rw-r--r--net-misc/curl/curl-7.87.0-r2.ebuild (renamed from net-misc/curl/curl-7.87.0.ebuild)5
-rw-r--r--net-misc/curl/files/curl-7.87.0-typecheck-deprecated.patch48
3 files changed, 53 insertions, 3 deletions
diff --git a/net-misc/curl/Manifest b/net-misc/curl/Manifest
index ff008218b989..1d31abe80b32 100644
--- a/net-misc/curl/Manifest
+++ b/net-misc/curl/Manifest
@@ -3,6 +3,7 @@ AUX curl-7.86.0-noproxy-tailmatch-like-in-7.85.0-and-earlier.patch 3609 BLAKE2B
AUX curl-7.86.0-proxy-noproxy-match-comma.patch 3143 BLAKE2B 1aa8d62e6082601eae9e3ae7690a1e7ddce7f12be4cf9f20010f32aa51cd5b1c4206be0b731935a9ddd45bb5654ceed3cba3eabb6a1b9dc60112052d7e79ffa7 SHA512 1a0c67bdabeb1ea8cba7a0f93c12ea626bdc329bbe8c3978f03cb25a78c74fa3257a36f2ed53c177b3a256bca2c0dd8081bab1536b0670e1ec9c0541ac23fc11
AUX curl-7.86.0-proxy-noproxy-tailmatching.patch 2302 BLAKE2B c4199bc1eb04c8c69f8c72397ce526df6c2186151f77d5e13551e589712e9032e1a52720bd1b946a1b5b984f49a01b297410f4cf74814a58bf4bf43701435c76 SHA512 aa211a5428cc746d07cfd37571169d59ccc97560a69e7c6d21cc8b4a133182366264470de540e1813eee51b376d9056ec8dd01f8e95957e58a83f33d37db0442
AUX curl-7.87.0-gnutls-openssl-build.patch 1010 BLAKE2B 716760a38a7a61420e3e508f976c14776d5f3313c4305e8c2fcff9af1744bcaab61bae643546d625448cc613933f8a7137a783e6313a53799485f432d8b9791f SHA512 2a94cf409f33683ca53a347a99faec3c51ba05c4f531be4e784401e4ed977d1142b5d5bc153dd2444311cdeafd3c406ae4a27e515b875f978f5402487d177e9a
+AUX curl-7.87.0-typecheck-deprecated.patch 2437 BLAKE2B e04b6cf9b9b4073e2d2762f9c0336d35ef58cbc7b754144ea37a8fba73705e035e1b2f5a05987666f2f0f8a34ef0420a7d5977a9202ea5fe026ee536a44a1b0f SHA512 a7abeb4ab1e0381f78da3732c1ab8ab399e7eed1340efe12c6c9038f811b30095c08794b40ec346db27892fea1f6a240d190b6b655981d5262095569bf9ab815
AUX curl-respect-cflags-3.patch 406 BLAKE2B 1b533144858aff5566150c4a2648ad2e48e8ff29849ae285592edfee4b3332d06e750395dea7190ee6a01d2b5ee2c2c42c10400c2e5defa09963a90a1a10417d SHA512 3219e4e67d534e35012909243fc8d69d58989462db44dd507c502e7aaa299f1d9a01392e2c83797cc2bdb53d503470c5d6e7bf94572a6ccc6e5eafcc0466bc54
DIST curl-7.86.0.tar.xz 2518356 BLAKE2B a1de7feb229de42bf1deeb5017f97df3b1c10c75fac99bcd0cd21a5dc69b6d8b62520744106d6a113c7a86bd6731dba536a263aabfa22be50d520c43e894acce SHA512 18e03a3c00f22125e07bddb18becbf5acdca22baeb7b29f45ef189a5c56f95b2d51247813f7a9a90f04eb051739e9aa7d3a1c5be397bae75d763a2b918d1b656
DIST curl-7.86.0.tar.xz.asc 488 BLAKE2B a9abe2f3af801b3a48be7db09cb82b6bb83bd26a9d5caf51c0d5a4a2e6881fb478f1768a6b71efbd9283563e2c7e2badbc5a6d6df265013e14eee2ec7e9be148 SHA512 9e97d5f44b3c856f401fe30ba713e1ca1f74edfc693dc42f1ce8e43f9f6dd4bf6998c579bc9c5d0f749f475a7d67d232e92ab6f89b95141acdb53e149f2312f0
@@ -10,5 +11,5 @@ DIST curl-7.87.0.tar.xz 2547932 BLAKE2B b272ec928c5ef1728434630d8910f58834327a30
DIST curl-7.87.0.tar.xz.asc 488 BLAKE2B 031d8236b357bd3c519548b181254dc0aea1efc1375738bce04f4f331d35bafe99d1ca394ecf5943ede7cae040854b6d2b478fd305147eb7330f8d50e5d95c96 SHA512 0bcc12bafc4ae50d80128af2cf4bf1a1ec6018ebb8d5b9c49f52b51c0c25acc77e820858965656549ef43c1f923f4e5fe75b0a3523623154b4cfb9dc8a1d76e4
EBUILD curl-7.86.0-r3.ebuild 8760 BLAKE2B 60e6eedd747a7ad46bcc5de3a5e2abedbdb91539863fd7f518afd34383ce3912da321ff5de5df94395a9a94b078902382d9d920df79f0a3f7e8d0265bb1cab44 SHA512 800c3aa95abd8b47322b1055d888726e05ed895537153b0beff1977cf8ab2798f209d463efaadad2ae40e1e8e7e8c45cb1a8e10dc0861b4808d44910b4c85cbf
EBUILD curl-7.87.0-r1.ebuild 8616 BLAKE2B 918542f2da270535dd8c17181566615646ea2e565f91e5d7a63afd83c4003c9e47c9f78161de0ef0b501796b843f37d0a6763ec89e8a080ebd60cca4fbc1e50c SHA512 03424c105a47683c6c365eb7495fc5d30284308a762001298e736529a3afd213a335c007b09c88311ddaeb6c08a8994e31944ae5fee6855c454a80dca6479fcd
-EBUILD curl-7.87.0.ebuild 8615 BLAKE2B cc4c0e7aee79704b5c5723065b2b6f32d8ab9a5eafdad931530ea922fbb21287a916439a65757a8ed62f23ea917c0ead697b9730f8a94dadbe531d287d675b2d SHA512 9623d874ccde6ba6428b2c5a75b0b9bf7589fe428b3fc1891bec799593a655c6c25e70392cda57b78a125cb138571b72206cb9fb6d9954157748b74c088086a2
+EBUILD curl-7.87.0-r2.ebuild 8663 BLAKE2B 351094596381c7d81d8ed37f8939afc2925443b1f0ca07e07b287e64222c61c3c78370d1a261f5cd06e7c47b7403647b65e589c1273d633ad05077e024a4ad15 SHA512 7092806b5af3a3a292aa37a0b0a7ec855a05432aa1101af28d2be9c35cd38beaa0e94539657466580a35b7e1fd88895f58efca0479607cf157f609c12ebc5dca
MISC metadata.xml 2158 BLAKE2B 2b99163e490c531d73aa8c62d428ff4e994537b140e159548d74d52a7c46a2b5e04c992a541298253464f7eaab447d7a680140aadc6b33ecd7d69c35b6aaf6c5 SHA512 a3313197aeedaa7f347e3b6b791d8e5e3bda4292225afcc457ec21cd883347c4cdccaeaa79a7c212e061fdb339be3706815d425d09d8511a4d984f9318164797
diff --git a/net-misc/curl/curl-7.87.0.ebuild b/net-misc/curl/curl-7.87.0-r2.ebuild
index 0c0dece77e1c..83e7c21538cf 100644
--- a/net-misc/curl/curl-7.87.0.ebuild
+++ b/net-misc/curl/curl-7.87.0-r2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://curl.se/download/${P}.tar.xz
LICENSE="curl"
SLOT="0"
-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"
+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"
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"
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_rustls"
IUSE+=" nghttp3 quiche"
@@ -101,6 +101,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-respect-cflags-3.patch
"${FILESDIR}"/${P}-gnutls-openssl-build.patch
+ "${FILESDIR}"/${P}-typecheck-deprecated.patch
)
src_prepare() {
@@ -267,7 +268,7 @@ multilib_src_configure() {
fi
if use nghttp3; then
libs+=( "-lnghttp3" "-lngtcp2" )
- priv+=( "libnghttp3" "-libtcp2" )
+ priv+=( "libnghttp3" "libngtcp2" )
fi
if use ssl && use curl_ssl_openssl; then
libs+=( "-lssl" "-lcrypto" )
diff --git a/net-misc/curl/files/curl-7.87.0-typecheck-deprecated.patch b/net-misc/curl/files/curl-7.87.0-typecheck-deprecated.patch
new file mode 100644
index 000000000000..dec6d117efa4
--- /dev/null
+++ b/net-misc/curl/files/curl-7.87.0-typecheck-deprecated.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/890587
+https://github.com/curl/curl/issues/10148
+https://github.com/curl/curl/commit/e2aed004302e51cfa5b6ce8c8ab65ef92aa83196
+
+From e2aed004302e51cfa5b6ce8c8ab65ef92aa83196 Mon Sep 17 00:00:00 2001
+From: Patrick Monnerat <patrick@monnerat.net>
+Date: Fri, 23 Dec 2022 15:35:27 +0100
+Subject: [PATCH] typecheck: accept expressions for option/info parameters
+
+As expressions can have side effects, evaluate only once.
+
+To enable deprecation reporting only once, get rid of the __typeof__
+use to define the local temporary variable and use the target type
+(CURLoption/CURLINFO). This also avoids multiple reports on type
+conflicts (if some) by the curlcheck_* macros.
+
+Note that CURLOPT_* and CURLINFO_* symbols may be deprecated, but not
+their values: a curl_easy_setopt call with an integer constant as option
+will never report a deprecation.
+
+Reported-by: Thomas Klausner
+Fixes #10148
+Closes #10149
+--- a/include/curl/typecheck-gcc.h
++++ b/include/curl/typecheck-gcc.h
+@@ -42,9 +42,8 @@
+ */
+ #define curl_easy_setopt(handle, option, value) \
+ __extension__({ \
+- CURL_IGNORE_DEPRECATION(__typeof__(option) _curl_opt = option;) \
++ CURLoption _curl_opt = (option); \
+ if(__builtin_constant_p(_curl_opt)) { \
+- (void) option; \
+ CURL_IGNORE_DEPRECATION( \
+ if(curlcheck_long_option(_curl_opt)) \
+ if(!curlcheck_long(value)) \
+@@ -120,9 +119,8 @@
+ /* wraps curl_easy_getinfo() with typechecking */
+ #define curl_easy_getinfo(handle, info, arg) \
+ __extension__({ \
+- CURL_IGNORE_DEPRECATION(__typeof__(info) _curl_info = info;) \
++ CURLINFO _curl_info = (info); \
+ if(__builtin_constant_p(_curl_info)) { \
+- (void) info; \
+ CURL_IGNORE_DEPRECATION( \
+ if(curlcheck_string_info(_curl_info)) \
+ if(!curlcheck_arr((arg), char *)) \
+