diff options
author | Andrei Horodniceanu <a.horodniceanu@proton.me> | 2024-09-11 19:27:31 +0300 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-09-11 19:53:33 +0100 |
commit | 3d29aec46e21a2ce66b39dc08ea8b559943520d2 (patch) | |
tree | adbadaeaa46b54e0d060016617daee2481c7a740 /dev-lang/perl | |
parent | sys-libs/glibc: fix invalid free in stdio for 2.40 (diff) | |
download | gentoo-3d29aec46e21a2ce66b39dc08ea8b559943520d2.tar.gz gentoo-3d29aec46e21a2ce66b39dc08ea8b559943520d2.tar.bz2 gentoo-3d29aec46e21a2ce66b39dc08ea8b559943520d2.zip |
dev-lang/perl: fix compilation in EPREFIX bootstrap
Closes: https://bugs.gentoo.org/939014
Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me>
Closes: https://github.com/gentoo/gentoo/pull/38568
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang/perl')
-rw-r--r-- | dev-lang/perl/files/perl-5.40.0-fix-compilation-in-eprefix-bug-939014.patch | 51 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.40.0.ebuild | 4 |
2 files changed, 55 insertions, 0 deletions
diff --git a/dev-lang/perl/files/perl-5.40.0-fix-compilation-in-eprefix-bug-939014.patch b/dev-lang/perl/files/perl-5.40.0-fix-compilation-in-eprefix-bug-939014.patch new file mode 100644 index 000000000000..3362947876b1 --- /dev/null +++ b/dev-lang/perl/files/perl-5.40.0-fix-compilation-in-eprefix-bug-939014.patch @@ -0,0 +1,51 @@ +https://bugs.gentoo.org/939014 +https://github.com/Perl/perl5/pull/22569 + +From bd0ab509f890a6638bd5033ef58526f8c74f7e4b Mon Sep 17 00:00:00 2001 +From: Andrei Horodniceanu <a.horodniceanu@proton.me> +Date: Wed, 4 Sep 2024 12:46:44 +0300 +Subject: [PATCH] locale.c: Fix compilation on platforms with only a C locale + +Signed-off-by: Andrei Horodniceanu <a.horodniceanu@proton.me> +--- a/AUTHORS ++++ b/AUTHORS +@@ -103,6 +103,7 @@ Andreas König <a.koenig@mind.de> + Andreas Marienborg <andreas.marienborg@gmail.com> + Andreas Schwab <schwab@suse.de> + Andreas Voegele <andreas@andreasvoegele.com> ++Andrei Horodniceanu <a.horodniceanu@proton.me> + Andrei Yelistratov <andrew@sundale.net> + Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru> + Andrew Bettison <andrewb@zip.com.au> +--- a/locale.c ++++ b/locale.c +@@ -8963,6 +8963,7 @@ Perl_init_i18nl10n(pTHX_ int printwarn) + * categories into our internal indices. */ + if (map_LC_ALL_position_to_index[0] == LC_ALL_INDEX_) { + ++# ifdef PERL_LC_ALL_CATEGORY_POSITIONS_INIT + /* Use this array, initialized by a config.h constant */ + int lc_all_category_positions[] = PERL_LC_ALL_CATEGORY_POSITIONS_INIT; + STATIC_ASSERT_STMT( C_ARRAY_LENGTH(lc_all_category_positions) +@@ -8975,6 +8976,21 @@ Perl_init_i18nl10n(pTHX_ int printwarn) + map_LC_ALL_position_to_index[i] = + get_category_index(lc_all_category_positions[i]); + } ++# else ++ /* It is possible for both PERL_LC_ALL_USES_NAME_VALUE_PAIRS and ++ * PERL_LC_ALL_CATEGORY_POSITIONS_INIT not to be defined, e.g. on ++ * systems with only a C locale during ./Configure. Assume that this ++ * can only happen as part of some sort of bootstrapping so allow ++ * compilation to succeed by ignoring correctness. ++ */ ++ for (unsigned int i = 0; ++ i < C_ARRAY_LENGTH(map_LC_ALL_position_to_index); ++ i++) ++ { ++ map_LC_ALL_position_to_index[i] = 0; ++ } ++# endif ++ + } + + LOCALE_UNLOCK; diff --git a/dev-lang/perl/perl-5.40.0.ebuild b/dev-lang/perl/perl-5.40.0.ebuild index cd9a0e1fd69e..92d162e038f9 100644 --- a/dev-lang/perl/perl-5.40.0.ebuild +++ b/dev-lang/perl/perl-5.40.0.ebuild @@ -81,6 +81,10 @@ PDEPEND=" ) " +PATCHES=( + "${FILESDIR}/${P}-fix-compilation-in-eprefix-bug-939014.patch" +) + # bug 390719, bug 523624 # virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker |