package/libxcrypt: fix build with perl >= 5.38

perl 5.38 deprecated smartmatch (~~ and the given/when syntax).
Backport an upstream patch to drop uses of when.

Fixes:
- http://autobuild.buildroot.net/results/04c/04cf8d79fe8a58c3438e7be95ae781c9b2bef8a0/

Signed-off-by: Daniel Lang <dalang@gmx.at>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Daniel Lang 2023-08-29 22:15:11 +02:00 committed by Thomas Petazzoni
parent 04bc804630
commit 47b79476fb

View File

@ -0,0 +1,50 @@
From ce562f4d33dc090fcd8f6ea1af3ba32cdc2b3c9c Mon Sep 17 00:00:00 2001
From: Leon Timmermans <fawaka@gmail.com>
Date: Tue, 6 Jun 2023 17:03:57 +0200
Subject: [PATCH] Make BuildCommon.pm compatible with latest perl
It was previously using an experimental feature that has since been dropped.
This removes the use of that feature.
Upstream: https://github.com/besser82/libxcrypt/commit/ce562f4d33dc090fcd8f6ea1af3ba32cdc2b3c9c
Signed-off-by: Daniel Lang <dalang@gmx.at>
---
build-aux/scripts/BuildCommon.pm | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/build-aux/scripts/BuildCommon.pm b/build-aux/scripts/BuildCommon.pm
index 0e6f2a31..c38ba21b 100644
--- a/build-aux/scripts/BuildCommon.pm
+++ b/build-aux/scripts/BuildCommon.pm
@@ -11,7 +11,6 @@ use v5.14; # implicit use strict, use feature ':5.14'
use warnings FATAL => 'all';
use utf8;
use open qw(:utf8);
-no if $] >= 5.018, warnings => 'experimental::smartmatch';
no if $] >= 5.022, warnings => 'experimental::re_strict';
use if $] >= 5.022, re => 'strict';
@@ -519,19 +518,19 @@ sub parse_symver_args {
my $COMPAT_ABI;
local $_;
for (@args) {
- when (/^SYMVER_MIN=(.+)$/) {
+ if (/^SYMVER_MIN=(.+)$/) {
$usage_error->() if defined $SYMVER_MIN;
$SYMVER_MIN = $1;
}
- when (/^SYMVER_FLOOR=(.+)$/) {
+ elsif (/^SYMVER_FLOOR=(.+)$/) {
$usage_error->() if defined $SYMVER_FLOOR;
$SYMVER_FLOOR = $1;
}
- when (/^COMPAT_ABI=(.+)$/) {
+ elsif (/^COMPAT_ABI=(.+)$/) {
$usage_error->() if defined $COMPAT_ABI;
$COMPAT_ABI = $1;
}
- default {
+ else {
$usage_error->() if defined $map_in;
$map_in = $_;
}