Commit | Line | Data |
---|---|---|
92cb946b LF |
1 | This patch fixes a regex parsing compatibility issue with Perl 5.26.0. |
2 | It manifests during the configure phase of at-spi2-core like this: | |
3 | ||
4 | ------ | |
5 | Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/^(.*)\${ <-- HERE ?([A-Z_]+)}?(.*)$/ at /gnu/store/...-intltool-0.51.0/bin/intltool-update line 1065. | |
6 | ------ | |
7 | ||
8 | Copied from Gentoo and MSYS2: | |
9 | ||
10 | https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/intltool/files/intltool-0.51.0-perl-5.26.patch?id=1105187fc65d8bf643e682fcef39620dcfd9326a | |
11 | https://github.com/Alexpux/MSYS2-packages/blob/0d3f442553ae4fc8798e32cbf44c4252fa8f3c07/intltool/perl-5.22-compatibility.patch | |
12 | ||
13 | #diff -ruN intltool-0.51.0.orig/intltool-update.in intltool-0.51.0/intltool-update.in | |
14 | #--- intltool-0.51.0.orig/intltool-update.in 2017-06-28 00:47:20.889269294 +0200 | |
15 | #+++ intltool-0.51.0/intltool-update.in 2017-06-28 00:48:14.592271529 +0200 | |
16 | #@@ -1068,7 +1068,7 @@ | |
17 | # my $untouched = $1; | |
18 | # my $sub = ""; | |
19 | # # Ignore recursive definitions of variables | |
20 | #- $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; | |
21 | #+ $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/; | |
22 | # | |
23 | # return SubstituteVariable ("$untouched$sub$rest"); | |
24 | # } | |
25 | --- intltool-0.51.0.orig/intltool-update.in 2015-03-09 02:39:54.000000000 +0100 | |
26 | +++ intltool-0.51.0.orig/intltool-update.in 2015-06-19 01:52:07.171228154 +0200 | |
27 | @@ -1062,7 +1062,7 @@ | |
28 | } | |
29 | } | |
30 | ||
31 | - if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) | |
32 | + if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/) | |
33 | { | |
34 | my $rest = $3; | |
35 | my $untouched = $1; | |
36 | @@ -1068,7 +1068,7 @@ | |
37 | my $untouched = $1; | |
38 | my $sub = ""; | |
39 | # Ignore recursive definitions of variables | |
40 | - $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; | |
41 | + $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/; | |
42 | ||
43 | return SubstituteVariable ("$untouched$sub$rest"); | |
44 | } | |
45 | @@ -1190,10 +1190,10 @@ | |
46 | $name =~ s/\(+$//g; | |
47 | $version =~ s/\(+$//g; | |
48 | ||
49 | - $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); | |
50 | - $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); | |
51 | - $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); | |
52 | - $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); | |
53 | + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); | |
54 | + $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); | |
55 | + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); | |
56 | + $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); | |
57 | } | |
58 | ||
59 | if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m) | |
60 | @@ -1219,11 +1219,11 @@ | |
61 | $version =~ s/\(+$//g; | |
62 | $bugurl =~ s/\(+$//g if (defined $bugurl); | |
63 | ||
64 | - $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); | |
65 | - $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); | |
66 | - $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); | |
67 | - $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); | |
68 | - $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/); | |
69 | + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/); | |
70 | + $varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/); | |
71 | + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/); | |
72 | + $varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/); | |
73 | + $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/); | |
74 | } | |
75 | ||
76 | # \s makes this not work, why? |