From 581f1810c1c4de5aa687474af370cddf691a5c55773cb9abaa92852b3a2e1ebf Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Thu, 15 Mar 2018 08:56:40 +0000 Subject: [PATCH] Perl 5.30 and biber OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive?expand=0&rev=279 --- biber-perl-5.30.dif | 24 ++++++++++++++++++++++++ texlive.changes | 5 +++++ texlive.spec | 5 +++++ 3 files changed, 34 insertions(+) create mode 100644 biber-perl-5.30.dif diff --git a/biber-perl-5.30.dif b/biber-perl-5.30.dif new file mode 100644 index 0000000..2fe330c --- /dev/null +++ b/biber-perl-5.30.dif @@ -0,0 +1,24 @@ +Fun with Perl 5.30 + +--- + lib/Biber/LaTeX/Recode.pm | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- lib/Biber/LaTeX/Recode.pm ++++ lib/Biber/LaTeX/Recode.pm 2018-03-15 08:49:32.341586613 +0000 +@@ -312,9 +312,14 @@ sub latex_decode { + # + # Workaround perl's lack of variable-width negative look-behind - + # Reverse string (and therefore some of the Re) and use variable width negative look-ahead ++ # Careful here - reversing puts any combining chars before the char so \X can't be used + $text = reverse $text; +- $text =~ s/}(\pM+\pL){(?!\pL+\\)/$1/g; ++ $text =~ s/\}(\pM*\pL)\{(?!(?:\}[^}]+\{)*\pL+\\)/$1/g; + $text = reverse $text; ++ # Put brace markers back after doing the brace elimination as we only want to eliminate ++ # braces introduced as part of decoding, not explicit braces in the data ++ $text =~ s/\x{1f}/{/g; ++ $text =~ s/\x{1e}/}/g; + + # Replace verbatim field markers + $text =~ s/([a-f0-9]{32})/$saveverb->{$1}/gie; diff --git a/texlive.changes b/texlive.changes index 27ac3ef..ff14f67 100644 --- a/texlive.changes +++ b/texlive.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Mar 15 08:54:09 UTC 2018 - werner@suse.de + +- Avoid trouble with perl 5.30 and biber + ------------------------------------------------------------------- Thu Mar 15 07:29:33 UTC 2018 - werner@suse.de diff --git a/texlive.spec b/texlive.spec index 1f8c1eb..b602f33 100644 --- a/texlive.spec +++ b/texlive.spec @@ -259,6 +259,8 @@ Patch20: source-missed-scripts.dif Patch42: biblatex-encoding.dif # PATCH-FIX-SUSE Old problem back: we do not use internal Certs! Patch44: biber-certs.dif +# PATCH-FIX-SUSE Make biber work with perl 5.30 +Patch46: biber-perl-5.30.dif # PATCH-FIX-SUSE Make biber work with perl 5.18.2 Patch47: biber-perl-5.18.2.dif # PATCH-FIX-UPSTREAM texlive-20170524-source-poppler059-1.patch dimstar@opensuse.org -- Adapt to poppler 0.59 API changes @@ -3419,6 +3421,9 @@ pushd ../biblatex-biber-* /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . %patch42 -p0 -b .en %patch44 -p0 -b .noica +%if 0%{perl_versnum} >= 5300 +%patch46 -p0 -b .530 +%endif %if 0%{perl_versnum} < 5200 %patch47 -p0 -b .518 %endif