pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/perl5
Module Name: pkgsrc
Committed By: wiz
Date: Sat May 31 19:22:30 UTC 2025
Modified Files:
pkgsrc/lang/perl5: Makefile distinfo
pkgsrc/lang/perl5/patches: patch-Configure
patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm
Added Files:
pkgsrc/lang/perl5/patches: patch-Cross_config.sh-arm-linux
patch-Cross_config.sh-arm-linux-n770 patch-Porting_Glossary
patch-Porting_config.sh patch-config__h.SH patch-configure.com
patch-plan9_config__sh.sample patch-sv.c patch-t_op_threads-dirh.t
patch-win32_config.gc patch-win32_config.vc
Log Message:
perl: fix CVE-2025-40909 using upstream patch
Bump PKGREVISION.
To generate a diff of this commit:
cvs rdiff -u -r1.287 -r1.288 pkgsrc/lang/perl5/Makefile
cvs rdiff -u -r1.191 -r1.192 pkgsrc/lang/perl5/distinfo
cvs rdiff -u -r1.15 -r1.16 pkgsrc/lang/perl5/patches/patch-Configure
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux \
pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux-n770 \
pkgsrc/lang/perl5/patches/patch-Porting_Glossary \
pkgsrc/lang/perl5/patches/patch-Porting_config.sh \
pkgsrc/lang/perl5/patches/patch-config__h.SH \
pkgsrc/lang/perl5/patches/patch-configure.com \
pkgsrc/lang/perl5/patches/patch-plan9_config__sh.sample \
pkgsrc/lang/perl5/patches/patch-sv.c \
pkgsrc/lang/perl5/patches/patch-t_op_threads-dirh.t \
pkgsrc/lang/perl5/patches/patch-win32_config.gc \
pkgsrc/lang/perl5/patches/patch-win32_config.vc
cvs rdiff -u -r1.4 -r1.5 \
pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/perl5/Makefile
diff -u pkgsrc/lang/perl5/Makefile:1.287 pkgsrc/lang/perl5/Makefile:1.288
--- pkgsrc/lang/perl5/Makefile:1.287 Mon Apr 21 20:55:34 2025
+++ pkgsrc/lang/perl5/Makefile Sat May 31 19:22:30 2025
@@ -1,5 +1,6 @@
-# $NetBSD: Makefile,v 1.287 2025/04/21 20:55:34 wiz Exp $
+# $NetBSD: Makefile,v 1.288 2025/05/31 19:22:30 wiz Exp $
+PKGREVISION= 1
.include "license.mk"
.include "Makefile.common"
@@ -60,6 +61,14 @@ CONFIGURE_ARGS.SunOS+= -Aundef:csh
# porting/customized.t
# porting/regen.t
# https://github.com/Perl/perl5/issues/22751
+# As of 5.40.2
+# without network
+# Failed 5 tests out of 2732, 99.82% okay.
+# ../cpan/HTTP-Tiny/t/003_agent.t
+# ../cpan/HTTP-Tiny/t/004_timeout.t
+# ../cpan/HTTP-Tiny/t/070_cookie_jar.t
+# ../cpan/HTTP-Tiny/t/141_no_proxy.t
+# ../cpan/HTTP-Tiny/t/180_verify_SSL.t
TEST_TARGET= test
# Policy.sh generation
Index: pkgsrc/lang/perl5/distinfo
diff -u pkgsrc/lang/perl5/distinfo:1.191 pkgsrc/lang/perl5/distinfo:1.192
--- pkgsrc/lang/perl5/distinfo:1.191 Mon Apr 21 20:55:52 2025
+++ pkgsrc/lang/perl5/distinfo Sat May 31 19:22:30 2025
@@ -1,16 +1,27 @@
-$NetBSD: distinfo,v 1.191 2025/04/21 20:55:52 wiz Exp $
+$NetBSD: distinfo,v 1.192 2025/05/31 19:22:30 wiz Exp $
BLAKE2s (perl-5.40.2.tar.xz) = 0d924b3c48afb28b02dee7e250ee79f6c1993333e34d4cee5de16476f81fd224
SHA512 (perl-5.40.2.tar.xz) = 1324b119e4370bbeb47a343d152f46c637addb0373ff07f0e214aa9d5912c03cd2bd23987a6e86d43453166412d3a03a52e780201941f679ef4186df16590e41
Size (perl-5.40.2.tar.xz) = 13923524 bytes
-SHA1 (patch-Configure) = a62af03f737562a04726cd2c65be64700e541014
+SHA1 (patch-Configure) = 5de452d2348d2a17d5f7be64211b9d2834aaae99
+SHA1 (patch-Cross_config.sh-arm-linux) = a22381c088bcdcc6954b5859f83bb64ce252a025
+SHA1 (patch-Cross_config.sh-arm-linux-n770) = 3479782761ba6bd4b9907cfde07fcb17565836ba
SHA1 (patch-Makefile.SH) = 56203aea57c429a94760f039a978463b8859b0a9
+SHA1 (patch-Porting_Glossary) = 736e6e6123987b07346e4117e980b093991d713e
+SHA1 (patch-Porting_config.sh) = 8a5fce893bac7d3a8d47b5686d13285f454b89fa
SHA1 (patch-builtin.c) = 7ac5821ab3f4c9ae29d2cbe9db0407560aee2328
+SHA1 (patch-config__h.SH) = 10944c38327b94df493191c267b4f3f02c0935c8
+SHA1 (patch-configure.com) = ffbd4167e99aa860bbf6adedab3192b881c520e3
SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__BeOS.pm) = 79e5aeccfa272ca5ec08bffc616d8053ae90ac51
-SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm) = bdd4402a9b00ea508bf003c0722091046d514188
+SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm) = 996556f221eb0c75c316315462bf6cea6746e030
SHA1 (patch-cpan_ExtUtils-MakeMaker_t_MM__BeOS.t) = 9b0e7ab85fdab4887b1754599a8879bd7d9f36cc
SHA1 (patch-hints_cygwin.sh) = 5e2e7179336c9bc085bd2e83d22755a235ea1a4a
SHA1 (patch-hints_linux.sh) = 4baa8f80695687abb53d4f4e1830cf86db5b2bf7
SHA1 (patch-hints_netbsd.sh) = cb498170c18f1f429eed9be245cd1df24c7ad628
SHA1 (patch-hints_solaris__2.sh) = 83b20650435ea3b62314af6059f3d82c3dd6b0a2
SHA1 (patch-installperl) = b129d64cc17b898b44fe6282b8b1df36e342d0ef
+SHA1 (patch-plan9_config__sh.sample) = 340f5003ed06a8e793ac04abc58d42682f7ab7cc
+SHA1 (patch-sv.c) = 4415fb2125ef184a602ecc340fe64593546181b2
+SHA1 (patch-t_op_threads-dirh.t) = 3ab19d1fc589359a985576a5150c9368aa6520d9
+SHA1 (patch-win32_config.gc) = f339383a574567744d5dfd1ccb91ab9830b5934a
+SHA1 (patch-win32_config.vc) = 3dca3228225f46e2361293f53735b9fec1e2684a
Index: pkgsrc/lang/perl5/patches/patch-Configure
diff -u pkgsrc/lang/perl5/patches/patch-Configure:1.15 pkgsrc/lang/perl5/patches/patch-Configure:1.16
--- pkgsrc/lang/perl5/patches/patch-Configure:1.15 Mon Apr 21 20:55:52 2025
+++ pkgsrc/lang/perl5/patches/patch-Configure Sat May 31 19:22:30 2025
@@ -1,4 +1,4 @@
-$NetBSD: patch-Configure,v 1.15 2025/04/21 20:55:52 wiz Exp $
+$NetBSD: patch-Configure,v 1.16 2025/05/31 19:22:30 wiz Exp $
* Use "uname -r" to get OS version for *BSD.
* Move $loclibpth to the end of $dlist, instead of the beginning.
@@ -6,10 +6,19 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
* Add Minix
* Several other changes.
* Add rpath for QNX
+* https://github.com/Perl/perl5/issues/23010
---- Configure.orig 2022-12-20 12:11:59.000000000 +0000
+--- Configure.orig 2025-03-30 10:35:38.000000000 +0000
+++ Configure
-@@ -3515,7 +3515,8 @@ EOM
+@@ -478,6 +478,7 @@ d_fd_set=''
+ d_fds_bits=''
+ d_fdclose=''
+ d_fdim=''
++d_fdopendir=''
+ d_fegetround=''
+ d_ffs=''
+ d_ffsl=''
+@@ -3525,7 +3526,8 @@ EOM
osvers=`echo "$4"|sed 's/^v//'`
;;
freebsd) osname=freebsd
@@ -19,7 +28,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
-@@ -3537,11 +3538,11 @@ EOM
+@@ -3547,11 +3549,11 @@ EOM
;;
MiNT) osname=mint
;;
@@ -33,7 +42,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
;;
news-os) osvers="$3"
case "$3" in
-@@ -3551,7 +3552,7 @@ EOM
+@@ -3561,7 +3563,7 @@ EOM
;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@@ -42,7 +51,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
;;
os2) osname=os2
osvers="$4"
-@@ -3566,6 +3567,9 @@ EOM
+@@ -3576,6 +3578,9 @@ EOM
qnx) osname=qnx
osvers="$4"
;;
@@ -52,7 +61,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
solaris) osname=solaris
case "$3" in
5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;;
-@@ -4943,7 +4947,7 @@ esac
+@@ -4953,7 +4958,7 @@ esac
# If using gcc or clang, we can get better values for libpth, incpth
# and usrinc directly from the compiler.
# Note that ccname for clang is also gcc.
@@ -61,7 +70,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
gcc)
realpath=`which realpath 2>/dev/null | sed 's/no realpath in.*//'`
$echo 'extern int foo;' > try.c
-@@ -5027,14 +5031,14 @@ case "$plibpth" in
+@@ -5037,14 +5042,14 @@ case "$plibpth" in
esac
case "$libpth" in
' ') dlist='';;
@@ -78,7 +87,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
case " $libpth " in
*" $xxx "*) ;;
*) libpth="$libpth $xxx";;
-@@ -5150,7 +5154,7 @@ lib_ext=$_a
+@@ -5160,7 +5165,7 @@ lib_ext=$_a
obj_ext=$_o
path_sep=$p_
@@ -87,7 +96,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
: Which makefile gets called first. This is used by make depend.
case "$firstmakefile" in
-@@ -5493,7 +5497,7 @@ default|recommended)
+@@ -5480,7 +5485,7 @@ default|recommended)
*-fno-stack-protector*)
echo "Do not add -fstack-protector nor -fstack-protector-strong" 2>&1
;;
@@ -96,7 +105,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
?*) set stack-protector-strong -fstack-protector-strong
eval $checkccflag
case "$dflt" in
-@@ -6476,6 +6480,15 @@ case "$nm_so_opt" in
+@@ -6464,6 +6469,15 @@ case "$nm_so_opt" in
;;
esac
@@ -112,7 +121,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
: Figure out where the libc is located
case "$runnm" in
true)
-@@ -7656,7 +7669,9 @@ rp='Pathname for the site-specific libra
+@@ -7665,7 +7679,9 @@ rp='Pathname for the site-specific libra
. ./getfile
prefixvar=sitelib
. ./setprefixvar
@@ -123,7 +132,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
: Determine list of previous versions to include in @INC
$cat > getverlist <<EOPL
-@@ -8069,7 +8084,9 @@ case "$vendorprefix" in
+@@ -8022,7 +8038,9 @@ case "$vendorprefix" in
vendorlibexp="$ansexp"
;;
esac
@@ -134,7 +143,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
prefixvar=vendorlib
. ./installprefix
-@@ -8569,6 +8586,7 @@ EOM
+@@ -8522,6 +8540,7 @@ EOM
esac
;;
*linux*|irix*|gnu*) dflt="-shared $optimize" ;;
@@ -142,7 +151,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
solaris) # See [perl #66604].
# On Solaris 11, gcc -m64 on amd64
# appears not to understand -G. gcc versions at
-@@ -8608,7 +8626,7 @@ EOM
+@@ -8561,7 +8580,7 @@ EOM
esac
for thisflag in $ldflags; do
case "$thisflag" in
@@ -151,7 +160,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
case " $dflt " in
*" $thisflag "*) ;;
*) dflt="$dflt $thisflag" ;;
-@@ -8864,7 +8882,7 @@ if "$useshrplib"; then
+@@ -8817,7 +8836,7 @@ if "$useshrplib"; then
freebsd|minix|mirbsd|netbsd|openbsd|interix|dragonfly|bitrig)
xxx="-Wl,-R$shrpdir"
;;
@@ -160,7 +169,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
xxx="-Wl,-rpath,$shrpdir"
;;
hpux*)
-@@ -8874,6 +8892,9 @@ if "$useshrplib"; then
+@@ -8827,6 +8846,9 @@ if "$useshrplib"; then
cygwin)
# cygwin needs only ldlibpth
;;
@@ -170,7 +179,7 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
*)
tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
;;
-@@ -9948,6 +9969,13 @@ esac
+@@ -9901,6 +9923,13 @@ esac
: Check if we want perlio
useperlio="$define"
@@ -184,7 +193,18 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
: Set the vendorbin variables
case "$vendorprefix" in
'') d_vendorbin="$undef"
-@@ -20573,7 +20601,15 @@ RCAT(Rei,ser)
+@@ -13344,6 +13373,10 @@ esac
+ set i_fcntl
+ eval $setvar
+
++: see if fdopendir exists
++set fdopendir d_fdopendir
++eval $inlibc
++
+ : see if fork exists
+ set fork d_fork
+ eval $inlibc
+@@ -20825,7 +20858,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
@@ -201,3 +221,11 @@ $NetBSD: patch-Configure,v 1.15 2025/04/
echo "Oh! Smells like ANSI's been here." >&4
echo "We can catify or stringify, separately or together!"
cpp_stuff=42
+@@ -25047,6 +25088,7 @@ d_flockproto='$d_flockproto'
+ d_fma='$d_fma'
+ d_fmax='$d_fmax'
+ d_fmin='$d_fmin'
++d_fdopendir='$d_fdopendir'
+ d_fork='$d_fork'
+ d_fp_class='$d_fp_class'
+ d_fp_classify='$d_fp_classify'
Index: pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm
diff -u pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm:1.4 pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm:1.5
--- pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm:1.4 Mon Apr 21 20:55:34 2025
+++ pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm Sat May 31 19:22:30 2025
@@ -1,10 +1,10 @@
-$NetBSD: patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm,v 1.4 2025/04/21 20:55:34 wiz Exp $
+$NetBSD: patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm,v 1.5 2025/05/31 19:22:30 wiz Exp $
* Ignore installed packlist when creating new packlist.
--- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.orig 2021-05-13 17:40:25.661784701 +0900
+++ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 2021-05-13 17:40:29.734082886 +0900
-@@ -2351,7 +2349,7 @@ pure_vendor_install :: all
+@@ -2351,7 +2351,7 @@ pure_vendor_install :: all
$(NOECHO) $(MOD_INSTALL) \
};
push @m,
Added files:
Index: pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-Cross_config.sh-arm-linux,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- Cross/config.sh-arm-linux.orig 2025-03-30 10:35:38.000000000 +0000
++++ Cross/config.sh-arm-linux
+@@ -212,6 +212,7 @@ d_fd_macros='define'
+ d_fd_set='define'
+ d_fdclose='undef'
+ d_fdim='undef'
++d_fdopendir=undef
+ d_fds_bits='undef'
+ d_fegetround='define'
+ d_ffs='undef'
Index: pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux-n770
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux-n770:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-Cross_config.sh-arm-linux-n770 Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-Cross_config.sh-arm-linux-n770,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- Cross/config.sh-arm-linux-n770.orig 2025-03-30 10:35:38.000000000 +0000
++++ Cross/config.sh-arm-linux-n770
+@@ -211,6 +211,7 @@ d_fd_macros='define'
+ d_fd_set='define'
+ d_fdclose='undef'
+ d_fdim='undef'
++d_fdopendir=undef
+ d_fds_bits='undef'
+ d_fegetround='define'
+ d_ffs='undef'
Index: pkgsrc/lang/perl5/patches/patch-Porting_Glossary
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-Porting_Glossary:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-Porting_Glossary Sat May 31 19:22:30 2025
@@ -0,0 +1,19 @@
+$NetBSD: patch-Porting_Glossary,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- Porting/Glossary.orig 2025-03-30 10:35:38.000000000 +0000
++++ Porting/Glossary
+@@ -947,6 +947,11 @@ d_fmin (d_fmin.U):
+ This variable conditionally defines the HAS_FMIN symbol, which
+ indicates to the C program that the fmin() routine is available.
+
++d_fdopendir (d_fdopendir.U):
++ This variable conditionally defines the HAS_FORK symbol, which
++ indicates that the fdopen routine is available to open a
++ directory descriptor.
++
+ d_fork (d_fork.U):
+ This variable conditionally defines the HAS_FORK symbol, which
+ indicates to the C program that the fork() routine is available.
Index: pkgsrc/lang/perl5/patches/patch-Porting_config.sh
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-Porting_config.sh:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-Porting_config.sh Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-Porting_config.sh,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- Porting/config.sh.orig 2025-03-30 10:35:38.000000000 +0000
++++ Porting/config.sh
+@@ -223,6 +223,7 @@ d_fd_macros='define'
+ d_fd_set='define'
+ d_fdclose='undef'
+ d_fdim='define'
++d_fdopendir='define'
+ d_fds_bits='define'
+ d_fegetround='define'
+ d_ffs='define'
Index: pkgsrc/lang/perl5/patches/patch-config__h.SH
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-config__h.SH:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-config__h.SH Sat May 31 19:22:30 2025
@@ -0,0 +1,20 @@
+$NetBSD: patch-config__h.SH,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- config_h.SH.orig 2025-03-30 10:35:38.000000000 +0000
++++ config_h.SH
+@@ -142,6 +142,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und
+ */
+ #$d_fcntl HAS_FCNTL /**/
+
++/* HAS_FDOPENDIR:
++ * This symbol, if defined, indicates that the fdopen routine is
++ * available to open a directory descriptor.
++ */
++#$d_fdopendir HAS_FDOPENDIR /**/
++
+ /* HAS_FGETPOS:
+ * This symbol, if defined, indicates that the fgetpos routine is
+ * available to get the file position indicator, similar to ftell().
Index: pkgsrc/lang/perl5/patches/patch-configure.com
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-configure.com:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-configure.com Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-configure.com,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- configure.com.orig 2025-03-30 10:35:38.000000000 +0000
++++ configure.com
+@@ -6010,6 +6010,7 @@ $ WC "d_fd_set='" + d_fd_set + "'"
+ $ WC "d_fd_macros='define'"
+ $ WC "d_fdclose='undef'"
+ $ WC "d_fdim='" + d_fdim + "'"
++$ WC "d_fdopendir='undef'"
+ $ WC "d_fds_bits='define'"
+ $ WC "d_fegetround='undef'"
+ $ WC "d_ffs='undef'"
Index: pkgsrc/lang/perl5/patches/patch-plan9_config__sh.sample
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-plan9_config__sh.sample:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-plan9_config__sh.sample Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-plan9_config__sh.sample,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- plan9/config_sh.sample.orig 2025-03-30 10:35:51.000000000 +0000
++++ plan9/config_sh.sample
+@@ -212,6 +212,7 @@ d_fd_macros='undef'
+ d_fd_set='undef'
+ d_fdclose='undef'
+ d_fdim='undef'
++d_fdopendir=undef
+ d_fds_bits='undef'
+ d_fegetround='undef'
+ d_ffs='undef'
Index: pkgsrc/lang/perl5/patches/patch-sv.c
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-sv.c:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-sv.c Sat May 31 19:22:30 2025
@@ -0,0 +1,116 @@
+$NetBSD: patch-sv.c,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- sv.c.orig 2025-03-30 10:35:51.000000000 +0000
++++ sv.c
+@@ -14013,15 +14013,6 @@ Perl_dirp_dup(pTHX_ DIR *const dp, CLONE
+ {
+ DIR *ret;
+
+-#if defined(HAS_FCHDIR) && defined(HAS_TELLDIR) && defined(HAS_SEEKDIR)
+- DIR *pwd;
+- const Direntry_t *dirent;
+- char smallbuf[256]; /* XXX MAXPATHLEN, surely? */
+- char *name = NULL;
+- STRLEN len = 0;
+- long pos;
+-#endif
+-
+ PERL_UNUSED_CONTEXT;
+ PERL_ARGS_ASSERT_DIRP_DUP;
+
+@@ -14033,89 +14024,13 @@ Perl_dirp_dup(pTHX_ DIR *const dp, CLONE
+ if (ret)
+ return ret;
+
+-#if defined(HAS_FCHDIR) && defined(HAS_TELLDIR) && defined(HAS_SEEKDIR)
++#ifdef HAS_FDOPENDIR
+
+ PERL_UNUSED_ARG(param);
+
+- /* create anew */
+-
+- /* open the current directory (so we can switch back) */
+- if (!(pwd = PerlDir_open("."))) return (DIR *)NULL;
+-
+- /* chdir to our dir handle and open the present working directory */
+- if (fchdir(my_dirfd(dp)) < 0 || !(ret = PerlDir_open("."))) {
+- PerlDir_close(pwd);
+- return (DIR *)NULL;
+- }
+- /* Now we should have two dir handles pointing to the same dir. */
+-
+- /* Be nice to the calling code and chdir back to where we were. */
+- /* XXX If this fails, then what? */
+- PERL_UNUSED_RESULT(fchdir(my_dirfd(pwd)));
+-
+- /* We have no need of the pwd handle any more. */
+- PerlDir_close(pwd);
+-
+-#ifdef DIRNAMLEN
+-# define d_namlen(d) (d)->d_namlen
+-#else
+-# define d_namlen(d) strlen((d)->d_name)
+-#endif
+- /* Iterate once through dp, to get the file name at the current posi-
+- tion. Then step back. */
+- pos = PerlDir_tell(dp);
+- if ((dirent = PerlDir_read(dp))) {
+- len = d_namlen(dirent);
+- if (len > sizeof(dirent->d_name) && sizeof(dirent->d_name) > PTRSIZE) {
+- /* If the len is somehow magically longer than the
+- * maximum length of the directory entry, even though
+- * we could fit it in a buffer, we could not copy it
+- * from the dirent. Bail out. */
+- PerlDir_close(ret);
+- return (DIR*)NULL;
+- }
+- if (len <= sizeof smallbuf) name = smallbuf;
+- else Newx(name, len, char);
+- Move(dirent->d_name, name, len, char);
+- }
+- PerlDir_seek(dp, pos);
+-
+- /* Iterate through the new dir handle, till we find a file with the
+- right name. */
+- if (!dirent) /* just before the end */
+- for(;;) {
+- pos = PerlDir_tell(ret);
+- if (PerlDir_read(ret)) continue; /* not there yet */
+- PerlDir_seek(ret, pos); /* step back */
+- break;
+- }
+- else {
+- const long pos0 = PerlDir_tell(ret);
+- for(;;) {
+- pos = PerlDir_tell(ret);
+- if ((dirent = PerlDir_read(ret))) {
+- if (len == (STRLEN)d_namlen(dirent)
+- && memEQ(name, dirent->d_name, len)) {
+- /* found it */
+- PerlDir_seek(ret, pos); /* step back */
+- break;
+- }
+- /* else we are not there yet; keep iterating */
+- }
+- else { /* This is not meant to happen. The best we can do is
+- reset the iterator to the beginning. */
+- PerlDir_seek(ret, pos0);
+- break;
+- }
+- }
+- }
+-#undef d_namlen
+-
+- if (name && name != smallbuf)
+- Safefree(name);
+-#endif
++ ret = fdopendir(dup(my_dirfd(dp)));
+
+-#ifdef WIN32
++#elif defined(WIN32)
+ ret = win32_dirp_dup(dp, param);
+ #endif
+
Index: pkgsrc/lang/perl5/patches/patch-t_op_threads-dirh.t
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-t_op_threads-dirh.t:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-t_op_threads-dirh.t Sat May 31 19:22:30 2025
@@ -0,0 +1,127 @@
+$NetBSD: patch-t_op_threads-dirh.t,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- t/op/threads-dirh.t.orig 2025-03-30 10:35:52.000000000 +0000
++++ t/op/threads-dirh.t
+@@ -13,16 +13,12 @@ BEGIN {
+ skip_all_if_miniperl("no dynamic loading on miniperl, no threads");
+ skip_all("runs out of memory on some EBCDIC") if $ENV{PERL_SKIP_BIG_MEM_TESTS};
+
+- plan(6);
++ plan(1);
+ }
+
+ use strict;
+ use warnings;
+ use threads;
+-use threads::shared;
+-use File::Path;
+-use File::Spec::Functions qw 'updir catdir';
+-use Cwd 'getcwd';
+
+ # Basic sanity check: make sure this does not crash
+ fresh_perl_is <<'# this is no comment', 'ok', {}, 'crash when duping dirh';
+@@ -31,101 +27,3 @@ fresh_perl_is <<'# this is no comment',
+ async{}->join for 1..2;
+ print "ok";
+ # this is no comment
+-
+-my $dir;
+-SKIP: {
+- skip "telldir or seekdir not defined on this platform", 5
+- if !$Config::Config{d_telldir} || !$Config::Config{d_seekdir};
+- my $skip = sub {
+- chdir($dir);
+- chdir updir;
+- skip $_[0], 5
+- };
+-
+- if(!$Config::Config{d_fchdir} && $^O ne "MSWin32") {
+- $::TODO = 'dir handle cloning currently requires fchdir on non-Windows platforms';
+- }
+-
+- my @w :shared; # warnings accumulator
+- local $SIG{__WARN__} = sub { push @w, $_[0] };
+-
+- $dir = catdir getcwd(), "thrext$$" . int rand() * 100000;
+-
+- rmtree($dir) if -d $dir;
+- mkdir($dir);
+-
+- # Create a dir structure like this:
+- # $dir
+- # |
+- # `- toberead
+- # |
+- # +---- thrit
+- # |
+- # +---- rile
+- # |
+- # `---- zor
+-
+- chdir($dir);
+- mkdir 'toberead';
+- chdir 'toberead';
+- {open my $fh, ">thrit" or &$skip("Cannot create file thrit")}
+- {open my $fh, ">rile" or &$skip("Cannot create file rile")}
+- {open my $fh, ">zor" or &$skip("Cannot create file zor")}
+- chdir updir;
+-
+- # Then test that dir iterators are cloned correctly.
+-
+- opendir my $toberead, 'toberead';
+- my $start_pos = telldir $toberead;
+- my @first_2 = (scalar readdir $toberead, scalar readdir $toberead);
+- my @from_thread = @{; async { [readdir $toberead ] } ->join };
+- my @from_main = readdir $toberead;
+- is join('-', sort @from_thread), join('-', sort @from_main),
+- 'dir iterator is copied from one thread to another';
+- like
+- join('-', "", sort(@first_2, @from_thread), ""),
+- qr/(?<!-rile)-rile-thrit-zor-(?!zor-)/i,
+- 'cloned iterator iterates exactly once over everything not already seen';
+-
+- seekdir $toberead, $start_pos;
+- readdir $toberead for 1 .. @first_2+@from_thread;
+- {
+- local $::TODO; # This always passes when dir handles are not cloned.
+- is
+- async { readdir $toberead // 'undef' } ->join, 'undef',
+- 'cloned dir iterator that points to the end of the directory'
+- ;
+- }
+-
+- # Make sure the cloning code can handle file names longer than 255 chars
+- SKIP: {
+- chdir 'toberead';
+- open my $fh,
+- ">floccipaucinihilopilification-"
+- . "pneumonoultramicroscopicsilicovolcanoconiosis-"
+- . "lopadotemachoselachogaleokranioleipsanodrimypotrimmatosilphiokarabo"
+- . "melitokatakechymenokichlepikossyphophattoperisteralektryonoptokephal"
+- . "liokinklopeleiolagoiosiraiobaphetraganopterygon"
+- or
+- chdir updir,
+- skip("OS does not support long file names (and I mean *long*)", 1);
+- chdir updir;
+- opendir my $dirh, "toberead";
+- my $test_name
+- = "dir iterators can be cloned when the next fn > 255 chars";
+- while() {
+- my $pos = telldir $dirh;
+- my $fn = readdir($dirh);
+- if(!defined $fn) { fail($test_name); last SKIP; }
+- if($fn =~ 'lagoio') {
+- seekdir $dirh, $pos;
+- last;
+- }
+- }
+- is length async { scalar readdir $dirh } ->join, 258, $test_name;
+- }
+-
+- is scalar @w, 0, 'no warnings during all that' or diag @w;
+- chdir updir;
+-}
+-rmtree($dir);
Index: pkgsrc/lang/perl5/patches/patch-win32_config.gc
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-win32_config.gc:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-win32_config.gc Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-win32_config.gc,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- win32/config.gc.orig 2025-03-30 10:35:54.000000000 +0000
++++ win32/config.gc
+@@ -199,6 +199,7 @@ d_fd_macros='define'
+ d_fd_set='define'
+ d_fdclose='undef'
+ d_fdim='undef'
++d_fdopendir='undef'
+ d_fds_bits='define'
+ d_fegetround='undef'
+ d_ffs='undef'
Index: pkgsrc/lang/perl5/patches/patch-win32_config.vc
diff -u /dev/null pkgsrc/lang/perl5/patches/patch-win32_config.vc:1.1
--- /dev/null Sat May 31 19:22:30 2025
+++ pkgsrc/lang/perl5/patches/patch-win32_config.vc Sat May 31 19:22:30 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-win32_config.vc,v 1.1 2025/05/31 19:22:30 wiz Exp $
+
+https://github.com/Perl/perl5/issues/23010
+https://github.com/Perl/perl5/commit/918bfff86ca8d6d4e4ec5b30994451e0bd74aba9.patch
+
+--- win32/config.vc.orig 2025-03-30 10:35:54.000000000 +0000
++++ win32/config.vc
+@@ -199,6 +199,7 @@ d_fd_macros='define'
+ d_fd_set='define'
+ d_fdclose='undef'
+ d_fdim='undef'
++d_fdopendir='undef'
+ d_fds_bits='define'
+ d_fegetround='undef'
+ d_ffs='undef'
Home |
Main Index |
Thread Index |
Old Index