diff options
Diffstat (limited to 'perl/perl-WWW-Curl/WWW-Curl-4.150.0-curl-7.50.2.patch')
-rw-r--r-- | perl/perl-WWW-Curl/WWW-Curl-4.150.0-curl-7.50.2.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/perl/perl-WWW-Curl/WWW-Curl-4.150.0-curl-7.50.2.patch b/perl/perl-WWW-Curl/WWW-Curl-4.150.0-curl-7.50.2.patch new file mode 100644 index 0000000000000..2fecfce621a8a --- /dev/null +++ b/perl/perl-WWW-Curl/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_]*)/) { |