commit: f96b20bcc7e34a3eedd5c8b8f70728eb373cb2cd Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org> AuthorDate: Sat Jun 24 23:39:11 2023 +0000 Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org> CommitDate: Sat Jun 24 23:39:11 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f96b20bc
sys-libs/libxcrypt: Fix build with Perl 5.38 Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org> .../files/libxcrypt-4.4.35-smartmatch.patch | 62 ++++++++++++++++++++++ sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild | 4 ++ 2 files changed, 66 insertions(+) diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.35-smartmatch.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.35-smartmatch.patch new file mode 100644 index 000000000000..1956df921bdd --- /dev/null +++ b/sys-libs/libxcrypt/files/libxcrypt-4.4.35-smartmatch.patch @@ -0,0 +1,62 @@ +From 95d6e03ae37f4ec948474d111105bbdd2938aba2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <[email protected]> +Date: Sun, 25 Jun 2023 01:35:08 +0200 +Subject: [PATCH] Remove smartmatch usage from gen-crypt-h + +Needed for Perl 5.38 +--- + 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 12aecf6..b113b79 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; + } + } + +-- +2.39.3 + diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild index 331a6cc1c58c..69a9af2f77ba 100644 --- a/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild +++ b/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild @@ -55,6 +55,10 @@ BDEPEND=" test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') ) " +PATCHES=( + "${FILESDIR}/${P}-smartmatch.patch" +) + python_check_deps() { python_has_version "dev-python/passlib[${PYTHON_USEDEP}]" }
