summaryrefslogtreecommitdiffstats
path: root/perl/perl-WWW-Curl/WWW-Curl-4.150.0-curl-7.50.2.patch
diff options
context:
space:
mode:
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.patch40
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 0000000000..2fecfce621
--- /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_]*)/) {