guix/gnu/packages/patches/biber-adapt-perl-5.36.patch
Josselin Poiret 8c5ba69d6e
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>
2023-04-25 18:42:22 +02:00

40 lines
1.4 KiB
Diff

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;
}