summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2023-05-09 17:24:44 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2023-05-09 17:25:22 -0700
commit5e117e5e5e04de053f606d74da4170d402d77492 (patch)
treec1a67e60cc48fa9f3c7b639356f6679015bb8155 /dev-perl
parentsys-cluster/ceph: add 16.2.13, drop 16.2.12 (diff)
downloadgentoo-5e117e5e5e04de053f606d74da4170d402d77492.tar.gz
gentoo-5e117e5e5e04de053f606d74da4170d402d77492.tar.bz2
gentoo-5e117e5e5e04de053f606d74da4170d402d77492.zip
dev-perl/WWW-Curl: fix compile with curl-7.87+
Closes: https://bugs.gentoo.org/888559 Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'dev-perl')
-rw-r--r--dev-perl/WWW-Curl/Manifest1
-rw-r--r--dev-perl/WWW-Curl/WWW-Curl-4.170.0-r3.ebuild82
2 files changed, 83 insertions, 0 deletions
diff --git a/dev-perl/WWW-Curl/Manifest b/dev-perl/WWW-Curl/Manifest
index dd04f7a57762..41807eb27a51 100644
--- a/dev-perl/WWW-Curl/Manifest
+++ b/dev-perl/WWW-Curl/Manifest
@@ -1 +1,2 @@
+DIST WWW-Curl-4.17-Work-around-a-macro-bug-in-curl-7.87.0.patch 1375 BLAKE2B af3809b0933d127e7f3d9b7992104cdd1334f05d94a0650f60965669c6b750253dc1b936cf7570cb2ab9ddde1820e32fe9553f8f40dd1055455d33d712907e0c SHA512 2d8a32258c12cdc894da31374c751297e0875dd3469a5e9ba2b11efd96a7df3c39e0369eac5749e5f4746d37199440cb1c91e97c51c63c0e9b84850892b3b52f
DIST WWW-Curl-4.17.tar.gz 50917 BLAKE2B 6f07570fb0db535b506b8e4a879a05f1901d4c1a2c0fb8c775ae330fb3ea44c523d921494d30f9e02b8eb84e4a006eb53e8594bbce6615ad162090b0d422edfb SHA512 bc7a75d0e23f5a77578fd7244b56a1e1b81d814993b90ac7132926f0d571232c4c95875bc615cb6239e424ae1d5481d27796efc5376bb0845d1da0ff1137c0d6
diff --git a/dev-perl/WWW-Curl/WWW-Curl-4.170.0-r3.ebuild b/dev-perl/WWW-Curl/WWW-Curl-4.170.0-r3.ebuild
new file mode 100644
index 000000000000..9a0567845594
--- /dev/null
+++ b/dev-perl/WWW-Curl/WWW-Curl-4.170.0-r3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=SZBALINT
+DIST_VERSION=4.17
+inherit perl-module
+
+DESCRIPTION="Perl extension interface for libcurl"
+
+LICENSE="|| ( MPL-1.0 MPL-1.1 MIT )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="net-misc/curl"
+DEPEND="${RDEPEND}"
+BDEPEND="${RDEPEND}"
+
+# https://rt.cpan.org/Public/Bug/Display.html?id=145992
+SRC_URI+="
+ https://rt.cpan.org/Public/Ticket/Attachment/2423633/1093328/WWW-Curl-4.17-Work-around-a-macro-bug-in-curl-7.87.0.patch
+ "
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.150.0-curl-7.50.2.patch
+ "${FILESDIR}"/${PN}-4.17-dotinc.patch
+ "${FILESDIR}"/${PN}-4.17-networktests.patch
+ "${FILESDIR}"/${PN}-4.17-RT117793.patch
+ "${FILESDIR}"/${PN}-4.17-RT130591.patch
+ "${FILESDIR}"/${PN}-4.17-RT132197.patch
+ "${DISTDIR}/WWW-Curl-4.17-Work-around-a-macro-bug-in-curl-7.87.0.patch"
+)
+
+src_prepare() {
+ perl-module_src_prepare
+ # Makefile.PL does some creative things parsing macros vs defines from curl
+ # build system
+ #
+ # However, it tends to be very fragile and needs lots of patching, so
+ # instead of multiple patches, make it a variable and hoist it to the
+ # ebuild.
+ #
+ # Use the modifier flags aax means we can write an easier to manage regex as well.
+ sed -i -r \
+ -e '/if.*=~.*(OBSOLETE|CURL_EXTERN|CURL_STRICTER)/s,/[^/]+/,/($ENV{_CURL_BUILD_SYM_EXCLUDE})/aax,g' \
+ "${S}/Makefile.PL"
+}
+
+# https://src.fedoraproject.org/rpms/perl-WWW-Curl/blob/rawhide/f/WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch
+# /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|_LAST\z|_LASTENTRY\z)/
+#
+# files/WWW-Curl-4.17-RT117793.patch
+# /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|^CURL_DID_MEMORY_FUNC_TYPEDEFS\z|_LAST\z|_LASTENTRY\z)/)
+#
+# files/WWW-Curl-4.17-RT130591.patch
+# /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|^CURL_DID_MEMORY_FUNC_TYPEDEFS\z|_LAST\z|_LASTENTRY\z|^CURLINC_)/
+#
+# https://rt.cpan.org/Public/Bug/Display.html?id=132197
+# /(OBSOLETE|^CURL_EXTERN|^CURL_STRICTER\z|^CURL_DID_MEMORY_FUNC_TYPEDEFS\z|_LAST\z|_LASTENTRY\z|^CURLINC_|^CURL_WIN32\z|^CURLOPT\z)/
+#
+# https://src.fedoraproject.org/rpms/perl-WWW-Curl/blob/rawhide/f/WWW-Curl-4.17-Adapt-to-curl-7.87.0.patch
+# /(OBSOLETE|^CURL_DEPRECATED\z|^CURL_EXTERN|^CURL_IGNORE_DEPRECATION\z|^CURL_STRICTER\z|^CURL_WIN32\z|^CURLOPT\z|^CURLOPTDEPRECATED\z|_LAST\z|_LASTENTRY\z)
+#
+# If you change this variable, you should probably be bumping the ebuild rev!
+export _CURL_BUILD_SYM_EXCLUDE='
+__000FORPATCH_WITH_LEADING_SPACE
+|^CURL_DEPRECATED\z
+|^CURL_DID_MEMORY_FUNC_TYPEDEFS\z
+|^CURL_EXTERN
+|^CURL_IGNORE_DEPRECATION\z
+|^CURLINC_
+|^CURLOPTDEPRECATED\z
+|^CURLOPT\z
+|^CURL_STRICTER\z
+|^CURL_WIN32\z
+|_LASTENTRY\z
+|_LAST\z
+|OBSOLETE
+'
+
+PERL_RM_FILES=("t/meta.t" "t/pod-coverage.t" "t/pod.t")