| 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 | |
| 26 | |
| 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?
|