commit: 8f83390e0093466b4f998d92ba15d9f5ea5a4a0b Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Sat Sep 17 17:01:25 2016 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Sat Sep 17 17:01:35 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f83390e
dev-perl/WWW-Curl: fix build failure against curl-7.50.2 and upper, bug #593280 Reported-by: Toralf Förster Bug: https://bugs.gentoo.org/593280 Package-Manager: portage-2.3.0 dev-perl/WWW-Curl/WWW-Curl-4.150.0-r1.ebuild | 4 ++- dev-perl/WWW-Curl/WWW-Curl-4.170.0.ebuild | 4 ++- .../files/WWW-Curl-4.150.0-curl-7.50.2.patch | 40 ++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/dev-perl/WWW-Curl/WWW-Curl-4.150.0-r1.ebuild b/dev-perl/WWW-Curl/WWW-Curl-4.150.0-r1.ebuild index 8a2818f..e600e51 100644 --- a/dev-perl/WWW-Curl/WWW-Curl-4.150.0-r1.ebuild +++ b/dev-perl/WWW-Curl/WWW-Curl-4.150.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -19,3 +19,5 @@ RDEPEND="net-misc/curl" DEPEND="${RDEPEND}" SRC_TEST=online + +PATCHES=("${FILESDIR}"/${PN}-4.150.0-curl-7.50.2.patch) diff --git a/dev-perl/WWW-Curl/WWW-Curl-4.170.0.ebuild b/dev-perl/WWW-Curl/WWW-Curl-4.170.0.ebuild index fc0c8aa..aacac26 100644 --- a/dev-perl/WWW-Curl/WWW-Curl-4.170.0.ebuild +++ b/dev-perl/WWW-Curl/WWW-Curl-4.170.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -19,3 +19,5 @@ RDEPEND="net-misc/curl" DEPEND="${RDEPEND}" SRC_TEST=online + +PATCHES=("${FILESDIR}"/${PN}-4.150.0-curl-7.50.2.patch) diff --git a/dev-perl/WWW-Curl/files/WWW-Curl-4.150.0-curl-7.50.2.patch b/dev-perl/WWW-Curl/files/WWW-Curl-4.150.0-curl-7.50.2.patch new file mode 100644 index 00000000..2fecfce --- /dev/null +++ b/dev-perl/WWW-Curl/files/WWW-Curl-4.150.0-curl-7.50.2.patch @@ -0,0 +1,40 @@ +curl-7.50.2 introduced a #define without integer value: + + #ifdef CURL_NO_OLDIES + #define CURL_STRICTER + #endif + +Heuristics in 'Makefile.PL' assumes all defines in form of + #define CURL_<something> <an-expression> +and generates a symbol lookup table in 'curlopt-constants.c' +as: + + static int + constant(const char *name) + { + errno = 0; + + if (strncmp(name, "CURL_", 5) == 0) { + name += 5; + switch (*name) { + ... + case 'S': + if (strEQ(name, "STRICTER")) return CURL_STRICTER; +Which is not valid C: + curlopt-constants.c:128:49: error: ‘CURL_STRICTER’ undeclared (first use in this function) + if (strEQ(name, "STRICTER")) return CURL_STRICTER; + ^~~~~~~~~~~~~ +diff --git a/Makefile.PL b/Makefile.PL +index f9170bb..fc1a55a 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -122,2 +122,9 @@ if (!defined($curl_h)) { + while(<H>) { ++ # Skip defines without values like: ++ # #define CURL_STRICTER ++ if (/^#define (CURL[A-Za-z0-9_]*)$/) { ++ chomp; ++ warn "Skipping '$_': does not define a symbol"; ++ next; ++ } + if (/^#define (CURL[A-Za-z0-9_]*)/) {
