* gnu/packages/patches/texinfo-perl-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/texinfo.scm (texinfo)[source](patches): New field.
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Fix compatibility with newer Perls.
 | 
						|
 | 
						|
The first patch is taken from upstream:
 | 
						|
https://svn.savannah.gnu.org/viewvc/texinfo?view=revision&revision=8008
 | 
						|
 | 
						|
The second gets rid of a deprecation warning that breaks some tests.
 | 
						|
Taken from Fedora: <https://bugzilla.redhat.com/show_bug.cgi?id=1590308>.
 | 
						|
 | 
						|
--- trunk/tp/Texinfo/Convert/XSParagraph/xspara.c	2017/04/30 14:57:26	7765
 | 
						|
+++ trunk/tp/Texinfo/Convert/XSParagraph/xspara.c	2018/07/13 15:39:29	8008
 | 
						|
@@ -248,6 +248,11 @@
 | 
						|
 
 | 
						|
   dTHX;
 | 
						|
 
 | 
						|
+#if PERL_VERSION > 27 || (PERL_VERSION == 27 && PERL_SUBVERSION > 8)
 | 
						|
+  /* needed due to thread-safe locale handling in newer perls */
 | 
						|
+  switch_to_global_locale();
 | 
						|
+#endif
 | 
						|
+
 | 
						|
   if (setlocale (LC_CTYPE, "en_US.UTF-8")
 | 
						|
       || setlocale (LC_CTYPE, "en_US.utf8"))
 | 
						|
     goto success;
 | 
						|
@@ -320,6 +325,10 @@
 | 
						|
     {
 | 
						|
 success: ;
 | 
						|
       free (utf8_locale);
 | 
						|
+#if PERL_VERSION > 27 || (PERL_VERSION == 27 && PERL_SUBVERSION > 8)
 | 
						|
+      /* needed due to thread-safe locale handling in newer perls */
 | 
						|
+      sync_locale();
 | 
						|
+#endif
 | 
						|
       /*
 | 
						|
       fprintf (stderr, "tried to set LC_CTYPE to UTF-8.\n");
 | 
						|
       fprintf (stderr, "character encoding is: %s\n",
 | 
						|
 | 
						|
diff -up texinfo-6.5/tp/Texinfo/Parser.pm.orig texinfo-6.5/tp/Texinfo/Parser.pm
 | 
						|
--- texinfo-6.5/tp/Texinfo/Parser.pm.orig	2018-06-12 13:40:29.356030136 +0200
 | 
						|
+++ texinfo-6.5/tp/Texinfo/Parser.pm	2018-06-12 13:41:28.357725639 +0200
 | 
						|
@@ -5478,11 +5478,11 @@ sub _parse_special_misc_command($$$$)
 | 
						|
     }
 | 
						|
   } elsif ($command eq 'clickstyle') {
 | 
						|
     # REMACRO
 | 
						|
-    if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*/) {
 | 
						|
+    if ($line =~ /^\s+@([[:alnum:]][[:alnum:]\-]*)(\{})?\s*/) {
 | 
						|
       $args = ['@'.$1];
 | 
						|
       $self->{'clickstyle'} = $1;
 | 
						|
       $remaining = $line;
 | 
						|
-      $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)({})?\s*(\@(c|comment)((\@|\s+).*)?)?//;
 | 
						|
+      $remaining =~ s/^\s+@([[:alnum:]][[:alnum:]\-]*)(\{})?\s*(\@(c|comment)((\@|\s+).*)?)?//;
 | 
						|
       $has_comment = 1 if (defined($4));
 | 
						|
     } else {
 | 
						|
       $self->line_error (sprintf($self->__(
 |