summary refs log tree commit diff
diff options
context:
space:
mode:
authorJosselin Poiret <dev@jpoiret.xyz>2023-04-25 18:18:30 +0200
committerAndreas Enge <andreas@enge.fr>2023-04-25 18:42:22 +0200
commit8c5ba69d6e9e4b1b9d6b5e9cd28859b19e8e180c (patch)
tree263cd610f99c2c460d15b460566fdc2865e5bcbe
parent74038cf66e3a8cdcd9d97a81d9176c3cdefdaaf7 (diff)
downloadguix-8c5ba69d6e9e4b1b9d6b5e9cd28859b19e8e180c.tar.gz
gnu: biber: Fix build with new Perl.
* gnu/packages/patches/biber-adapt-perl-5.36.patch: Backport patch from
upstream's 760e6e4ec08a3097f7e6136331541a7b8c1c9df7.
* gnu/packages/tex.scm (biber): Use it.
* gnu/local.mk (dist_patch_DATA): Register it.

Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/biber-adapt-perl-5.36.patch40
-rw-r--r--gnu/packages/tex.scm3
3 files changed, 43 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 66dd240ba9..a714734bca 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -944,6 +944,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/bsd-games-stdio.h.patch			\
   %D%/packages/patches/beancount-disable-googleapis-fonts.patch	\
   %D%/packages/patches/beignet-correct-file-names.patch		\
+  %D%/packages/patches/biber-adapt-perl-5.36.patch		\
   %D%/packages/patches/bidiv-update-fribidi.patch		\
   %D%/packages/patches/binutils-boot-2.20.1a.patch		\
   %D%/packages/patches/binutils-loongson-workaround.patch	\
diff --git a/gnu/packages/patches/biber-adapt-perl-5.36.patch b/gnu/packages/patches/biber-adapt-perl-5.36.patch
new file mode 100644
index 0000000000..895813c1f2
--- /dev/null
+++ b/gnu/packages/patches/biber-adapt-perl-5.36.patch
@@ -0,0 +1,40 @@
+From d9e961710074d266ad6bdf395c98868d91952088 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Wed, 25 May 2022 12:41:59 +0200
+Subject: [PATCH] Adapt to Perl 5.36
+
+A developmental release of Perl 5.36.0 fails to run tests with:
+
+    $ perl -Ilib t/basic-misc.t
+    1..72
+    Can't modify undef operator in scalar assignment at lib/Biber/Section.pm line 433, near "undef;"
+    Compilation failed in require at lib/Biber.pm line 24.
+    BEGIN failed--compilation aborted at lib/Biber.pm line 24.
+    Compilation failed in require at t/basic-misc.t line 11.
+    BEGIN failed--compilation aborted at t/basic-misc.t line 11.
+    # Looks like your test exited with 255 before it could output anything.
+
+This is because of a missing semicolon between commands in
+del_everykeys(). The new perl is more strict and raises a compile-time
+error:
+
+    $ perl -e '$a = undef $b = undef;'
+    Can't modify undef operator in scalar assignment at -e line 1, near "undef;"
+    Execution of -e aborted due to compilation errors.
+---
+ lib/Biber/Section.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Biber/Section.pm b/lib/Biber/Section.pm
+index 03ed69a51..a78942f57 100644
+--- a/lib/Biber/Section.pm
++++ b/lib/Biber/Section.pm
+@@ -429,7 +429,7 @@ sub add_everykey {
+ 
+ sub del_everykeys {
+   my $self = shift;
+-  $self->{everykey} = undef
++  $self->{everykey} = undef;
+   $self->{everykey_lc} = undef;
+   return;
+ }
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 79c791c89d..a2f1de4e35 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -8832,7 +8832,8 @@ values (strings, macros, or numbers) pasted together.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0586q8y1f2k23mvb02ccm3qsb35cwskafksixsjaih7a7xcf5gxx"))))
+                "0586q8y1f2k23mvb02ccm3qsb35cwskafksixsjaih7a7xcf5gxx"))
+              (patches (search-patches "biber-adapt-perl-5.36.patch"))))
     (build-system perl-build-system)
     (arguments
      `(#:phases