perl: update to 5.34.0.

= Core Enhancements

= Experimental Try/Catch Syntax

An initial experimental attempt at providing C<try>/C<catch> notation has
been added.

    use feature 'try';

    try {
        a_function();
    }
    catch ($e) {
        warn "An error occurred: $e";
    }

For more information, see L<perlsyn/"Try Catch Exception Handling">.

= C<qr/{,n}/> is now accepted

An empty lower bound is now accepted for regular expression quantifiers,
like C<{,3}>.

= Blanks freely allowed within but adjacent to curly braces

(in double-quotish contexts and regular expression patterns)

This means you can write things like S<C<\x{ FFFC }>> if you like.  This
applies to all such constructs, namely C<\b{}>, C<\g{}>, C<\k{}>,
C<\N{}>, C<\o{}>, and C<\x{}>; as well as the regular expression
quantifier C<{I<m>,I<n>}>.  C<\p{}> and C<\P{}> retain their
already-existing, even looser, rules mandated by the Unicode standard
(see L<perluniprops/Properties accessible through \p{} and \P{}>).

This ability is in effect regardless of the presence of the C</x>
regular expression pattern modifier.

Additionally, the comma in a regular expression braced quantifier may
have blanks (tabs or spaces) before and/or after the comma, like
S<C<qr/a{ 5, 7 }/>>.

= New octal syntax C<0oI<ddddd>>

It is now possible to specify octal literals with C<0o> prefixes,
as in C<0o123_456>, parallel to the existing construct to specify
hexadecimal literal C<0xI<ddddd>> and binary literal C<0bI<ddddd>>.
Also, the builtin C<oct()> function now accepts this new syntax.

See L<perldata/Scalar value constructors> and L<perlfunc/oct EXPR>.

= Performance Enhancements

=item *

Fix a memory leak in RegEx
[L<GH #18604|https://github.com/Perl/perl5/issues/18604>]

= Modules and Pragmata

= New Modules and Pragmata

=item *

L<ExtUtils::PL2Bat> 0.004 has been added to the Perl core.

This module is a generalization of the C<pl2bat> script. It being a script has
led to at least two forks of this code; this module will unify them under one
implementation with tests.

(and lots more changes)
This commit is contained in:
wiz 2021-05-24 17:46:25 +00:00
parent d4df499aa3
commit 83f7126a09
7 changed files with 51 additions and 84 deletions

View file

@ -1,9 +1,9 @@
# $NetBSD: Makefile.common,v 1.42 2021/01/25 09:33:19 wiz Exp $
# $NetBSD: Makefile.common,v 1.43 2021/05/24 17:46:25 wiz Exp $
#
# used by lang/perl5/Makefile
# used by databases/p5-gdbm/Makefile
DISTNAME= perl-5.32.1
DISTNAME= perl-5.34.0
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/5.0/,}
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}

View file

@ -1,4 +1,4 @@
# $NetBSD: buildlink3.mk,v 1.69 2020/08/31 20:04:45 wiz Exp $
# $NetBSD: buildlink3.mk,v 1.70 2021/05/24 17:46:25 wiz Exp $
BUILDLINK_TREE+= perl
@ -6,13 +6,13 @@ BUILDLINK_TREE+= perl
PERL_BUILDLINK3_MK:=
.include "../../mk/bsd.fast.prefs.mk"
PERL5_REQD+= 5.32.0
PERL5_REQD+= 5.34.0
.for _perl5_ver_ in ${PERL5_REQD}
BUILDLINK_API_DEPENDS.perl+= perl>=${_perl5_ver_}
.endfor
# Prevent p5-* etc. packages built for 5.32.0 to be used
# Prevent p5-* etc. packages built for 5.34.0 to be used
# with the next incompatible version of perl:
BUILDLINK_API_DEPENDS.perl+= perl<5.34.0
BUILDLINK_API_DEPENDS.perl+= perl<5.36.0
BUILDLINK_PKGSRCDIR.perl?= ../../lang/perl5

View file

@ -1,18 +1,16 @@
$NetBSD: distinfo,v 1.169 2021/03/15 14:23:12 ryoon Exp $
$NetBSD: distinfo,v 1.170 2021/05/24 17:46:25 wiz Exp $
SHA1 (perl-5.32.1.tar.xz) = 1fb4f710d139da1e1a3e1fa4eaba201fcaa8e18e
RMD160 (perl-5.32.1.tar.xz) = ad9013fa389e3e73940c90b7d4ffd542a0cafc70
SHA512 (perl-5.32.1.tar.xz) = 3443c75aea91f0fe3712fee576239f1946d2301b8f7390b690e2f5d070fe71af8f9fa7769e42086c2d33d5f84370f80368fa9350b4f10cc0ac3e6c1f6209d8f9
Size (perl-5.32.1.tar.xz) = 12610988 bytes
SHA1 (patch-Configure) = 5a27e10c3d5b4bb8e514480808b6f2fb009ceeb0
SHA1 (perl-5.34.0.tar.xz) = d461e206a1dca5e79d39e77debf0b564f6d77d37
RMD160 (perl-5.34.0.tar.xz) = ea671a6789db48db0036f763b5068db67be951d0
SHA512 (perl-5.34.0.tar.xz) = 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
Size (perl-5.34.0.tar.xz) = 12881416 bytes
SHA1 (patch-Configure) = a72983dba63f32f57418f2702b039585ba7236a7
SHA1 (patch-Makefile.SH) = 56203aea57c429a94760f039a978463b8859b0a9
SHA1 (patch-Safe.pm) = bfeefb82d4cfe991e3a9a90cd87b894c9f4cc337
SHA1 (patch-caretx.c) = b76b4175a58123fa4dfd2adf36b2207dcb6cf65a
SHA1 (patch-cflags.SH) = e940e4452768ccc1bdf21d435094e7efffceb925
SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__BeOS.pm) = 79e5aeccfa272ca5ec08bffc616d8053ae90ac51
SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm) = 3a2b39c9eb903e68ef7d03ae448c51c147c19aa1
SHA1 (patch-cpan_ExtUtils-MakeMaker_t_MM__BeOS.t) = 9b0e7ab85fdab4887b1754599a8879bd7d9f36cc
SHA1 (patch-ext_Errno_Errno__pm.PL) = 74fa9e2f9e7ed00aed8be33f91c24a06cc025a9c
SHA1 (patch-hints_cygwin.sh) = 1b21d927d6b7379754c4cd64a2b05d3632c35470
SHA1 (patch-hints_linux.sh) = 4baa8f80695687abb53d4f4e1830cf86db5b2bf7
SHA1 (patch-hints_netbsd.sh) = 0d549a48800372d75fe34b783529a78cba90f646

View file

@ -1,8 +1,8 @@
# $NetBSD: options.mk,v 1.15 2020/09/01 22:56:54 js Exp $
# $NetBSD: options.mk,v 1.16 2021/05/24 17:46:25 wiz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.perl
PKG_OPTIONS_REQUIRED_GROUPS= perlbits
PKG_OPTIONS_GROUP.perlbits= 64bitauto 64bitint 64bitmore 64bitall 64bitnone
PKG_OPTIONS_GROUP.perlbits= perl-64bitauto perl-64bitint perl-64bitmore perl-64bitall perl-64bitnone
PKG_SUPPORTED_OPTIONS= debug dtrace threads mstats
CHECK_BUILTIN.pthread:= yes
@ -34,16 +34,16 @@ PKG_SUGGESTED_OPTIONS= threads
.if ${OPSYS} == "IRIX"
. if defined(ABI) && ${ABI} == "64"
PKG_SUGGESTED_OPTIONS+= 64bitint
PKG_SUGGESTED_OPTIONS+= perl-64bitint
. endif
.elif ${OPSYS} == "AIX"
. if defined(ABI) && ${ABI} == "64"
PKG_SUGGESTED_OPTIONS+= 64bitall
PKG_SUGGESTED_OPTIONS+= perl-64bitall
. else
PKG_SUGGESTED_OPTIONS+= 64bitnone
PKG_SUGGESTED_OPTIONS+= perl-64bitnone
. endif
.else
PKG_SUGGESTED_OPTIONS+= 64bitauto
PKG_SUGGESTED_OPTIONS+= perl-64bitauto
.endif
.if !empty(MACHINE_PLATFORM:MSunOS-5.1[1-9]-*) || \
@ -84,17 +84,17 @@ CONFIGURE_ARGS+= -Dusemymalloc
CONFIGURE_ARGS+= -Uusemymalloc
.endif
.if !empty(PKG_OPTIONS:M64bitint)
.if !empty(PKG_OPTIONS:Mperl-64bitint)
CONFIGURE_ARGS+= -Duse64bitint
.elif !empty(PKG_OPTIONS:M64bitmore)
.elif !empty(PKG_OPTIONS:Mperl-64bitmore)
CONFIGURE_ARGS+= -Dusemorebits
.elif !empty(PKG_OPTIONS:M64bitall)
.elif !empty(PKG_OPTIONS:Mperl-64bitall)
CONFIGURE_ARGS+= -Duse64bitall
.elif !empty(PKG_OPTIONS:M64bitnone)
.elif !empty(PKG_OPTIONS:Mperl-64bitnone)
CONFIGURE_ARGS+= -Uuse64bitall -Uusemorebits -Uuse64bitint
.else
. if ${OBJECT_FMT} == "XCOFF"
BROKEN= "XCOFF targets need the path specified where libperl.a resides."
BROKEN+= "Please choose on of 64bitint 64bitmore 64bitall or 64bitnone to allow this."
BROKEN+= "Please choose on of perl-64bitint perl-64bitmore perl-64bitall or perl-64bitnone to allow this."
. endif
.endif

View file

@ -1,4 +1,4 @@
$NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
$NetBSD: patch-Configure,v 1.11 2021/05/24 17:46:25 wiz Exp $
* Use "uname -r" to get OS version for *BSD.
* Move $loclibpth to the end of $dlist, instead of the beginning.
@ -8,9 +8,9 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
* Several other changes.
* Add rpath for QNX
--- Configure.orig 2020-06-14 23:01:24.000000000 +0000
--- Configure.orig 2021-05-04 06:52:48.000000000 +0000
+++ Configure
@@ -3479,13 +3479,14 @@ EOM
@@ -3482,13 +3482,14 @@ EOM
osvers="$3"
;;
dragonfly) osname=dragonfly
@ -27,7 +27,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
@@ -3510,8 +3511,11 @@ EOM
@@ -3513,8 +3514,11 @@ EOM
minix) osname=minix
osvers=`$uname -r`
;;
@ -40,7 +40,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
;;
news-os) osvers="$3"
case "$3" in
@@ -3521,7 +3525,7 @@ EOM
@@ -3524,7 +3528,7 @@ EOM
;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@ -49,7 +49,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
;;
os2) osname=os2
osvers="$4"
@@ -3536,6 +3540,9 @@ EOM
@@ -3539,6 +3543,9 @@ EOM
qnx) osname=qnx
osvers="$4"
;;
@ -59,16 +59,16 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
solaris) osname=solaris
case "$3" in
5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;;
@@ -4978,7 +4985,7 @@ esac
@@ -4861,7 +4868,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.
-case "$ccname" in
+case "xx$ccname" in
gcc)
realpath=`which realpath 2>/dev/null | sed 's/no realpath in.*//'`
$echo 'extern int foo;' > try.c
set X `$cppstdin -v try.c 2>&1 | $awk '/^#include </,/^End of search /'|$cppfilter $grep '/include'`
@@ -5054,14 +5061,14 @@ case "$plibpth" in
@@ -4945,14 +4952,14 @@ case "$plibpth" in
esac
case "$libpth" in
' ') dlist='';;
@ -85,7 +85,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
case " $libpth " in
*" $xxx "*) ;;
*) libpth="$libpth $xxx";;
@@ -5177,7 +5184,7 @@ lib_ext=$_a
@@ -5068,7 +5075,7 @@ lib_ext=$_a
obj_ext=$_o
path_sep=$p_
@ -94,16 +94,16 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
: Which makefile gets called first. This is used by make depend.
case "$firstmakefile" in
@@ -5508,7 +5515,7 @@ default|recommended)
# thing. (NWC)
case "$osname" in
amigaos) ;; # -fstack-protector builds but doesn't work
- *) case "$gccversion" in
@@ -5401,7 +5408,7 @@ default|recommended)
*-fno-stack-protector*)
echo "Do not add -fstack-protector nor -fstack-protector-strong" 2>&1
;;
- *) case "$gccversion" in
+ nothing) case "$gccversion" in
?*) set stack-protector-strong -fstack-protector-strong
eval $checkccflag
case "$dflt" in
@@ -6492,6 +6499,15 @@ case "$nm_so_opt" in
?*) set stack-protector-strong -fstack-protector-strong
eval $checkccflag
case "$dflt" in
@@ -6384,6 +6391,15 @@ case "$nm_so_opt" in
;;
esac
@ -119,7 +119,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
: Figure out where the libc is located
case "$runnm" in
true)
@@ -7619,7 +7635,9 @@ rp='Pathname for the site-specific libra
@@ -7564,7 +7580,9 @@ rp='Pathname for the site-specific libra
. ./getfile
prefixvar=sitelib
. ./setprefixvar
@ -130,7 +130,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
: Determine list of previous versions to include in @INC
$cat > getverlist <<EOPL
@@ -8030,7 +8048,9 @@ case "$vendorprefix" in
@@ -7977,7 +7995,9 @@ case "$vendorprefix" in
vendorlibexp="$ansexp"
;;
esac
@ -141,7 +141,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
prefixvar=vendorlib
. ./installprefix
@@ -8530,6 +8550,7 @@ EOM
@@ -8477,6 +8497,7 @@ EOM
esac
;;
*linux*|irix*|gnu*) dflt="-shared $optimize" ;;
@ -149,7 +149,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
solaris) # See [perl #66604].
# On Solaris 11, gcc -m64 on amd64
# appears not to understand -G. gcc versions at
@@ -8569,7 +8590,7 @@ EOM
@@ -8516,7 +8537,7 @@ EOM
esac
for thisflag in $ldflags; do
case "$thisflag" in
@ -158,7 +158,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
case " $dflt " in
*" $thisflag "*) ;;
*) dflt="$dflt $thisflag" ;;
@@ -8825,7 +8846,7 @@ if "$useshrplib"; then
@@ -8772,7 +8793,7 @@ if "$useshrplib"; then
freebsd|minix|mirbsd|netbsd|openbsd|interix|dragonfly|bitrig)
xxx="-Wl,-R$shrpdir"
;;
@ -167,7 +167,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
xxx="-Wl,-rpath,$shrpdir"
;;
hpux*)
@@ -8835,6 +8856,9 @@ if "$useshrplib"; then
@@ -8782,6 +8803,9 @@ if "$useshrplib"; then
cygwin)
# cygwin needs only ldlibpth
;;
@ -177,7 +177,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
*)
tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
;;
@@ -9911,6 +9935,13 @@ esac
@@ -9858,6 +9882,13 @@ esac
: Check if we want perlio
useperlio="$define"
@ -191,7 +191,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
: Set the vendorbin variables
case "$vendorprefix" in
'') d_vendorbin="$undef"
@@ -20114,7 +20145,15 @@ RCAT(Rei,ser)
@@ -20225,7 +20256,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
@ -208,7 +208,7 @@ $NetBSD: patch-Configure,v 1.10 2020/09/04 10:08:46 js Exp $
echo "Oh! Smells like ANSI's been here." >&4
echo "We can catify or stringify, separately or together!"
cpp_stuff=42
@@ -22920,6 +22959,18 @@ eval $inhdr
@@ -23062,6 +23101,18 @@ eval $inhdr
set fenv.h i_fenv
eval $inhdr

View file

@ -1,16 +0,0 @@
$NetBSD: patch-Safe.pm,v 1.1 2019/11/11 21:32:12 maya Exp $
Use tr/// to force the loading of utf8_heavy, the current code no longer works.
https://github.com/Perl/perl5/issues/17271
--- dist/Safe/Safe.pm.orig 2019-11-11 21:17:50.484290191 +0000
+++ dist/Safe/Safe.pm
@@ -67,7 +67,7 @@ require utf8;
# particular code points don't cause it to load.
# (Swashes are cached internally by perl in PL_utf8_* variables
# independent of being inside/outside of Safe. So once loaded they can be)
-do { my $a = pack('U',0x100); my $b = chr 0x101; utf8::upgrade $b; $a =~ /$b/i };
+do { my $a = pack('U',0x100); my $b = chr 0x101; utf8::upgrade $b; $a =~ tr/\x{202a}-\x{202e}//d };
# now we can safely include utf8::SWASHNEW in $default_share defined below.
my $default_root = 0;

View file

@ -1,15 +0,0 @@
$NetBSD: patch-ext_Errno_Errno__pm.PL,v 1.3 2021/03/15 14:23:12 ryoon Exp $
* Fix build under Haiku R1/beta2.
--- ext/Errno/Errno_pm.PL.orig 2020-12-18 10:04:36.000000000 +0000
+++ ext/Errno/Errno_pm.PL
@@ -143,7 +143,7 @@ sub get_files {
$file{$linux_errno_h} = 1;
} elsif ($^O eq 'haiku') {
# hidden in a special place
- $file{'/boot/develop/headers/posix/errno.h'} = 1;
+ $file{'/boot/system/develop/headers/posix/errno.h'} = 1;
} elsif ($^O eq 'vos') {
# avoid problem where cpp returns non-POSIX pathnames