pkgsrc/lang/perl5/Makefile

257 lines
7.7 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.271 2021/05/29 13:04:21 rin Exp $
PKGREVISION= 2
.include "license.mk"
.include "Makefile.common"
COMMENT= Practical Extraction and Report Language
CONFLICTS+= perl-base-[0-9]* perl-thread-[0-9]*
# when updating perl, you can remove packages that are included
# in perl core, see
# corelist -diff ${PREV_PKGVERSION} ${PKGVERSION}
SUPERSEDES+= p5-Tie-File<=0.99
SUPERSEDES+= p5-Time-HiRes-[0-9]*
SUPERSEDES+= p5-DB_File-[0-9]*
SUPERSEDES+= p5-Memoize<=1.03
SUPERSEDES+= p5-I18N-LangTags<=0.39
SUPERSEDES+= p5-Locale-Maketext<=1.23
SUPERSEDES+= p5-experimental<=0.007
# XXX: requires that gcc use an external perl to avoid circular dependencies
USE_GCC_RUNTIME= yes
USE_LANGUAGES= c c99
.include "../../mk/bsd.prefs.mk"
# Determine the Perl API version from the patchlevel.h file from the
# source distribution.
#
PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh}
PERL5_API_VERS_cmd= \
if ${TEST} -f ${WRKSRC}/patchlevel.h; then \
${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 }\
/\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \
/\#define[ ]*PERL_API_SUBVERSION/ { s = "."$$3 } \
END { printf "%s%s%s\n", R, r, s }' \
${WRKSRC}/patchlevel.h; \
else \
${ECHO} "unknown"; \
fi
.include "dirs.mk"
.include "../../mk/compiler.mk"
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= ./Configure
CONFIGURE_ARGS+= -sde
CONFIGURE_ARGS+= -Dldflags=${LDFLAGS:Q}
MAKE_ENV+= LC_ALL="C"
LDFLAGS.QNX+= -lm
.if ${OPSYS} == "SunOS"
USE_TOOLS+= bash
CONFIG_SHELL= ${TOOLS_PATH.bash}
.endif
TEST_TARGET= test
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
# Policy.sh generation
# (see comments in files/Policy.sh)
SUBST_CLASSES+= policysh
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_STAGE.policysh= pre-configure
SUBST_FILES.policysh= Policy.sh
SUBST_VARS.policysh+= MACHINE_ARCH
SUBST_VARS.policysh+= LOWER_OPSYS
SUBST_VARS.policysh+= OBJECT_FMT
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= CC
SUBST_VARS.policysh+= CFLAGS
SUBST_VARS.policysh+= LDFLAGS
SUBST_VARS.policysh+= COMPILER_RPATH_FLAG
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= PERL5_PREFIX
SUBST_VARS.policysh+= PERL5_SITEPREFIX
SUBST_VARS.policysh+= PERL5_VENDORPREFIX
SUBST_VARS.policysh+= PERL5_PERLBASE
SUBST_VARS.policysh+= PERL5_SITEBASE
SUBST_VARS.policysh+= PERL5_SITEBIN
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= PERL5_VENDORBASE
SUBST_VARS.policysh+= PERL5_PRIVLIB
SUBST_VARS.policysh+= PERL5_SITELIB
SUBST_VARS.policysh+= PERL5_VENDORLIB
SUBST_VARS.policysh+= PKGMANDIR
SUBST_VARS.policysh+= LOCALBASE
SUBST_VARS.policysh+= PTHREAD_LDFLAGS
# Avoid the ${TOOLS_BIN} path getting written to installed files.
SUBST_CLASSES+= toolsbin
SUBST_STAGE.toolsbin= pre-configure
SUBST_FILES.toolsbin= Configure
SUBST_VARS.toolsbin= TOOLS_RM
2021-04-25 18:56:44 +02:00
SUBST_CLASSES+= pwd
SUBST_STAGE.pwd= pre-configure
SUBST_FILES.pwd= dist/PathTools/Cwd.pm
SUBST_SED.pwd+= -e "s,/bin/pwd,${TOOLS_PLATFORM.pwd},g"
.if ${OPSYS} == "Darwin" || ${OPSYS} == "Cygwin"
#
# The Perl build attempts to work around case-insensitivity problems on
# HFS filesystems by using GNUmakefiles, so we need to use GNU make.
#
USE_TOOLS+= gmake
MAKE_FILE= GNUmakefile
.endif
#
# For the moment disable the building of a shared libperl.dylib on Darwin
# => 9.0 as it breaks the build. This should just be considered a temporary
# work around until the actual problem can be fixed as this worked for
# Darwin < 9.0.
#
.if empty(MACHINE_PLATFORM:MDarwin-9.*-*)
CONFIGURE_ARGS+= -Duseshrplib
.endif
# Perl embeds the full paths to the following tools in several installed
# files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used.
#
USE_TOOLS+= hostname ln rm sed test
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD
SUBST_VARS.policysh+= TOOLS_LN
perl: update to 5.32.0. https://perldoc.perl.org/5.32.0/perldelta.html Core Enhancements The isa Operator Unicode 13.0 is supported Chained comparisons capability New Unicode properties Identifier_Status and Identifier_Type supported It is now possible to write qr/\p{Name=...}/, or qr!\p{na=/(SMILING|GRINNING) FACE/}! Improvement of POSIX::mblen(), mbtowc, and wctomb Alpha assertions are no longer experimental Script runs are no longer experimental Feature checks are now faster Perl is now developed on GitHub Compiled patterns can now be dumped before optimization Security [CVE-2020-10543] Buffer overflow caused by a crafted regular expression [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression [CVE-2020-12723] Buffer overflow caused by a crafted regular expression Additional Note Incompatible Changes Certain pattern matching features are now prohibited in compiling Unicode property value wildcard subpatterns Unused functions POSIX::mbstowcs and POSIX::wcstombs are removed A bug fix for (?[...]) may have caused some patterns to no longer compile \p{_user-defined_} properties now always override official Unicode ones Modifiable variables are no longer permitted in constants Use of perlfunc/vec EXPR,OFFSET,BITS on strings with code points above 0xFF is forbidden Use of code points over 0xFF in string bitwise operators Sys::Hostname::hostname() does not accept arguments Plain "0" string now treated as a number for range operator \K now disallowed in look-ahead and look-behind assertions Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes the perlbug manpage the streamzip manpage
2020-08-31 20:00:37 +02:00
TOOLS_ALIASES.sed= ${TOOLS_SED:T}
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= TOOLS_SED
SUBST_VARS.policysh+= TOOLS_SH
SUBST_VARS.policysh+= TOOLS_TEST
SUBST_VARS.policysh+= FALSE
# Nail down the needed libraries for each platform here to avoid hidden
# dependencies. If this isn't defined, then use the perl defaults for the
# particular operating system.
#
2015-06-05 14:22:28 +02:00
LIBSWANTED.Bitrig= m crypt
LIBSWANTED.Cygwin= m crypt dl
LIBSWANTED.Darwin= m c
LIBSWANTED.DragonFly= m crypt
LIBSWANTED.FreeBSD= m crypt
LIBSWANTED.GNUkFreeBSD= m crypt dl nsl
2014-06-07 14:08:47 +02:00
LIBSWANTED.Haiku= network
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
LIBSWANTED.HPUX= cl pthread $$libswanted # see Perl's README.hpux
LIBSWANTED.IRIX= m crypt
LIBSWANTED.Interix= m dl
LIBSWANTED.Linux= m crypt dl nsl
2018-10-29 15:25:25 +01:00
LIBSWANTED.Minix= m crypt c
LIBSWANTED.MirBSD= m crypt
LIBSWANTED.NetBSD= m crypt
LIBSWANTED.OpenBSD= m crypt
LIBSWANTED.SunOS= m crypt dl socket nsl
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
LIBSWANTED.AIX= m crypt dl socket nsl bind c
LIBSWANTED.SCO_SV= m crypt socket
LIBSWANTED= ${LIBSWANTED.${OPSYS}}
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= LIBSWANTED
# Nail down the directories in which the system libraries may be found.
# If this isn't defined, then use the perl defaults for the particular
# operating system.
#
2015-06-05 14:22:28 +02:00
SYSLIBPATH.Bitrig= /usr/lib
SYSLIBPATH.Cygwin= /usr/lib
SYSLIBPATH.Darwin= /usr/lib
SYSLIBPATH.DragonFly= /usr/lib
SYSLIBPATH.FreeBSD= /usr/lib
SYSLIBPATH.Interix= /usr/lib
2018-10-29 15:25:25 +01:00
SYSLIBPATH.Minix= /usr/lib
SYSLIBPATH.MirBSD= /usr/lib
SYSLIBPATH.NetBSD= /usr/lib
SYSLIBPATH.OpenBSD= /usr/lib
SYSLIBPATH.SunOS= /usr/lib
SYSLIBPATH.AIX= /usr/lib
SYSLIBPATH.SCO_SV= /usr/lib
SYSLIBPATH= ${SYSLIBPATH.${OPSYS}:U${COMPILER_LIB_DIRS}}
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
SUBST_VARS.policysh+= SYSLIBPATH
.include "../../mk/dlopen.buildlink3.mk"
.include "options.mk"
perl: updated to 5.30.0 what is new for perl v5.30.0 Core Enhancements Limited variable length lookbehind in regular expression pattern matching is now experimentally supported Using a lookbehind assertion (like "(?<=foo?)" or "(?<!ba{1,9}r)" previously would generate an error and refuse to compile. Now it compiles (if the maximum lookbehind is at most 255 characters), but raises a warning in the new "experimental::vlb" warnings category. This is to caution you that the precise behavior is subject to change based on feedback from use in the field. See "(?<=pattern)" in perlre and "(?<!pattern)" in perlre. The upper limit "n" specifiable in a regular expression quantifier of the form "{m,n}" has been doubled to 65534 The meaning of an unbounded upper quantifier "{m,}" remains unchanged. It matches 2**31 - 1 times on most platforms, and more on ones where a C language short variable is more than 4 bytes long. Unicode 12.1 is supported Because of a change in Unicode release cycles, Perl jumps from Unicode 10.0 in Perl 5.28 to Unicode 12.1 in Perl 5.30. For details on the Unicode changes, see <https://www.unicode.org/versions/Unicode11.0.0/> for 11.0; <https://www.unicode.org/versions/Unicode12.0.0/> for 12.0; and <https://www.unicode.org/versions/Unicode12.1.0/> for 12.1. (Unicode 12.1 differs from 12.0 only in the addition of a single character, that for the new Japanese era name.) The Word_Break property, as in past Perl releases, remains tailored to behave more in line with expectations of Perl users. This means that sequential runs of horizontal white space characters are not broken apart, but kept as a single run. Unicode 11 changed from past versions to be more in line with Perl, but it left several white space characters as causing breaks: TAB, NO BREAK SPACE, and FIGURE SPACE (U+2007). We have decided to continue to use the previous Perl tailoring with regards to these. Wildcards in Unicode property value specifications are now partially supported You can now do something like this in a regular expression pattern qr! \p{nv= /(?x) \A [0-5] \z / }! which matches all Unicode code points whose numeric value is between 0 and 5 inclusive. So, it could match the Thai or Bengali digits whose numeric values are 0, 1, 2, 3, 4, or 5. This marks another step in implementing the regular expression features the Unicode Consortium suggests. Most properties are supported, with the remainder planned for 5.32. Details are in "Wildcards in Property Values" in perlunicode. qr'\N{name}' is now supported Previously it was an error to evaluate a named character "\N{...}" within a single quoted regular expression pattern (whose evaluation is deferred from the normal place). This restriction is now removed. Turkic UTF-8 locales are now seamlessly supported Turkic languages have different casing rules than other languages for the characters "i" and "I". The uppercase of "i" is LATIN CAPITAL LETTER I WITH DOT ABOVE (U+0130); and the lowercase of "I" is LATIN SMALL LETTER DOTLESS I (U+0131). Unicode furnishes alternate casing rules for use with Turkic languages. Previously, Perl ignored these, but now, it uses them when it detects that it is operating under a Turkic UTF-8 locale. It is now possible to compile perl to always use thread-safe locale operations. Previously, these calls were only used when the perl was compiled to be multi-threaded. To always enable them, add -Accflags='-DUSE_THREAD_SAFE_LOCALE' to your Configure flags. Eliminate opASSIGN macro usage from core This macro is still defined but no longer used in core "-Drv" now means something on "-DDEBUGGING" builds Now, adding the verbose flag ("-Dv") to the "-Dr" flag turns on all possible regular expression debugging. Incompatible Changes Assigning non-zero to $[ is fatal Setting $[ to a non-zero value has been deprecated since Perl 5.12 and now throws a fatal error. See "Assigning non-zero to $[ is fatal" in perldeprecation. Delimiters must now be graphemes See "Use of unassigned code point or non-standalone grapheme for a delimiter." in perldeprecation Some formerly deprecated uses of an unescaped left brace "{" in regular expression patterns are now illegal But to avoid breaking code unnecessarily, most instances that issued a deprecation warning, remain legal and now have a non-deprecation warning raised. See "Unescaped left braces in regular expressions" in perldeprecation. Previously deprecated sysread()/syswrite() on :utf8 handles is now fatal Calling sysread(), syswrite(), send() or recv() on a ":utf8" handle, whether applied explicitly or implicitly, is now fatal. This was deprecated in perl 5.24. There were two problems with calling these functions on ":utf8" handles: o All four functions only paid attention to the ":utf8" flag. Other layers were completely ignored, so a handle with ":encoding(UTF-16LE)" layer would be treated as UTF-8. Other layers, such as compression are completely ignored with or without the ":utf8" flag. o sysread() and recv() would read from the handle, skipping any validation by the layers, and do no validation of their own. This could lead to invalidly encoded perl scalars. my() in false conditional prohibited Declarations such as "my $x if 0" are no longer permitted. Fatalize $* and $# These special variables, long deprecated, now throw exceptions when used. Fatalize unqualified use of dump() The "dump()" function, long discouraged, may no longer be used unless it is fully qualified, i.e., "CORE::dump()". Remove File::Glob::glob() The "File::Glob::glob()" function, long deprecated, has been removed and now throws an exception which advises use of "File::Glob::bsd_glob()" instead. "pack()" no longer can return malformed UTF-8 It croaks if it would otherwise return a UTF-8 string that contains malformed UTF-8. This protects against potential security threats. This is considered a bug fix as well. Any set of digits in the Common script are legal in a script run of another script There are several sets of digits in the Common script. "[0-9]" is the most familiar. But there are also "[\x{FF10}-\x{FF19}]" (FULLWIDTH DIGIT ZERO - FULLWIDTH DIGIT NINE), and several sets for use in mathematical notation, such as the MATHEMATICAL DOUBLE-STRUCK DIGITs. Any of these sets should be able to appear in script runs of, say, Greek. But the design of 5.30 overlooked all but the ASCII digits "[0-9]", so the design was flawed. This has been fixed, so is both a bug fix and an incompatibility. All digits in a run still have to come from the same set of ten digits. JSON::PP enables allow_nonref by default As JSON::XS 4.0 changed its policy and enabled allow_nonref by default, JSON::PP also enabled allow_nonref by default. Deprecations In XS code, use of various macros dealing with UTF-8. This deprecation was scheduled to become fatal in 5.30, but has been delayed to 5.32 due to problems that showed up with some CPAN modules. For details of what's affected, see perldeprecation. Performance Enhancements o Translating from UTF-8 into the code point it represents now is done via a deterministic finite automaton, speeding it up. As a typical example, "ord("\x7fff")" now requires 12% fewer instructions than before. The performance of checking that a sequence of bytes is valid UTF-8 is similarly improved, again by using a DFA. o Eliminate recursion from finalize_op(). o A handful of small optimizations related to character folding and character classes in regular expressions. o Optimization of "IV" to "UV" conversions. o Speed up of the integer stringification algorithm by processing two digits at a time instead of one. o Improvements based on LGTM analysis and recommendation. o Code optimizations in regcomp.c, regcomp.h, regexec.c. o Regular expression pattern matching of things like "qr/[^a]/" is significantly sped up, where a is any ASCII character. Other classes can get this speed up, but which ones is complicated and depends on the underlying bit patterns of those characters, so differs between ASCII and EBCDIC platforms, but all case pairs, like "qr/[Gg]/" are included, as is "[^01]".
2019-08-11 12:14:17 +02:00
.if ${MACHINE_PLATFORM} == "MirBSD"
SUBST_CLASSES+= mirbsd-paths
SUBST_STAGE.mirbsd-paths= pre-configure
SUBST_FILES.mirbsd-paths= hints/mirbsd.sh
SUBST_SED.mirbsd-paths= -e 's,/usr/mpkg,${PREFIX},g'
SUBST_MESSAGE.mirbsd-paths= Do not use non-pkgsrc paths on MirBSD.
.endif
Update perl5 from version 5.8.8nb8 to 5.10.0. A large number of packages have had their internal regression tests run successfully with this update, including mod_perl for Apache. Pkgsrc changes: a number of our local patches are no longer needed. Upstream changes from version 5.8.8: # Core Enhancements * The feature pragma * New -E command-line switch * Defined-or operator * Switch and Smart Match operator * Regular expressions * say() * Lexical $_ * The _ prototype * UNITCHECK blocks * New Pragma, mro * readdir() may return a "short filename" on Windows * readpipe() is now overridable * Default argument for readline() * state() variables * Stacked filetest operators * UNIVERSAL::DOES() * Formats * Byte-order modifiers for pack() and unpack() * no VERSION * chdir, chmod and chown on filehandles * OS groups * Recursive sort subs * Exceptions in constant folding * Source filters in @INC * New internal variables * Miscellaneous * UCD 5.0.0 * MAD * kill() on Windows # Incompatible Changes * Packing and UTF-8 strings * Byte/character count feature in unpack() * The $* and $# variables have been removed * substr() lvalues are no longer fixed-length * Parsing of -f _ * :unique * Effect of pragmas in eval * chdir FOO * Handling of .pmc files * $^V is now a version object instead of a v-string * @- and @+ in patterns * $AUTOLOAD can now be tainted * Tainting and printf * undef and signal handlers * strictures and dereferencing in defined() * (?p{}) has been removed * Pseudo-hashes have been removed * Removal of the bytecode compiler and of perlcc * Removal of the JPL * Recursive inheritance detected earlier # Modules and Pragmata * Upgrading individual core modules * Pragmata Changes * New modules * Selected Changes to Core Modules # Utility Changes # New Documentation # Performance Enhancements * In-place sorting * Lexical array access * XS-assisted SWASHGET * Constant subroutines * PERL_DONT_CREATE_GVSV * Weak references are cheaper * sort() enhancements * Memory optimisations * UTF-8 cache optimisation * Sloppy stat on Windows * Regular expressions optimisations # Installation and Configuration Improvements * Configuration improvements * Compilation improvements * Installation improvements * New Or Improved Platforms # Selected Bug Fixes # New or Changed Diagnostics # Changed Internals * Reordering of SVt_* constants * Elimination of SVt_PVBM * New type SVt_BIND * Removal of CPP symbols * Less space is used by ops * New parser * Use of const * Mathoms * AvFLAGS has been removed * av_* changes * $^H and %^H * B:: modules inheritance changed * Anonymous hash and array constructors ... See 'perldoc perldelta' or http://perldoc.perl.org/perldelta.html for explanation of each of these points.
2008-10-10 23:58:43 +02:00
# Replace our perl as the interpreter
REPLACE_PERL+= cpan/Config-Perl-V/V.pm
REPLACE_PERL+= cpan/Getopt-Long/lib/Getopt/Long.pm
REPLACE_PERL+= cpan/version/lib/version.pm
REPLACE_PERL+= dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
REPLACE_PERL+= ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm
REPLACE_PERL+= ext/File-DosGlob/lib/File/DosGlob.pm
REPLACE_PERL+= lib/unicore/mktables
Update perl5 from version 5.8.8nb8 to 5.10.0. A large number of packages have had their internal regression tests run successfully with this update, including mod_perl for Apache. Pkgsrc changes: a number of our local patches are no longer needed. Upstream changes from version 5.8.8: # Core Enhancements * The feature pragma * New -E command-line switch * Defined-or operator * Switch and Smart Match operator * Regular expressions * say() * Lexical $_ * The _ prototype * UNITCHECK blocks * New Pragma, mro * readdir() may return a "short filename" on Windows * readpipe() is now overridable * Default argument for readline() * state() variables * Stacked filetest operators * UNIVERSAL::DOES() * Formats * Byte-order modifiers for pack() and unpack() * no VERSION * chdir, chmod and chown on filehandles * OS groups * Recursive sort subs * Exceptions in constant folding * Source filters in @INC * New internal variables * Miscellaneous * UCD 5.0.0 * MAD * kill() on Windows # Incompatible Changes * Packing and UTF-8 strings * Byte/character count feature in unpack() * The $* and $# variables have been removed * substr() lvalues are no longer fixed-length * Parsing of -f _ * :unique * Effect of pragmas in eval * chdir FOO * Handling of .pmc files * $^V is now a version object instead of a v-string * @- and @+ in patterns * $AUTOLOAD can now be tainted * Tainting and printf * undef and signal handlers * strictures and dereferencing in defined() * (?p{}) has been removed * Pseudo-hashes have been removed * Removal of the bytecode compiler and of perlcc * Removal of the JPL * Recursive inheritance detected earlier # Modules and Pragmata * Upgrading individual core modules * Pragmata Changes * New modules * Selected Changes to Core Modules # Utility Changes # New Documentation # Performance Enhancements * In-place sorting * Lexical array access * XS-assisted SWASHGET * Constant subroutines * PERL_DONT_CREATE_GVSV * Weak references are cheaper * sort() enhancements * Memory optimisations * UTF-8 cache optimisation * Sloppy stat on Windows * Regular expressions optimisations # Installation and Configuration Improvements * Configuration improvements * Compilation improvements * Installation improvements * New Or Improved Platforms # Selected Bug Fixes # New or Changed Diagnostics # Changed Internals * Reordering of SVt_* constants * Elimination of SVt_PVBM * New type SVt_BIND * Removal of CPP symbols * Less space is used by ops * New parser * Use of const * Mathoms * AvFLAGS has been removed * av_* changes * $^H and %^H * B:: modules inheritance changed * Anonymous hash and array constructors ... See 'perldoc perldelta' or http://perldoc.perl.org/perldelta.html for explanation of each of these points.
2008-10-10 23:58:43 +02:00
.if ${PKGSRC_COMPILER:Mxlc}
2008-12-21 15:02:59 +01:00
SUBST_CLASSES+= cpprun
SUBST_STAGE.cpprun= pre-install
SUBST_FILES.cpprun= lib/Config_heavy.pl
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
. if !empty(PKG_OPTIONS:Mthreads)
SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc_r -E'/"
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
. else
SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc -E'/"
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
. endif
2008-12-21 15:02:59 +01:00
.endif
# Some platforms may want the directory mode not to be 0755. This
# is, unfortunately, hardcoded in quite a few places in Perl, so
# let's substitute what pkgsrc says instead.
#
SUBST_CLASSES+= dirmode
SUBST_STAGE.dirmode= pre-configure
SUBST_FILES.dirmode= install_lib.pl
SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d"
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
post-extract:
perl: updated to 5.30.0 what is new for perl v5.30.0 Core Enhancements Limited variable length lookbehind in regular expression pattern matching is now experimentally supported Using a lookbehind assertion (like "(?<=foo?)" or "(?<!ba{1,9}r)" previously would generate an error and refuse to compile. Now it compiles (if the maximum lookbehind is at most 255 characters), but raises a warning in the new "experimental::vlb" warnings category. This is to caution you that the precise behavior is subject to change based on feedback from use in the field. See "(?<=pattern)" in perlre and "(?<!pattern)" in perlre. The upper limit "n" specifiable in a regular expression quantifier of the form "{m,n}" has been doubled to 65534 The meaning of an unbounded upper quantifier "{m,}" remains unchanged. It matches 2**31 - 1 times on most platforms, and more on ones where a C language short variable is more than 4 bytes long. Unicode 12.1 is supported Because of a change in Unicode release cycles, Perl jumps from Unicode 10.0 in Perl 5.28 to Unicode 12.1 in Perl 5.30. For details on the Unicode changes, see <https://www.unicode.org/versions/Unicode11.0.0/> for 11.0; <https://www.unicode.org/versions/Unicode12.0.0/> for 12.0; and <https://www.unicode.org/versions/Unicode12.1.0/> for 12.1. (Unicode 12.1 differs from 12.0 only in the addition of a single character, that for the new Japanese era name.) The Word_Break property, as in past Perl releases, remains tailored to behave more in line with expectations of Perl users. This means that sequential runs of horizontal white space characters are not broken apart, but kept as a single run. Unicode 11 changed from past versions to be more in line with Perl, but it left several white space characters as causing breaks: TAB, NO BREAK SPACE, and FIGURE SPACE (U+2007). We have decided to continue to use the previous Perl tailoring with regards to these. Wildcards in Unicode property value specifications are now partially supported You can now do something like this in a regular expression pattern qr! \p{nv= /(?x) \A [0-5] \z / }! which matches all Unicode code points whose numeric value is between 0 and 5 inclusive. So, it could match the Thai or Bengali digits whose numeric values are 0, 1, 2, 3, 4, or 5. This marks another step in implementing the regular expression features the Unicode Consortium suggests. Most properties are supported, with the remainder planned for 5.32. Details are in "Wildcards in Property Values" in perlunicode. qr'\N{name}' is now supported Previously it was an error to evaluate a named character "\N{...}" within a single quoted regular expression pattern (whose evaluation is deferred from the normal place). This restriction is now removed. Turkic UTF-8 locales are now seamlessly supported Turkic languages have different casing rules than other languages for the characters "i" and "I". The uppercase of "i" is LATIN CAPITAL LETTER I WITH DOT ABOVE (U+0130); and the lowercase of "I" is LATIN SMALL LETTER DOTLESS I (U+0131). Unicode furnishes alternate casing rules for use with Turkic languages. Previously, Perl ignored these, but now, it uses them when it detects that it is operating under a Turkic UTF-8 locale. It is now possible to compile perl to always use thread-safe locale operations. Previously, these calls were only used when the perl was compiled to be multi-threaded. To always enable them, add -Accflags='-DUSE_THREAD_SAFE_LOCALE' to your Configure flags. Eliminate opASSIGN macro usage from core This macro is still defined but no longer used in core "-Drv" now means something on "-DDEBUGGING" builds Now, adding the verbose flag ("-Dv") to the "-Dr" flag turns on all possible regular expression debugging. Incompatible Changes Assigning non-zero to $[ is fatal Setting $[ to a non-zero value has been deprecated since Perl 5.12 and now throws a fatal error. See "Assigning non-zero to $[ is fatal" in perldeprecation. Delimiters must now be graphemes See "Use of unassigned code point or non-standalone grapheme for a delimiter." in perldeprecation Some formerly deprecated uses of an unescaped left brace "{" in regular expression patterns are now illegal But to avoid breaking code unnecessarily, most instances that issued a deprecation warning, remain legal and now have a non-deprecation warning raised. See "Unescaped left braces in regular expressions" in perldeprecation. Previously deprecated sysread()/syswrite() on :utf8 handles is now fatal Calling sysread(), syswrite(), send() or recv() on a ":utf8" handle, whether applied explicitly or implicitly, is now fatal. This was deprecated in perl 5.24. There were two problems with calling these functions on ":utf8" handles: o All four functions only paid attention to the ":utf8" flag. Other layers were completely ignored, so a handle with ":encoding(UTF-16LE)" layer would be treated as UTF-8. Other layers, such as compression are completely ignored with or without the ":utf8" flag. o sysread() and recv() would read from the handle, skipping any validation by the layers, and do no validation of their own. This could lead to invalidly encoded perl scalars. my() in false conditional prohibited Declarations such as "my $x if 0" are no longer permitted. Fatalize $* and $# These special variables, long deprecated, now throw exceptions when used. Fatalize unqualified use of dump() The "dump()" function, long discouraged, may no longer be used unless it is fully qualified, i.e., "CORE::dump()". Remove File::Glob::glob() The "File::Glob::glob()" function, long deprecated, has been removed and now throws an exception which advises use of "File::Glob::bsd_glob()" instead. "pack()" no longer can return malformed UTF-8 It croaks if it would otherwise return a UTF-8 string that contains malformed UTF-8. This protects against potential security threats. This is considered a bug fix as well. Any set of digits in the Common script are legal in a script run of another script There are several sets of digits in the Common script. "[0-9]" is the most familiar. But there are also "[\x{FF10}-\x{FF19}]" (FULLWIDTH DIGIT ZERO - FULLWIDTH DIGIT NINE), and several sets for use in mathematical notation, such as the MATHEMATICAL DOUBLE-STRUCK DIGITs. Any of these sets should be able to appear in script runs of, say, Greek. But the design of 5.30 overlooked all but the ASCII digits "[0-9]", so the design was flawed. This has been fixed, so is both a bug fix and an incompatibility. All digits in a run still have to come from the same set of ten digits. JSON::PP enables allow_nonref by default As JSON::XS 4.0 changed its policy and enabled allow_nonref by default, JSON::PP also enabled allow_nonref by default. Deprecations In XS code, use of various macros dealing with UTF-8. This deprecation was scheduled to become fatal in 5.30, but has been delayed to 5.32 due to problems that showed up with some CPAN modules. For details of what's affected, see perldeprecation. Performance Enhancements o Translating from UTF-8 into the code point it represents now is done via a deterministic finite automaton, speeding it up. As a typical example, "ord("\x7fff")" now requires 12% fewer instructions than before. The performance of checking that a sequence of bytes is valid UTF-8 is similarly improved, again by using a DFA. o Eliminate recursion from finalize_op(). o A handful of small optimizations related to character folding and character classes in regular expressions. o Optimization of "IV" to "UV" conversions. o Speed up of the integer stringification algorithm by processing two digits at a time instead of one. o Improvements based on LGTM analysis and recommendation. o Code optimizations in regcomp.c, regcomp.h, regexec.c. o Regular expression pattern matching of things like "qr/[^a]/" is significantly sped up, where a is any ASCII character. Other classes can get this speed up, but which ones is complicated and depends on the underlying bit patterns of those characters, so differs between ASCII and EBCDIC platforms, but all case pairs, like "qr/[Gg]/" are included, as is "[^01]".
2019-08-11 12:14:17 +02:00
${CP} ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh
pre-configure:
2019-05-05 09:58:38 +02:00
${FIND} ${WRKSRC} -name "*.orig" -type f -exec rm -f {} \;
post-build:
${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \
-e "s,@SH@,"${SH:Q}",g" \
-e "s,@PKGMANDIR@,"${PKGMANDIR}",g" \
${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib
PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh}
PERL5_PACKLIST= .packlist
PERL5_PACKLIST_DESTDIR= no
FILES_SUBST+= PERL5_COMMENT=\#
FILES_SUBST+= PERL5_PACKLIST=
perl: update to 5.32.0. https://perldoc.perl.org/5.32.0/perldelta.html Core Enhancements The isa Operator Unicode 13.0 is supported Chained comparisons capability New Unicode properties Identifier_Status and Identifier_Type supported It is now possible to write qr/\p{Name=...}/, or qr!\p{na=/(SMILING|GRINNING) FACE/}! Improvement of POSIX::mblen(), mbtowc, and wctomb Alpha assertions are no longer experimental Script runs are no longer experimental Feature checks are now faster Perl is now developed on GitHub Compiled patterns can now be dumped before optimization Security [CVE-2020-10543] Buffer overflow caused by a crafted regular expression [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression [CVE-2020-12723] Buffer overflow caused by a crafted regular expression Additional Note Incompatible Changes Certain pattern matching features are now prohibited in compiling Unicode property value wildcard subpatterns Unused functions POSIX::mbstowcs and POSIX::wcstombs are removed A bug fix for (?[...]) may have caused some patterns to no longer compile \p{_user-defined_} properties now always override official Unicode ones Modifiable variables are no longer permitted in constants Use of perlfunc/vec EXPR,OFFSET,BITS on strings with code points above 0xFF is forbidden Use of code points over 0xFF in string bitwise operators Sys::Hostname::hostname() does not accept arguments Plain "0" string now treated as a number for range operator \K now disallowed in look-ahead and look-behind assertions Performance Enhancements Modules and Pragmata Updated Modules and Pragmata Removed Modules and Pragmata Documentation Changes to Existing Documentation Diagnostics New Diagnostics Changes to Existing Diagnostics Utility Changes the perlbug manpage the streamzip manpage
2020-08-31 20:00:37 +02:00
.PHONY: perl5-post-install
post-install: perl5-post-install
perl5-post-install:
Update perl from version 5.10.1nb2 to version 5.12.1. Pkgsrc changes: - Adjust some patches - Remove patches integrated upstream - Use Perl's "Policy.sh" framework (along the way remove some patches) - Link in an enterprise friendly way on HPUX - in buildlink3.mk bump minimum required pkgsrc Perl version to 5.12.0 - placate some pkglint warnings Upstream changes: - From version 5.12.1 announce This release contains minor bug fixes and updates of several core modules, as well as minor documentation updates. It should be fully backward compatible with Perl 5.12.0. - From version 5.12.0 announce: Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers. [...] Notable changes in Perl 5.12 include: * Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard. * New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax. * Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier. * New syntax allows developers to specify package version numbers directly in "package" statements * Perl now warns the user about the use of deprecated features by default. - For a complete list of changes see included perl5120delta(1) and perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and http://perldoc.perl.org/perl5121delta.html
2010-08-19 22:47:09 +02:00
${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \
strip ${DESTDIR}${PREFIX}/bin/a2p; \
fi
${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh \
${DESTDIR}${PERL5_PERLBASE}/bin/perllink
${INSTALL_MAN} ${FILESDIR}/perllink.1 \
${DESTDIR}${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1
${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1
${LN} -s ${PERL5_PERLBASE}/bin/perllink \
${DESTDIR}${PREFIX}/bin/perllink
${LN} -s ${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1
.if ${OPSYS} == "Haiku"
${CHMOD} a+x ${DESTDIR}${PREFIX}/bin/perl
.endif
.include "packlist.mk"
.include "../../mk/bsd.pkg.mk"