* gnu/packages/patches/intltool-perl-compatibility.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/glib.scm (intltool)[source]: Use it.
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| This patch fixes a regex parsing compatibility issue with Perl 5.26.0.
 | |
| It manifests during the configure phase of at-spi2-core like this:
 | |
| 
 | |
| ------
 | |
| 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.
 | |
| ------
 | |
| 
 | |
| Copied from Gentoo and MSYS2:
 | |
| 
 | |
| https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-util/intltool/files/intltool-0.51.0-perl-5.26.patch?id=1105187fc65d8bf643e682fcef39620dcfd9326a
 | |
| https://github.com/Alexpux/MSYS2-packages/blob/0d3f442553ae4fc8798e32cbf44c4252fa8f3c07/intltool/perl-5.22-compatibility.patch
 | |
| 
 | |
| #diff -ruN intltool-0.51.0.orig/intltool-update.in intltool-0.51.0/intltool-update.in
 | |
| #--- intltool-0.51.0.orig/intltool-update.in	2017-06-28 00:47:20.889269294 +0200
 | |
| #+++ intltool-0.51.0/intltool-update.in	2017-06-28 00:48:14.592271529 +0200
 | |
| #@@ -1068,7 +1068,7 @@
 | |
| # 	my $untouched = $1;
 | |
| # 	my $sub = "";
 | |
| #         # Ignore recursive definitions of variables
 | |
| #-        $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/;
 | |
| #+        $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/;
 | |
| # 
 | |
| # 	return SubstituteVariable ("$untouched$sub$rest");
 | |
| #     }
 | |
| --- intltool-0.51.0.orig/intltool-update.in	2015-03-09 02:39:54.000000000 +0100
 | |
| +++ intltool-0.51.0.orig/intltool-update.in	2015-06-19 01:52:07.171228154 +0200
 | |
| @@ -1062,7 +1062,7 @@ 
 | |
|  	}
 | |
|      }
 | |
|  
 | |
| -    if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/)
 | |
| +    if ($str =~ /^(.*)\$\{?([A-Z_]+)}?(.*)$/)
 | |
|      {
 | |
|  	my $rest = $3;
 | |
|  	my $untouched = $1;
 | |
| @@ -1068,7 +1068,7 @@
 | |
|  	my $untouched = $1;
 | |
|  	my $sub = "";
 | |
|          # Ignore recursive definitions of variables
 | |
| -        $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/;
 | |
| +        $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\$\{?$2}?/;
 | |
|  
 | |
|  	return SubstituteVariable ("$untouched$sub$rest");
 | |
|      }
 | |
| @@ -1190,10 +1190,10 @@ 
 | |
|  	$name    =~ s/\(+$//g;
 | |
|  	$version =~ s/\(+$//g;
 | |
|  
 | |
| -	$varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/);
 | |
| -	$varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/);
 | |
| -	$varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/);
 | |
| -	$varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/);
 | |
| +	$varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/);
 | |
| +	$varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/);
 | |
| +	$varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/);
 | |
| +	$varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/);
 | |
|      }
 | |
|  
 | |
|      if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m)
 | |
| @@ -1219,11 +1219,11 @@ 
 | |
|  	$version =~ s/\(+$//g;
 | |
|          $bugurl  =~ s/\(+$//g if (defined $bugurl);
 | |
|  
 | |
| -	$varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/);
 | |
| -	$varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/);
 | |
| -	$varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/);
 | |
| -	$varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/);
 | |
| -        $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/);
 | |
| +	$varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\$\{?AC_PACKAGE_NAME}?/);
 | |
| +	$varhash{"PACKAGE"} = $name if (not $name =~ /\$\{?PACKAGE}?/);
 | |
| +	$varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\$\{?AC_PACKAGE_VERSION}?/);
 | |
| +	$varhash{"VERSION"} = $version if (not $name =~ /\$\{?VERSION}?/);
 | |
| +        $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\$\{?\w+}?/);
 | |
|      }
 | |
|  
 | |
|      # \s makes this not work, why?
 |