pkgsrc/lang/perl5/buildlink3.mk
wiz 83f7126a09 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)
2021-05-24 17:46:25 +00:00

46 lines
1.3 KiB
Makefile

# $NetBSD: buildlink3.mk,v 1.70 2021/05/24 17:46:25 wiz Exp $
BUILDLINK_TREE+= perl
.if !defined(PERL_BUILDLINK3_MK)
PERL_BUILDLINK3_MK:=
.include "../../mk/bsd.fast.prefs.mk"
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.34.0 to be used
# with the next incompatible version of perl:
BUILDLINK_API_DEPENDS.perl+= perl<5.36.0
BUILDLINK_PKGSRCDIR.perl?= ../../lang/perl5
_TOOLS_USE_PKGSRC.perl= yes
# do not change this LOCALBASE to PREFIX; that breaks the install of perl modules
PERL5= ${LOCALBASE}/bin/perl
pkgbase := perl
.include "../../mk/pkg-build-options.mk"
.if ${PKG_BUILD_OPTIONS.perl:Mthreads}
. include "../../mk/pthread.buildlink3.mk"
.endif
PERL5_OPTIONS?= # empty
.if !empty(PERL5_OPTIONS:Mthreads)
INSTALL_TEMPLATES+= ${.CURDIR}/../../lang/perl5/files/install_threads.tmpl
.endif
#
# Perl keeps headers and odd libraries in an odd path not caught by the
# default BUILDLINK_FILES_CMD, so name them to be symlinked into
# ${BUILDLINK_DIR}.
#
.include "../../lang/perl5/vars.mk"
BUILDLINK_FILES.perl= ${PERL5_SUB_INSTALLARCHLIB}/CORE/*
BUILDLINK_RPATHDIRS.perl+= ${PERL5_SUB_INSTALLARCHLIB}/CORE
.endif # PERL_BUILDLINK3_MK
BUILDLINK_TREE+= -perl