From 162945d2a91899b637bbb9e163b406350de12906 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 30 Oct 2021 19:43:03 +0100 Subject: gentoo resync : 30.10.2021 --- dev-lang/perl/Manifest | 3 +- .../files/perl-5.34.0-fallback-getcwd-pwd.patch | 263 +++++++++++++++++++++ dev-lang/perl/perl-5.34.0-r5.ebuild | 6 + 3 files changed, 271 insertions(+), 1 deletion(-) create mode 100644 dev-lang/perl/files/perl-5.34.0-fallback-getcwd-pwd.patch (limited to 'dev-lang/perl') diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index fb17bb2ad7d7..6eb1aeb6f08a 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -1,8 +1,9 @@ AUX perl-5.34.0-crossfit.patch 388 BLAKE2B dda2f10732422857f1a3977b6aa6ec0536dffaa53658e23378083393a55cf283906ef8f41dde2eb83e0de4e5dfd6dcd06d6b236f0a91c44086172bcaf105396a SHA512 5da4dd913790bd125667851807da9e37dac9cda78cce18ecffb8780f42d30b65f46817633e65027f5438f1a39286139fcf961d4bc98caf70946152200c3e72ee +AUX perl-5.34.0-fallback-getcwd-pwd.patch 8158 BLAKE2B a6870b26dbfadb54c5ea4f075a4a5caad8d789853aade84ff434e5d994e9fdd82cdef6314a576b8cdb3a9948aa73aa650c1ff4656e9c8bca4fb58384396332b1 SHA512 fe778c2348da48006927b179d02d33489790f41afa079fabe6350853b2b2d8c168d0db7b81f1b6c988e3ac46d733326aab4aa4423a04d6380acf74eed91cfc5c AUX perl-5.34.0-gdbm-1.20.patch 1627 BLAKE2B 9cbe976f43134022aab2aca203ee6590af52ccf628fa240c00334b14f090d01959764cd7d495a39c59eb59cdf69b0e527900350450f9995d934769ee461aac33 SHA512 fc6481a6ccbef4a19a966453472bde0c5dd1ea321be2a9682eff009c7431e18043d2c75b26ef296232a5f4e310992fc8955d19aef439d9f30b42ba9e9c9d561e DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267 DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982 EBUILD perl-5.34.0-r3.ebuild 26141 BLAKE2B 9eb33f6777b266b9a617a06d14b89ec29ca7e3a0a3596d5955f1b5f9e10a05db45eb2883b782329317065f2e92fee4378e75faebcbf49ad83d13f7714d036dcd SHA512 f0a140c3536192d0198e54b7d2f7b2316eae2b065627fe96df8949d97e0e61c37406e0cac7c827a58002251235c2b21f75d5b32f4cdf874596e6ec0fcbbe7295 -EBUILD perl-5.34.0-r5.ebuild 25093 BLAKE2B 3ec9184119a91b8e3f7e10bc9c3431d78b569eb6622abc3c0c8e609c3ed2c18f28a342bd565345d051d165c64ba997317ccaf8437060991d7e73d682abc50220 SHA512 59513fa5ad2474dd6acb6ed14d0851caed67cafd374b629eaab0d8bc0ef4ded8acc1667fda15240aa096e00fa7be02e8f107f73765e9973b28c48be7a58dae50 +EBUILD perl-5.34.0-r5.ebuild 25333 BLAKE2B b4ba8ef137c8b63648044bdf958346cce5577391673a0deef33f5ed9a322847fac5bad647c031a1b11ce2c186e729aeb5e143c16464b0cb98d6a31aca04cc23f SHA512 0cb2560fab5060333a5306086d6a9a9b356dbdc579e7da3eeb091b229cc510be8196f8a94ae8bd6d791e59aeb009f4b1c8e7ee776c9f9dd0d93634a37a119fe9 MISC metadata.xml 431 BLAKE2B 89471506c7b258c1806338a5850ee9337f48b8e7497a3cad8b1e8bf18811152071d416732e0267e7d0c13386097990d1ca12bb0051deb7cb70403ab2e9bdb367 SHA512 87d2a0c6a10f71b243b1e9a79306ed0d440a7f447d84fe37f2bd3c40c60e8749fd9d7e97ad482e286153587b57d7db5d6a8df7cef94f332de7175f053dc843e1 diff --git a/dev-lang/perl/files/perl-5.34.0-fallback-getcwd-pwd.patch b/dev-lang/perl/files/perl-5.34.0-fallback-getcwd-pwd.patch new file mode 100644 index 000000000000..849a09a39a05 --- /dev/null +++ b/dev-lang/perl/files/perl-5.34.0-fallback-getcwd-pwd.patch @@ -0,0 +1,263 @@ +https://github.com/Perl/perl5/pull/18791 +https://github.com/Perl/perl5/issues/18703 +https://bugs.gentoo.org/818172 + +From: Tony Cook +Date: Tue, 4 May 2021 14:55:50 +1000 +Subject: [PATCH 1/4] remove code that assuming finding pwd on the path is + reasonable + +We deliberately clear PATH when invoking pwd, so this search is +useless. +--- + dist/PathTools/Cwd.pm | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm +index 6a1d2f17ee57..49c12885b32e 100644 +--- a/dist/PathTools/Cwd.pm ++++ b/dist/PathTools/Cwd.pm +@@ -213,20 +213,6 @@ sub _backtick_pwd { + # we take care not to override an existing definition for cwd(). + + unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) { +- # The pwd command is not available in some chroot(2)'ed environments +- my $sep = $Config::Config{path_sep} || ':'; +- my $os = $^O; # Protect $^O from tainting +- +- +- # Try again to find a pwd, this time searching the whole PATH. +- if (defined $ENV{PATH} and $os ne 'MSWin32') { # no pwd on Windows +- my @candidates = split($sep, $ENV{PATH}); +- while (!$found_pwd_cmd and @candidates) { +- my $candidate = shift @candidates; +- $found_pwd_cmd = 1 if -x "$candidate/pwd"; +- } +- } +- + if( $found_pwd_cmd ) + { + *cwd = \&_backtick_pwd; + +From e5378ea37c6c4910107975d8099c1d552af0c7b3 Mon Sep 17 00:00:00 2001 +From: Tony Cook +Date: Wed, 5 May 2021 10:12:31 +1000 +Subject: [PATCH 2/4] don't fallback to simple pwd + +When _backtick_pwd invokes $pwd_cmd it first clears the PATH, and since +the command has no shell metacharacters, it perl won't invoke the +shell, so it will always fail. + +An alternative here might be to use "/bin/sh -c pwd" but there's no +guarantee that pwd is available as a shell builtin. +--- + dist/PathTools/Cwd.pm | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm +index 49c12885b32e..fbe683e20b8a 100644 +--- a/dist/PathTools/Cwd.pm ++++ b/dist/PathTools/Cwd.pm +@@ -181,12 +181,6 @@ if ($^O =~ /android/) { + } + + my $found_pwd_cmd = defined($pwd_cmd); +-unless ($pwd_cmd) { +- # Isn't this wrong? _backtick_pwd() will fail if someone has +- # pwd in their path but it is not /bin/pwd or /usr/bin/pwd? +- # See [perl #16774]. --jhi +- $pwd_cmd = 'pwd'; +-} + + # Lazy-load Carp + sub _carp { require Carp; Carp::carp(@_) } + +From e14ffd3c21efe708a5fb5e25f29d61ccb6ee0a0a Mon Sep 17 00:00:00 2001 +From: Tony Cook +Date: Tue, 4 May 2021 15:04:25 +1000 +Subject: [PATCH 3/4] avoid a prototype warning assigning \&getcwd to *cwd + +This would produce a warning if we fallback to using getcwd() where +getcwd() has a prototype. +--- + dist/PathTools/Cwd.pm | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm +index fbe683e20b8a..b6dc0b798e8c 100644 +--- a/dist/PathTools/Cwd.pm ++++ b/dist/PathTools/Cwd.pm +@@ -212,7 +212,8 @@ unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) { + *cwd = \&_backtick_pwd; + } + else { +- *cwd = \&getcwd; ++ # getcwd() might have an empty prototype ++ *cwd = sub { getcwd(); }; + } + } + + +From e725e6ced4d2bbb6a5866992509c2ac3e995c228 Mon Sep 17 00:00:00 2001 +From: Tony Cook +Date: Wed, 12 May 2021 12:24:59 +1000 +Subject: [PATCH 4/4] bump PathTools to 3.81 + +--- + dist/PathTools/Cwd.pm | 2 +- + dist/PathTools/lib/File/Spec.pm | 2 +- + dist/PathTools/lib/File/Spec/AmigaOS.pm | 2 +- + dist/PathTools/lib/File/Spec/Cygwin.pm | 2 +- + dist/PathTools/lib/File/Spec/Epoc.pm | 2 +- + dist/PathTools/lib/File/Spec/Functions.pm | 2 +- + dist/PathTools/lib/File/Spec/Mac.pm | 2 +- + dist/PathTools/lib/File/Spec/OS2.pm | 2 +- + dist/PathTools/lib/File/Spec/Unix.pm | 2 +- + dist/PathTools/lib/File/Spec/VMS.pm | 2 +- + dist/PathTools/lib/File/Spec/Win32.pm | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm +index b6dc0b798e8c..4a9c786c1c3c 100644 +--- a/dist/PathTools/Cwd.pm ++++ b/dist/PathTools/Cwd.pm +@@ -3,7 +3,7 @@ use strict; + use Exporter; + + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + my $xs_version = $VERSION; + $VERSION =~ tr/_//d; + +diff --git a/dist/PathTools/lib/File/Spec.pm b/dist/PathTools/lib/File/Spec.pm +index 30d883b61b3e..fe738acf58bd 100644 +--- a/dist/PathTools/lib/File/Spec.pm ++++ b/dist/PathTools/lib/File/Spec.pm +@@ -2,7 +2,7 @@ package File::Spec; + + use strict; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + my %module = ( +diff --git a/dist/PathTools/lib/File/Spec/AmigaOS.pm b/dist/PathTools/lib/File/Spec/AmigaOS.pm +index fd9da81cdf5a..1398379ca57c 100644 +--- a/dist/PathTools/lib/File/Spec/AmigaOS.pm ++++ b/dist/PathTools/lib/File/Spec/AmigaOS.pm +@@ -3,7 +3,7 @@ package File::Spec::AmigaOS; + use strict; + require File::Spec::Unix; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + our @ISA = qw(File::Spec::Unix); +diff --git a/dist/PathTools/lib/File/Spec/Cygwin.pm b/dist/PathTools/lib/File/Spec/Cygwin.pm +index 953c23361a10..55d551ce0663 100644 +--- a/dist/PathTools/lib/File/Spec/Cygwin.pm ++++ b/dist/PathTools/lib/File/Spec/Cygwin.pm +@@ -3,7 +3,7 @@ package File::Spec::Cygwin; + use strict; + require File::Spec::Unix; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + our @ISA = qw(File::Spec::Unix); +diff --git a/dist/PathTools/lib/File/Spec/Epoc.pm b/dist/PathTools/lib/File/Spec/Epoc.pm +index fcb9e894e33c..4cde744231aa 100644 +--- a/dist/PathTools/lib/File/Spec/Epoc.pm ++++ b/dist/PathTools/lib/File/Spec/Epoc.pm +@@ -2,7 +2,7 @@ package File::Spec::Epoc; + + use strict; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + require File::Spec::Unix; +diff --git a/dist/PathTools/lib/File/Spec/Functions.pm b/dist/PathTools/lib/File/Spec/Functions.pm +index e14ad2f74538..4b3d7bbde130 100644 +--- a/dist/PathTools/lib/File/Spec/Functions.pm ++++ b/dist/PathTools/lib/File/Spec/Functions.pm +@@ -3,7 +3,7 @@ package File::Spec::Functions; + use File::Spec; + use strict; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + require Exporter; +diff --git a/dist/PathTools/lib/File/Spec/Mac.pm b/dist/PathTools/lib/File/Spec/Mac.pm +index 8026edcb1261..51d00a01f6f7 100644 +--- a/dist/PathTools/lib/File/Spec/Mac.pm ++++ b/dist/PathTools/lib/File/Spec/Mac.pm +@@ -4,7 +4,7 @@ use strict; + use Cwd (); + require File::Spec::Unix; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + our @ISA = qw(File::Spec::Unix); +diff --git a/dist/PathTools/lib/File/Spec/OS2.pm b/dist/PathTools/lib/File/Spec/OS2.pm +index 3c35ba99b48a..57d67ba01e93 100644 +--- a/dist/PathTools/lib/File/Spec/OS2.pm ++++ b/dist/PathTools/lib/File/Spec/OS2.pm +@@ -4,7 +4,7 @@ use strict; + use Cwd (); + require File::Spec::Unix; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + our @ISA = qw(File::Spec::Unix); +diff --git a/dist/PathTools/lib/File/Spec/Unix.pm b/dist/PathTools/lib/File/Spec/Unix.pm +index c06d18f46819..df98f580c3ea 100644 +--- a/dist/PathTools/lib/File/Spec/Unix.pm ++++ b/dist/PathTools/lib/File/Spec/Unix.pm +@@ -3,7 +3,7 @@ package File::Spec::Unix; + use strict; + use Cwd (); + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + =head1 NAME +diff --git a/dist/PathTools/lib/File/Spec/VMS.pm b/dist/PathTools/lib/File/Spec/VMS.pm +index 9b78c8b4bc6e..bbff3ad7d807 100644 +--- a/dist/PathTools/lib/File/Spec/VMS.pm ++++ b/dist/PathTools/lib/File/Spec/VMS.pm +@@ -4,7 +4,7 @@ use strict; + use Cwd (); + require File::Spec::Unix; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + our @ISA = qw(File::Spec::Unix); +diff --git a/dist/PathTools/lib/File/Spec/Win32.pm b/dist/PathTools/lib/File/Spec/Win32.pm +index 153744202338..b38419cdf1a6 100644 +--- a/dist/PathTools/lib/File/Spec/Win32.pm ++++ b/dist/PathTools/lib/File/Spec/Win32.pm +@@ -5,7 +5,7 @@ use strict; + use Cwd (); + require File::Spec::Unix; + +-our $VERSION = '3.80'; ++our $VERSION = '3.81'; + $VERSION =~ tr/_//d; + + our @ISA = qw(File::Spec::Unix); + diff --git a/dev-lang/perl/perl-5.34.0-r5.ebuild b/dev-lang/perl/perl-5.34.0-r5.ebuild index ba7a5964e287..e066689b21b8 100644 --- a/dev-lang/perl/perl-5.34.0-r5.ebuild +++ b/dev-lang/perl/perl-5.34.0-r5.ebuild @@ -393,6 +393,12 @@ src_prepare() { "Fix GDBM_File to compile with version 1.20 and earlier"\ "https://bugs.gentoo.org/802945" + if use prefix ; then + add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\ + "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\ + "https://bugs.gentoo.org/818172" + fi + if [[ ${CHOST} == *-solaris* ]] ; then # do NOT mess with nsl, on Solaris this is always necessary, # when -lsocket is used e.g. to get h_errno -- cgit v1.2.3