Merge #46075: texinfoInteractive: fix for new perl

This commit is contained in:
Vladimír Čunát 2018-09-06 09:09:44 +02:00
commit b5bd566172
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
3 changed files with 49 additions and 7 deletions

View file

@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
inherit sha256;
};
# TODO: fix on mass rebuild
${if interactive then "patches" else null} = optional (version == "6.5") ./perl.patch;
# We need a native compiler to build perl XS extensions
# when cross-compiling.
depsBuildBuild = [ buildPackages.stdenv.cc perl ];

View file

@ -0,0 +1,43 @@
Adapted from http://svn.savannah.gnu.org/viewvc/texinfo/
Author: gavin
--- trunk/tp/Texinfo/Parser.pm 2018-06-04 19:51:36 UTC (rev 8006)
+++ trunk/tp/Texinfo/Parser.pm 2018-07-13 15:31:28 UTC (rev 8007)
@@ -5531,11 +5531,11 @@
}
} 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->__(
--- trunk/tp/Texinfo/Convert/XSParagraph/xspara.c 2018-07-13 15:31:28 UTC (rev 8007)
+++ trunk/tp/Texinfo/Convert/XSParagraph/xspara.c 2018-07-13 15:39:29 UTC (rev 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",

View file

@ -8743,13 +8743,9 @@ with pkgs;
texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { };
texinfo6 = callPackage ../development/tools/misc/texinfo/6.5.nix { };
texinfo = texinfo6;
texinfoInteractive = appendToName "interactive" (texinfo.override {
interactive = true;
# doCheck = true -> some xlocale.h problem with perl 5.28.0
# (it's mistakenly trying to include the non-existent header)
perl = perl526;
buildPackages = buildPackages // { perl = buildPackages.perl526; };
});
texinfoInteractive = appendToName "interactive" (
texinfo.override { interactive = true; }
);
texi2html = callPackage ../development/tools/misc/texi2html { };