dev-lang/perl: update to perl-cross-1.6.3

Bug: https://bugs.gentoo.org/959686
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-12-04 11:36:14 +00:00
parent f61d96bdb6
commit 7314e67bda
3 changed files with 2 additions and 194 deletions

View File

@@ -6,4 +6,5 @@ DIST perl-5.42.0-patches-1.tar.xz 17108 BLAKE2B 0ac95f8c2665a087215dc896c3e00ccf
DIST perl-5.42.0.tar.xz 14400988 BLAKE2B 51c31bfd924e6fb4fca5e149986575cb9b455a40ae2a3e03935423612b34491c8382866ca2f3b1ea9cb6ed415f0c570c817612265335bff2603be721c145da61 SHA512 b10f74d1245a879ae51d3ad93ad519a148df126ec865715474c801548ccfc3f542ef3bbb1f59568cea2ec77302d428dc772aba605357d7faf13eb6a351917275
DIST perl-cross-1.6.1.tar.gz 124122 BLAKE2B b1b78b30f2cf8c5ba12e3df6177b7d102033c8eaceeea9f12a1aeb2bfdf97edda83842e32de797b7ffa3ef6bc66dfba6ccbbacc25367b6f7bc2d137ce58aca93 SHA512 35a4f7966f1f94ef0b6bfe7a82e8a50e0daf6e5e0c1ed99c7c4767aa4f0708db05e8cc01a883257f970703991f617a189609cd57eec63767e2e73de3d6155bdf
DIST perl-cross-1.6.2.tar.gz 123761 BLAKE2B c3c51d5a86940914c3a037d1cace49c6def531cdc380771f968461a3552c0200c8a802f4ff74ddb5fcd494ab1e1b582a4c1c5214be4faae8712fc506b19ca04f SHA512 51b45bf972304634d706d09e27d457636e43f9f27f739004eca529b21245ba78612dcb08b54225fc7ca19511983642c37915939ea8aa1c1a4560093474d9e76b
DIST perl-cross-1.6.3.tar.gz 121133 BLAKE2B 2362a53928230e13c607dd481e5614f80b210f7a5127cac05baa3daf69a263410d05eb50855f063b1bd7d4e3693d01369fdb512fb713c854beda2eece71844d1 SHA512 eb8aa2d57121ef288e253f9443bd4f53ad8b23152096265a0f8211ca4f2a61fdf3fdd03ca1e7d1e1c4a8a408421c7254cfaf12d1f81333aa4a0bf53d74cfa223
DIST perl-cross-1.6.tar.gz 121973 BLAKE2B b3a17d92dd7621a3bc253a6c4e56eccd3adec2c2b52e606c956a08f48d786a16a3ac5beb056a732ba3df92227f210193b0f516fd9d73cac362a04ec52efab029 SHA512 980af804513ec126e40eb9d8200ca54ba805bbb13b38d20a45daaf8d98d6b257e2eebc1ecad56cd47f60e235fa1141f6df9518d748db4f18d5219180750ca615

View File

@@ -1,191 +0,0 @@
https://github.com/arsv/perl-cross/pull/165
From add39339ed09334e6809b48b3f8474c01a7ea1a1 Mon Sep 17 00:00:00 2001
From: Pavlo Kleymonov <pkleymonov@blackberry.com>
Date: Fri, 5 Sep 2025 17:03:23 +0200
Subject: [PATCH] patches for perl-5.42.0
---
cnf/configure_func.sh | 1 +
cnf/diffs/perl5-5.42.0/constant.patch | 1 +
cnf/diffs/perl5-5.42.0/dynaloader.patch | 1 +
cnf/diffs/perl5-5.42.0/findext.patch | 1 +
cnf/diffs/perl5-5.42.0/installscripts.patch | 1 +
cnf/diffs/perl5-5.42.0/liblist.patch | 70 +++++++++++++++++++++
cnf/diffs/perl5-5.42.0/makemaker.patch | 1 +
cnf/diffs/perl5-5.42.0/posix-makefile.patch | 1 +
cnf/diffs/perl5-5.42.0/test-checkcase.patch | 1 +
cnf/diffs/perl5-5.42.0/test-makemaker.patch | 1 +
cnf/diffs/perl5-5.42.0/xconfig.patch | 1 +
11 files changed, 80 insertions(+)
create mode 120000 cnf/diffs/perl5-5.42.0/constant.patch
create mode 120000 cnf/diffs/perl5-5.42.0/dynaloader.patch
create mode 120000 cnf/diffs/perl5-5.42.0/findext.patch
create mode 120000 cnf/diffs/perl5-5.42.0/installscripts.patch
create mode 100644 cnf/diffs/perl5-5.42.0/liblist.patch
create mode 120000 cnf/diffs/perl5-5.42.0/makemaker.patch
create mode 120000 cnf/diffs/perl5-5.42.0/posix-makefile.patch
create mode 120000 cnf/diffs/perl5-5.42.0/test-checkcase.patch
create mode 120000 cnf/diffs/perl5-5.42.0/test-makemaker.patch
create mode 120000 cnf/diffs/perl5-5.42.0/xconfig.patch
diff --git a/cnf/configure_func.sh b/cnf/configure_func.sh
index 4c13e4c..20f9cdf 100644
--- a/cnf/configure_func.sh
+++ b/cnf/configure_func.sh
@@ -82,6 +82,7 @@ checkfunc d_fchmod 'fchmod' "0,0" 'unistd.h sys/stat.h'
checkfunc d_fchmodat 'fchmodat' "0,NULL,0,0" 'unistd.h sys/stat.h'
checkfunc d_fchown 'fchown' "0,0,0" 'unistd.h'
checkfunc d_fcntl 'fcntl' "0,0" 'unistd.h fcntl.h'
+checkfunc d_fdopendir 'fdopendir' "0" 'dirent.h sys/types.h'
checkfunc d_fdclose 'fdclose' "NULL,NULL" 'stdio.h'
checkfunc d_ffs 'ffs' "0" 'strings.h'
checkfunc d_ffsl 'ffsl' "0" 'strings.h'
diff --git a/cnf/diffs/perl5-5.42.0/constant.patch b/cnf/diffs/perl5-5.42.0/constant.patch
new file mode 120000
index 0000000..065e198
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/constant.patch
@@ -0,0 +1 @@
+../perl5-5.22.3/constant.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/dynaloader.patch b/cnf/diffs/perl5-5.42.0/dynaloader.patch
new file mode 120000
index 0000000..ffb73eb
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/dynaloader.patch
@@ -0,0 +1 @@
+../perl5-5.22.3/dynaloader.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/findext.patch b/cnf/diffs/perl5-5.42.0/findext.patch
new file mode 120000
index 0000000..9efbe5b
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/findext.patch
@@ -0,0 +1 @@
+../perl5-5.22.3/findext.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/installscripts.patch b/cnf/diffs/perl5-5.42.0/installscripts.patch
new file mode 120000
index 0000000..1c05e0f
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/installscripts.patch
@@ -0,0 +1 @@
+../perl5-5.36.0/installscripts.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/liblist.patch b/cnf/diffs/perl5-5.42.0/liblist.patch
new file mode 100644
index 0000000..1dae0bb
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/liblist.patch
@@ -0,0 +1,70 @@
+diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+index fbdc79aea2..976fd268aa 100644
+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
+@@ -20,9 +20,10 @@ use File::Basename;
+ use File::Spec;
+
+ sub ext {
+- if ( $^O eq 'VMS' ) { goto &_vms_ext; }
+- elsif ( $^O eq 'MSWin32' ) { goto &_win32_ext; }
+- else { goto &_unix_os2_ext; }
++ if ( $Config{usemmldlt} ){ goto &_ld_ext; }
++ elsif ( $^O eq 'VMS' ) { goto &_vms_ext; }
++ elsif ( $^O eq 'MSWin32' ) { goto &_win32_ext; }
++ else { goto &_unix_os2_ext; }
+ }
+
+ sub _space_dirs_split {
+@@ -643,4 +644,51 @@ sub _vms_ext {
+ wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib;
+ }
+
++# A direct test for -l validity.
++# Because guessing real file names for -llib options when dealing
++# with a cross compiler is generally a BAD IDEA^tm.
++sub _ld_ext {
++ my($self,$potential_libs, $verbose, $give_libs) = @_;
++ $verbose ||= 0;
++
++ if ($^O =~ 'os2' and $Config{perllibs}) {
++ # Dynamic libraries are not transitive, so we may need including
++ # the libraries linked against perl.dll again.
++
++ $potential_libs .= " " if $potential_libs;
++ $potential_libs .= $Config{perllibs};
++ }
++ return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
++ warn "Potential libraries are '$potential_libs':\n" if $verbose;
++
++ my($ld) = $Config{ld};
++ my($ldflags) = $Config{ldflags};
++ my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
++
++ my $try = 'try_mm.c';
++ my $tryx = 'try_mm.x';
++ open(TRY, '>', $try) || die "Can't create MakeMaker test file $try: $!\n";
++ print TRY "int main(void) { return 0; }\n";
++ close(TRY);
++
++ my $testlibs = '';
++ my @testlibs = ();
++ foreach my $thislib (split ' ', $potential_libs) {
++ $testlibs = join(' ', @testlibs);
++ if($thislib =~ /^-L/) {
++ push(@testlibs, $thislib);
++ next
++ };
++ my $cmd = "$ld $ldflags -o $tryx $try $testlibs $thislib >/dev/null 2>&1";
++ my $ret = system($cmd);
++ warn "Warning (mostly harmless): " . "No library found for $thislib\n" if $ret;
++ next if $ret;
++ push @testlibs, $thislib;
++ }
++ unlink($try);
++ unlink($tryx);
++
++ return (join(' ', @testlibs), '', join(' ', @testlibs), '');
++}
++
+ 1;
diff --git a/cnf/diffs/perl5-5.42.0/makemaker.patch b/cnf/diffs/perl5-5.42.0/makemaker.patch
new file mode 120000
index 0000000..d7bd609
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/makemaker.patch
@@ -0,0 +1 @@
+../perl5-5.38.0/makemaker.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/posix-makefile.patch b/cnf/diffs/perl5-5.42.0/posix-makefile.patch
new file mode 120000
index 0000000..29463b7
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/posix-makefile.patch
@@ -0,0 +1 @@
+../perl5-5.22.3/posix-makefile.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/test-checkcase.patch b/cnf/diffs/perl5-5.42.0/test-checkcase.patch
new file mode 120000
index 0000000..36c5186
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/test-checkcase.patch
@@ -0,0 +1 @@
+../perl5-5.22.3/test-checkcase.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/test-makemaker.patch b/cnf/diffs/perl5-5.42.0/test-makemaker.patch
new file mode 120000
index 0000000..4e970ff
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/test-makemaker.patch
@@ -0,0 +1 @@
+../perl5-5.34.0/test-makemaker.patch
\ No newline at end of file
diff --git a/cnf/diffs/perl5-5.42.0/xconfig.patch b/cnf/diffs/perl5-5.42.0/xconfig.patch
new file mode 120000
index 0000000..1c22c96
--- /dev/null
+++ b/cnf/diffs/perl5-5.42.0/xconfig.patch
@@ -0,0 +1 @@
+../perl5-5.41.3/xconfig.patch
\ No newline at end of file

View File

@@ -6,7 +6,7 @@ EAPI=8
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
PATCH_VER=1
CROSS_VER=1.6.2
CROSS_VER=1.6.3
PATCH_BASE="perl-5.42.0-patches-${PATCH_VER}"
PATCH_DEV=dilfridge
@@ -276,8 +276,6 @@ src_prepare_perlcross() {
# bug 794463, needs further analysis what is exactly wrong here
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
# bug 959686, rebase via upstream PR (no 5.42.0 release)
eapply "${FILESDIR}/perl-5.42.0-cross-rebase.patch"
# bug 604072
MAKEOPTS+=" -j1"