From 7dd5233b5540a950bb25024d2d48de04f07995bc Mon Sep 17 00:00:00 2001 From: Daniel Lang Date: Thu, 31 Aug 2023 21:45:13 +0200 Subject: [PATCH] package/libxcrypt: fix another build issue with perl >= 5.38 perl 5.38 deprecated smartmatch (~~ and the given/when syntax). Backport another upstream patch to drop uses of given. Fixes: - http://autobuild.buildroot.net/results/727/727aa831881af36394bafef9e13a0dcbd9d0db3a Signed-off-by: Daniel Lang Signed-off-by: Thomas Petazzoni --- ...ve-smartmatch-usage-from-gen-crypt-h.patch | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch diff --git a/package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch b/package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch new file mode 100644 index 0000000000..444896b53f --- /dev/null +++ b/package/libxcrypt/0002-Remove-smartmatch-usage-from-gen-crypt-h.patch @@ -0,0 +1,61 @@ +From 95d6e03ae37f4ec948474d111105bbdd2938aba2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= +Date: Sun, 25 Jun 2023 01:35:08 +0200 +Subject: [PATCH] Remove smartmatch usage from gen-crypt-h + +Needed for Perl 5.38 + +Upstream: https://github.com/besser82/libxcrypt/commit/95d6e03ae37f4ec948474d111105bbdd2938aba2 +Signed-off-by: Daniel Lang +--- + build-aux/scripts/gen-crypt-h | 31 ++++++++++++++----------------- + 1 file changed, 14 insertions(+), 17 deletions(-) + +diff --git a/build-aux/scripts/gen-crypt-h b/build-aux/scripts/gen-crypt-h +index 12aecf6d..b113b791 100644 +--- a/build-aux/scripts/gen-crypt-h ++++ b/build-aux/scripts/gen-crypt-h +@@ -12,7 +12,6 @@ use v5.14; # implicit use strict, use feature ':5.14' + use warnings FATAL => 'all'; + use utf8; + use open qw(:std :utf8); +-no if $] >= 5.018, warnings => 'experimental::smartmatch'; + no if $] >= 5.022, warnings => 'experimental::re_strict'; + use if $] >= 5.022, re => 'strict'; + +@@ -37,22 +36,20 @@ sub process_config_h { + local $_; + while (<$fh>) { + chomp; +- # Yes, 'given $_' is really required here. +- given ($_) { +- when ('#define HAVE_SYS_CDEFS_H 1') { +- $have_sys_cdefs_h = 1; +- } +- when ('#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') { +- $have_sys_cdefs_begin_end_decls = 1; +- } +- when ('#define HAVE_SYS_CDEFS_THROW 1') { +- $have_sys_cdefs_throw = 1; +- } +- when (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) { +- $substs{XCRYPT_VERSION_STR} = $1; +- $substs{XCRYPT_VERSION_MAJOR} = $2; +- $substs{XCRYPT_VERSION_MINOR} = $3; +- } ++ ++ if ($_ eq '#define HAVE_SYS_CDEFS_H 1') { ++ $have_sys_cdefs_h = 1; ++ } ++ elsif ($_ eq '#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') { ++ $have_sys_cdefs_begin_end_decls = 1; ++ } ++ elsif ($_ eq '#define HAVE_SYS_CDEFS_THROW 1') { ++ $have_sys_cdefs_throw = 1; ++ } ++ elsif (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) { ++ $substs{XCRYPT_VERSION_STR} = $1; ++ $substs{XCRYPT_VERSION_MAJOR} = $2; ++ $substs{XCRYPT_VERSION_MINOR} = $3; + } + }