Tue Apr 23 09:27:46 2019 UTC ()
perl5: updated to 5.28.2
NAME
perldelta - what is new for perl v5.28.2
DESCRIPTION
This document describes differences between the 5.28.1 release and the 5.28.2 release.
If you are upgrading from an earlier release such as 5.28.0, first read perl5281delta, which describes
differences between 5.28.0 and 5.28.1.
Incompatible Changes
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 previous design 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.
Modules and Pragmata
Updated Modules and Pragmata
o Module::CoreList has been upgraded from version 5.20181129_28 to 5.20190419.
o PerlIO::scalar has been upgraded from version 0.29 to 0.30.
o Storable has been upgraded from version 3.08 to 3.08_01.
Platform Support
Platform-Specific Notes
Windows
The Windows Server 2003 SP1 Platform SDK build, with its early x64 compiler and tools, was accidentally
broken in Perl 5.27.9. This has now been fixed.
Mac OS X
Perl's build and testing process on Mac OS X for "-Duseshrplib" builds is now compatible with Mac OS X
System Integrity Protection (SIP).
SIP prevents binaries in /bin (and a few other places) being passed the "DYLD_LIBRARY_PATH" environment
variable. For our purposes this prevents "DYLD_LIBRARY_PATH" from being passed to the shell, which
prevents that variable being passed to the testing or build process, so running "perl" couldn't find
libperl.dylib.
To work around that, the initial build of the perl executable expects to find libperl.dylib in the build
directory, and the library path is then adjusted during installation to point to the installed library.
Selected Bug Fixes
o If an in-place edit is still in progress during global destruction and the process exit code (as stored
in $?) is zero, perl will now treat the in-place edit as successful, replacing the input file with any
output produced.
This allows code like:
perl -i -ne 'print "Foo"; last'
to replace the input file, while code like:
perl -i -ne 'print "Foo"; die'
will not.
o A regression in Perl 5.28 caused the following code to fail
close(STDIN); open(CHILD, "|wc -l")'
because the child's stdin would be closed on exec. This has now been fixed.
o "pack "u", "invalid uuencoding"" now properly NUL terminates the zero-length SV produced.
o Failing to compile a format now aborts compilation. Like other errors in sub-parses this could leave
the parser in a strange state, possibly crashing perl if compilation continued.
o See "Any set of digits in the Common script are legal in a script run of another script".
(adam)
diff -r1.251 -r1.252 pkgsrc/lang/perl5/Makefile
diff -r1.35 -r1.36 pkgsrc/lang/perl5/Makefile.common
diff -r1.156 -r1.157 pkgsrc/lang/perl5/distinfo
diff -r1.22 -r1.23 pkgsrc/lang/perl5/hacks.mk
diff -r1.4 -r1.5 pkgsrc/lang/perl5/version.mk
diff -r1.7 -r1.8 pkgsrc/lang/perl5/patches/patch-Makefile.SH
diff -r1.21 -r0 pkgsrc/lang/perl5/patches/patch-ab
diff -r1.19 -r0 pkgsrc/lang/perl5/patches/patch-ac
diff -r1.2 -r1.3 pkgsrc/lang/perl5/patches/patch-caretx.c
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-hints_linux.sh
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-installperl
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-t_io_fs.t
diff -r1.1 -r1.2 pkgsrc/lang/perl5/patches/patch-dist_Storable_Makefile.PL
diff -r1.6 -r0 pkgsrc/lang/perl5/patches/patch-ta
--- pkgsrc/lang/perl5/Makefile 2018/12/02 13:39:56 1.251
+++ pkgsrc/lang/perl5/Makefile 2019/04/23 09:27:46 1.252
| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile,v 1.251 2018/12/02 13:39:56 adam Exp $ | | 1 | # $NetBSD: Makefile,v 1.252 2019/04/23 09:27:46 adam Exp $ |
2 | | | 2 | |
3 | .include "license.mk" | | 3 | .include "license.mk" |
4 | .include "Makefile.common" | | 4 | .include "Makefile.common" |
5 | | | 5 | |
6 | COMMENT= Practical Extraction and Report Language | | 6 | COMMENT= Practical Extraction and Report Language |
7 | | | 7 | |
8 | CONFLICTS+= perl-base-[0-9]* perl-thread-[0-9]* | | 8 | CONFLICTS+= perl-base-[0-9]* perl-thread-[0-9]* |
9 | | | 9 | |
10 | # CONFLICTS packages older than CORE modules version. | | 10 | # CONFLICTS packages older than CORE modules version. |
11 | # based on 'corelist -v ${PKGVERSION}' | | 11 | # based on 'corelist -v ${PKGVERSION}' |
12 | # update based on 'corelist -diff ${PREV_PKGVERSION} ${PKGVERSION}' | | 12 | # update based on 'corelist -diff ${PREV_PKGVERSION} ${PKGVERSION}' |
13 | CONFLICTS+= p5-Archive-Tar<1.96 | | 13 | CONFLICTS+= p5-Archive-Tar<1.96 |
14 | CONFLICTS+= p5-Attribute-Handlers<0.96 | | 14 | CONFLICTS+= p5-Attribute-Handlers<0.96 |
| @@ -284,27 +284,27 @@ SUBST_STAGE.dirmode= pre-configure | | | @@ -284,27 +284,27 @@ SUBST_STAGE.dirmode= pre-configure |
284 | SUBST_FILES.dirmode= installhtml install_lib.pl | | 284 | SUBST_FILES.dirmode= installhtml install_lib.pl |
285 | SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d" | | 285 | SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d" |
286 | | | 286 | |
287 | post-extract: | | 287 | post-extract: |
288 | cp ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh | | 288 | cp ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh |
289 | cp ${FILESDIR}/cpan-DB_File-hints-netbsd.pl \ | | 289 | cp ${FILESDIR}/cpan-DB_File-hints-netbsd.pl \ |
290 | ${WRKSRC}/cpan/DB_File/hints/netbsd.pl | | 290 | ${WRKSRC}/cpan/DB_File/hints/netbsd.pl |
291 | cp ${FILESDIR}/cpan-DB_File-hints-openbsd.pl \ | | 291 | cp ${FILESDIR}/cpan-DB_File-hints-openbsd.pl \ |
292 | ${WRKSRC}/cpan/DB_File/hints/openbsd.pl | | 292 | ${WRKSRC}/cpan/DB_File/hints/openbsd.pl |
293 | cp ${FILESDIR}/cpan-DB_File-hints-minix.pl \ | | 293 | cp ${FILESDIR}/cpan-DB_File-hints-minix.pl \ |
294 | ${WRKSRC}/cpan/DB_File/hints/minix.pl | | 294 | ${WRKSRC}/cpan/DB_File/hints/minix.pl |
295 | | | 295 | |
296 | pre-configure: | | 296 | pre-configure: |
297 | cd ${WRKSRC} && find `pwd` -name "*.orig" -type f -exec ${RM} -f {} \; | | 297 | find ${WRKSRC} -name "*.orig" -type f -delete |
298 | | | 298 | |
299 | post-build: | | 299 | post-build: |
300 | ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \ | | 300 | ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \ |
301 | -e "s,@SH@,"${SH:Q}",g" \ | | 301 | -e "s,@SH@,"${SH:Q}",g" \ |
302 | -e "s,@PKGMANDIR@,"${PKGMANDIR}",g" \ | | 302 | -e "s,@PKGMANDIR@,"${PKGMANDIR}",g" \ |
303 | ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh | | 303 | ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh |
304 | | | 304 | |
305 | INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 | | 305 | INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 |
306 | PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib | | 306 | PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib |
307 | PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} | | 307 | PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} |
308 | PERL5_PACKLIST= .packlist | | 308 | PERL5_PACKLIST= .packlist |
309 | PERL5_PACKLIST_DESTDIR= no | | 309 | PERL5_PACKLIST_DESTDIR= no |
310 | FILES_SUBST+= PERL5_COMMENT=\# | | 310 | FILES_SUBST+= PERL5_COMMENT=\# |
--- pkgsrc/lang/perl5/Makefile.common 2018/12/02 13:39:56 1.35
+++ pkgsrc/lang/perl5/Makefile.common 2019/04/23 09:27:46 1.36
| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: Makefile.common,v 1.35 2018/12/02 13:39:56 adam Exp $ | | 1 | # $NetBSD: Makefile.common,v 1.36 2019/04/23 09:27:46 adam Exp $ |
2 | # | | 2 | # |
3 | # used by lang/perl5/Makefile | | 3 | # used by lang/perl5/Makefile |
4 | # used by databases/p5-gdbm/Makefile | | 4 | # used by databases/p5-gdbm/Makefile |
5 | | | 5 | |
6 | DISTNAME= perl-5.28.1 | | 6 | DISTNAME= perl-5.28.2 |
7 | CATEGORIES= lang devel perl5 | | 7 | CATEGORIES= lang devel perl5 |
8 | MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/5.0/,} | | 8 | MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/5.0/,} |
9 | DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} | | 9 | DISTFILES+= ${DISTNAME}${EXTRACT_SUFX} |
10 | EXTRACT_SUFX= .tar.xz | | 10 | EXTRACT_SUFX= .tar.xz |
11 | | | 11 | |
12 | MAINTAINER= pkgsrc-users@NetBSD.org | | 12 | MAINTAINER= pkgsrc-users@NetBSD.org |
13 | HOMEPAGE= https://www.perl.org/ | | 13 | HOMEPAGE= https://www.perl.org/ |
14 | LICENSE= ${PERL5_LICENSE} | | 14 | LICENSE= ${PERL5_LICENSE} |
--- pkgsrc/lang/perl5/distinfo 2018/12/02 13:39:56 1.156
+++ pkgsrc/lang/perl5/distinfo 2019/04/23 09:27:46 1.157
| @@ -1,19 +1,19 @@ | | | @@ -1,19 +1,19 @@ |
1 | $NetBSD: distinfo,v 1.156 2018/12/02 13:39:56 adam Exp $ | | 1 | $NetBSD: distinfo,v 1.157 2019/04/23 09:27:46 adam Exp $ |
2 | | | 2 | |
3 | SHA1 (perl-5.28.1.tar.xz) = 5fc239bebb8c484c3f5c58e663274ce668981651 | | 3 | SHA1 (perl-5.28.2.tar.xz) = e7be78eca9ac5596783e6abcf957408050a7b650 |
4 | RMD160 (perl-5.28.1.tar.xz) = e2f0618fc01bcd253ef6e003c1d9b957b6f6aa53 | | 4 | RMD160 (perl-5.28.2.tar.xz) = 8ec4c3a3fa2df12c47cf3e9613dc215333f3d042 |
5 | SHA512 (perl-5.28.1.tar.xz) = 6d18e9684c3a15bea2ccd28f116d1829c3acd5547551ee3539f0060c0d1a75246dfe570dfb9d5f00625a994a0afb0cbd6a5a5f9a407fef75a421e7dbc6491b43 | | 5 | SHA512 (perl-5.28.2.tar.xz) = 0f2e4f7cb5d8cf6e00054b3842907e29b6c85902d97fb881d5bea65edbc875fef4e15e064561fac7c8db4939586576dd76a225026c7cca9624261c887b1fdb08 |
6 | Size (perl-5.28.1.tar.xz) = 12372080 bytes | | 6 | Size (perl-5.28.2.tar.xz) = 12374448 bytes |
7 | SHA1 (patch-Configure) = 00754ccc8bbeb38f8a0363d1bfba908fea9ef4d6 | | 7 | SHA1 (patch-Configure) = 00754ccc8bbeb38f8a0363d1bfba908fea9ef4d6 |
8 | SHA1 (patch-Makefile.SH) = febb87d876a44091a761d3ef99c649f3e4bdd394 | | 8 | SHA1 (patch-Makefile.SH) = a267630c3476baf6361e35a914f7cc741e313e72 |
9 | SHA1 (patch-aa) = 3a2b39c9eb903e68ef7d03ae448c51c147c19aa1 | | 9 | SHA1 (patch-caretx.c) = b76b4175a58123fa4dfd2adf36b2207dcb6cf65a |
10 | SHA1 (patch-ab) = 0ad5988b7cadfb13d9646a59a57f6cf884a6238a | | | |
11 | SHA1 (patch-ac) = 4baa8f80695687abb53d4f4e1830cf86db5b2bf7 | | | |
12 | SHA1 (patch-caretx.c) = cbe55cdb897c02805a51582f6a7e413ca313b630 | | | |
13 | SHA1 (patch-cflags.SH) = 7ad64e5a17b876bff4bbe238abc4a57354acf4fe | | 10 | SHA1 (patch-cflags.SH) = 7ad64e5a17b876bff4bbe238abc4a57354acf4fe |
14 | SHA1 (patch-dist_Storable_Makefile.PL) = fd8964cf3c94ba811caaf71be21650b29e4c8e50 | | 11 | SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm) = 3a2b39c9eb903e68ef7d03ae448c51c147c19aa1 |
| | | 12 | SHA1 (patch-dist_Storable_Makefile.PL) = 9664a9851d08eeb078da12210a41190d082aab9b |
15 | SHA1 (patch-hints_cygwin.sh) = 1b21d927d6b7379754c4cd64a2b05d3632c35470 | | 13 | SHA1 (patch-hints_cygwin.sh) = 1b21d927d6b7379754c4cd64a2b05d3632c35470 |
| | | 14 | SHA1 (patch-hints_linux.sh) = 4baa8f80695687abb53d4f4e1830cf86db5b2bf7 |
16 | SHA1 (patch-hints_minix.sh) = cb62ad0be5c38ca5b79f180252ca0843a0444f8a | | 15 | SHA1 (patch-hints_minix.sh) = cb62ad0be5c38ca5b79f180252ca0843a0444f8a |
17 | SHA1 (patch-hints_netbsd.sh) = 0d549a48800372d75fe34b783529a78cba90f646 | | 16 | SHA1 (patch-hints_netbsd.sh) = 0d549a48800372d75fe34b783529a78cba90f646 |
18 | SHA1 (patch-hints_solaris__2.sh) = 0e54889648a6f0f2a0232c5e01bef89d245c213d | | 17 | SHA1 (patch-hints_solaris__2.sh) = 0e54889648a6f0f2a0232c5e01bef89d245c213d |
19 | SHA1 (patch-ta) = a9d13eeec22733e4087942f217a0d47a19498a6f | | 18 | SHA1 (patch-installperl) = 0ad5988b7cadfb13d9646a59a57f6cf884a6238a |
| | | 19 | SHA1 (patch-t_io_fs.t) = a9d13eeec22733e4087942f217a0d47a19498a6f |
--- pkgsrc/lang/perl5/hacks.mk 2018/11/21 09:37:57 1.22
+++ pkgsrc/lang/perl5/hacks.mk 2019/04/23 09:27:46 1.23
| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: hacks.mk,v 1.22 2018/11/21 09:37:57 maya Exp $ | | 1 | # $NetBSD: hacks.mk,v 1.23 2019/04/23 09:27:46 adam Exp $ |
2 | | | 2 | |
3 | .if !defined(PERL5_HACKS_MK) | | 3 | .if !defined(PERL5_HACKS_MK) |
4 | PERL5_HACKS_MK= defined | | 4 | PERL5_HACKS_MK= defined |
5 | | | 5 | |
6 | .include "../../mk/compiler.mk" | | 6 | .include "../../mk/compiler.mk" |
7 | | | 7 | |
8 | ### [ Fri Oct 11 10:00:00 UTC 2011 : hauke ] | | 8 | ### [ Fri Oct 11 10:00:00 UTC 2011 : hauke ] |
9 | ### | | 9 | ### |
10 | ### On m68k, gcc creates short assembler branch insns, and expects | | 10 | ### On m68k, gcc creates short assembler branch insns, and expects |
11 | ### the assembler to adapt them to the distance. m68k gas appears not to | | 11 | ### the assembler to adapt them to the distance. m68k gas appears not to |
12 | ### do that for fpu branch insns, resulting in an out-of-range FPU | | 12 | ### do that for fpu branch insns, resulting in an out-of-range FPU |
13 | ### assembler branch instruction error in "ext/re/re_exec.c". | | 13 | ### assembler branch instruction error in "ext/re/re_exec.c". |
14 | ### | | 14 | ### |
| @@ -30,27 +30,27 @@ BUILDLINK_TRANSFORM+= opt:-O[0-9]*:-Os | | | @@ -30,27 +30,27 @@ BUILDLINK_TRANSFORM+= opt:-O[0-9]*:-Os |
30 | .if ${OPSYS} == "SunOS" && !empty(MACHINE_ARCH:Msparc*) | | 30 | .if ${OPSYS} == "SunOS" && !empty(MACHINE_ARCH:Msparc*) |
31 | PKG_HACKS+= sun-sparc-alignment-fault | | 31 | PKG_HACKS+= sun-sparc-alignment-fault |
32 | BUILDLINK_TRANSFORM+= opt:-O3:-O2 | | 32 | BUILDLINK_TRANSFORM+= opt:-O3:-O2 |
33 | .endif | | 33 | .endif |
34 | | | 34 | |
35 | ### [Fri Jan 31 11:09:04 CST 2014 : schnoebe] | | 35 | ### [Fri Jan 31 11:09:04 CST 2014 : schnoebe] |
36 | ### [Fri Oct 28 11:53:57 EDT 2016 : dholland - extended to gcc5] | | 36 | ### [Fri Oct 28 11:53:57 EDT 2016 : dholland - extended to gcc5] |
37 | ### gcc-[45].*.* in NetBSD/alpha causes unaligned access exception in perl. | | 37 | ### gcc-[45].*.* in NetBSD/alpha causes unaligned access exception in perl. |
38 | ### -O works around, and there is a report that -O2 -fno-tree-ter is enough. | | 38 | ### -O works around, and there is a report that -O2 -fno-tree-ter is enough. |
39 | .if (!empty(MACHINE_PLATFORM:MNetBSD-*-alpha) || !empty(MACHINE_PLATFORM:MOpenBSD-*-alpha)) \ | | 39 | .if (!empty(MACHINE_PLATFORM:MNetBSD-*-alpha) || !empty(MACHINE_PLATFORM:MOpenBSD-*-alpha)) \ |
40 | && !empty(CC_VERSION:Mgcc-[45].*.*) | | 40 | && !empty(CC_VERSION:Mgcc-[45].*.*) |
41 | # XXX: is there any good way to replace the default -O2 with multiple args? | | 41 | # XXX: is there any good way to replace the default -O2 with multiple args? |
42 | PKG_HACKS+= alpha-optimisation | | 42 | PKG_HACKS+= alpha-optimisation |
43 | #BUILDLINK_TRANSFORM+= opt:-O[2-9]*:-O2 -fno-tree-ter | | 43 | #BUILDLINK_TRANSFORM+= opt:-O[2-9]*:-O2 -fno-tree-ter |
44 | CFLAGS+=-fno-tree-ter | | 44 | CFLAGS+=-fno-tree-ter |
45 | .endif | | 45 | .endif |
46 | | | 46 | |
47 | ### [Thu May 14 23:17:20 JST 2015 : ryoon] | | 47 | ### [Thu May 14 23:17:20 JST 2015 : ryoon] |
48 | ### Force to use /usr/sfw/lib/amd64/libgcc_s.co.1 instead. | | 48 | ### Force to use /usr/sfw/lib/amd64/libgcc_s.co.1 instead. |
49 | .if !empty(MACHINE_PLATFORM:MSunOS-5.10-x86_64) | | 49 | .if !empty(MACHINE_PLATFORM:MSunOS-5.10-x86_64) |
50 | . if !empty(CC_VERSION:Mgcc-3.4.3) | | 50 | . if !empty(CC_VERSION:Mgcc-3.4.3) |
51 | BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/sfw/lib/amd64 | | 51 | BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/sfw/lib/amd64 |
52 | LDFLAGS+= ${COMPILER_RPATH_FLAG}/usr/sfw/lib/amd64 | | 52 | LDFLAGS+= ${COMPILER_RPATH_FLAG}/usr/sfw/lib/amd64 |
53 | . endif | | 53 | . endif |
54 | .endif | | 54 | .endif |
55 | | | 55 | |
56 | ### [Thu Aug 6 14:43:56 PDT 2015 : mrg] | | 56 | ### [Thu Aug 6 14:43:56 PDT 2015 : mrg] |
--- pkgsrc/lang/perl5/version.mk 2011/08/05 18:06:14 1.4
+++ pkgsrc/lang/perl5/version.mk 2019/04/23 09:27:46 1.5
| @@ -1,25 +1,25 @@ | | | @@ -1,25 +1,25 @@ |
1 | # $NetBSD: version.mk,v 1.4 2011/08/05 18:06:14 adam Exp $ | | 1 | # $NetBSD: version.mk,v 1.5 2019/04/23 09:27:46 adam Exp $ |
2 | # | | 2 | # |
3 | # Distill the PERL5_REQD list into a single value that is the highest | | 3 | # Distill the PERL5_REQD list into a single value that is the highest |
4 | # version of Perl required. | | 4 | # version of Perl required. |
5 | # | | 5 | # |
6 | | | 6 | |
7 | # Default to needing Perl 5. | | 7 | # Default to needing Perl 5. |
8 | PERL5_REQD+= 5.0 | | 8 | PERL5_REQD+= 5.0 |
9 | PERL5_REQD+= ${_OPSYS_PERL_REQD} | | 9 | PERL5_REQD+= ${_OPSYS_PERL_REQD} |
10 | | | 10 | |
11 | .if !defined(_PERL5_REQD) | | 11 | .if !defined(_PERL5_REQD) |
12 | _PERL5_REQD?= none | | 12 | _PERL5_REQD?= none |
13 | . for _version_ in ${PERL5_REQD} | | 13 | . for _version_ in ${PERL5_REQD} |
14 | . for _pkg_ in perl-${_version_} | | 14 | . for _pkg_ in perl-${_version_} |
15 | . if !empty(_PERL5_REQD:Mnone) | | 15 | . if !empty(_PERL5_REQD:Mnone) |
16 | _PERL5_PKG_SATISFIES_DEP= yes | | 16 | _PERL5_PKG_SATISFIES_DEP= yes |
17 | . for _dep_ in ${PERL5_REQD:S/^/perl>=/} | | 17 | . for _dep_ in ${PERL5_REQD:S/^/perl>=/} |
18 | . if !empty(_PERL5_PKG_SATISFIES_DEP:M[yY][eE][sS]) | | 18 | . if !empty(_PERL5_PKG_SATISFIES_DEP:M[yY][eE][sS]) |
19 | _PERL5_PKG_SATISFIES_DEP!= \ | | 19 | _PERL5_PKG_SATISFIES_DEP!= \ |
20 | if ${PKG_ADMIN} pmatch ${_dep_:Q} ${_pkg_:Q} 2>/dev/null; then \ | | 20 | if ${PKG_ADMIN} pmatch ${_dep_:Q} ${_pkg_:Q} 2>/dev/null; then \ |
21 | ${ECHO} yes; \ | | 21 | ${ECHO} yes; \ |
22 | else \ | | 22 | else \ |
23 | ${ECHO} no; \ | | 23 | ${ECHO} no; \ |
24 | fi | | 24 | fi |
25 | . endif | | 25 | . endif |
--- pkgsrc/lang/perl5/patches/patch-Makefile.SH 2018/09/01 08:03:02 1.7
+++ pkgsrc/lang/perl5/patches/patch-Makefile.SH 2019/04/23 09:27:46 1.8
| @@ -1,25 +1,35 @@ | | | @@ -1,25 +1,35 @@ |
1 | $NetBSD: patch-Makefile.SH,v 1.7 2018/09/01 08:03:02 schmonz Exp $ | | 1 | $NetBSD: patch-Makefile.SH,v 1.8 2019/04/23 09:27:46 adam Exp $ |
2 | | | 2 | |
| | | 3 | Use correct -install_name on Darwin. |
3 | Fix DTrace object generation. | | 4 | Fix DTrace object generation. |
4 | Fix Storable build on OS X where DYLD_LIBRARY_PATH is no longer | | 5 | Fix Storable build on OS X where DYLD_LIBRARY_PATH is no longer |
5 | inherited by child processes. | | 6 | inherited by child processes. |
6 | | | 7 | |
7 | --- Makefile.SH.orig 2018-05-21 13:22:09.000000000 +0000 | | 8 | --- Makefile.SH.orig 2019-04-02 22:36:35.000000000 +0200 |
8 | +++ Makefile.SH | | 9 | +++ Makefile.SH 2019-04-23 10:07:15.000000000 +0200 |
9 | @@ -275,6 +275,7 @@ LNS = $lns | | 10 | @@ -70,7 +70,7 @@ |
| | | 11 | ${revision}.${patchlevel}.${subversion}" |
| | | 12 | case "$osvers" in |
| | | 13 | 1[5-9]*|[2-9]*) |
| | | 14 | - shrpldflags="$shrpldflags -install_name `pwd`/\$@ -Xlinker -headerpad_max_install_names" |
| | | 15 | + shrpldflags="$shrpldflags -install_name \$(shrpdir)/\$@ -Xlinker -headerpad_max_install_names" |
| | | 16 | exeldflags="-Xlinker -headerpad_max_install_names" |
| | | 17 | ;; |
| | | 18 | *) |
| | | 19 | @@ -283,6 +283,7 @@ |
10 | # NOTE: some systems don't grok "cp -f". XXX Configure test needed? | | 20 | # NOTE: some systems don't grok "cp -f". XXX Configure test needed? |
11 | CPS = $cp | | 21 | CPS = $cp |
12 | RMS = rm -f | | 22 | RMS = rm -f |
13 | +ECHO = $echo | | 23 | +ECHO = $echo |
14 | ranlib = $ranlib | | 24 | ranlib = $ranlib |
15 | | | 25 | |
16 | # The following are mentioned only to make metaconfig include the | | 26 | # The following are mentioned only to make metaconfig include the |
17 | @@ -1167,7 +1168,7 @@ esac | | 27 | @@ -1197,7 +1198,7 @@ |
18 | $spitshell >>$Makefile <<EOT | | 28 | $spitshell >>$Makefile <<EOT |
19 | | | 29 | |
20 | dist/Storable/lib/Storable/Limit.pm : \$(PERL_EXE) dist/Storable/stacksize $storable_limit_dep | | 30 | dist/Storable/lib/Storable/Limit.pm : \$(PERL_EXE) dist/Storable/stacksize $storable_limit_dep |
21 | - cd dist/Storable ; \$(LDLIBPTH) \$(MAKE) lib/Storable/Limit.pm | | 31 | - cd dist/Storable ; \$(LDLIBPTH) \$(MAKE) lib/Storable/Limit.pm |
22 | + cd dist/Storable ; LDLIBPTH=\$(LDLIBPTH) \$(MAKE) lib/Storable/Limit.pm | | 32 | + cd dist/Storable ; LDLIBPTH=\$(LDLIBPTH) \$(MAKE) lib/Storable/Limit.pm |
23 | | | 33 | |
24 | lib/Storable/Limit.pm : dist/Storable/lib/Storable/Limit.pm | | 34 | lib/Storable/Limit.pm : dist/Storable/lib/Storable/Limit.pm |
25 | test -d lib/Storable || mkdir lib/Storable | | 35 | test -d lib/Storable || mkdir lib/Storable |
--- pkgsrc/lang/perl5/patches/patch-caretx.c 2018/10/15 03:01:37 1.2
+++ pkgsrc/lang/perl5/patches/patch-caretx.c 2019/04/23 09:27:46 1.3
| @@ -1,72 +1,15 @@ | | | @@ -1,72 +1,15 @@ |
1 | $NetBSD: patch-caretx.c,v 1.2 2018/10/15 03:01:37 taca Exp $ | | 1 | $NetBSD: patch-caretx.c,v 1.3 2019/04/23 09:27:46 adam Exp $ |
2 | | | 2 | |
3 | * NetBSD's implementation sometimes returns "/"; reject that too. | | 3 | NetBSD's implementation sometimes returns "/"; reject that too. |
4 | * Apply 03b94aa47e981af3c7b0118bfb11facda2b95251 from upstream make | | | |
5 | $^X fallback work when platform-specific technique fails. | | | |
6 | | | 4 | |
7 | --- caretx.c.orig 2018-05-21 12:29:23.000000000 +0000 | | 5 | --- caretx.c.orig 2019-04-02 20:36:35.000000000 +0000 |
8 | +++ caretx.c | | 6 | +++ caretx.c |
9 | @@ -56,7 +56,19 @@ Perl_set_caret_X(pTHX) { | | 7 | @@ -133,7 +133,7 @@ Perl_set_caret_X(pTHX) { |
10 | SV *const caret_x = GvSV(tmpgv); | | | |
11 | #if defined(OS2) | | | |
12 | sv_setpv(caret_x, os2_execname(aTHX)); | | | |
13 | -#elif defined(USE_KERN_PROC_PATHNAME) | | | |
14 | + return; | | | |
15 | +#elif defined(WIN32) | | | |
16 | + char *ansi; | | | |
17 | + WCHAR widename[MAX_PATH]; | | | |
18 | + GetModuleFileNameW(NULL, widename, sizeof(widename)/sizeof(WCHAR)); | | | |
19 | + ansi = win32_ansipath(widename); | | | |
20 | + sv_setpv(caret_x, ansi); | | | |
21 | + win32_free(ansi); | | | |
22 | + return; | | | |
23 | +#else | | | |
24 | + /* We can try a platform-specific one if possible; if it fails, or we | | | |
25 | + * aren't running on a suitable platform, we'll fall back to argv[0]. */ | | | |
26 | +# ifdef USE_KERN_PROC_PATHNAME | | | |
27 | size_t size = 0; | | | |
28 | int mib[4]; | | | |
29 | mib[0] = CTL_KERN; | | | |
30 | @@ -76,7 +88,7 @@ Perl_set_caret_X(pTHX) { | | | |
31 | return; | | | |
32 | } | | | |
33 | } | | | |
34 | -#elif defined(USE_NSGETEXECUTABLEPATH) | | | |
35 | +# elif defined(USE_NSGETEXECUTABLEPATH) | | | |
36 | char buf[1]; | | | |
37 | uint32_t size = sizeof(buf); | | | |
38 | | | | |
39 | @@ -95,7 +107,7 @@ Perl_set_caret_X(pTHX) { | | | |
40 | return; | | | |
41 | } | | | |
42 | } | | | |
43 | -#elif defined(HAS_PROCSELFEXE) | | | |
44 | +# elif defined(HAS_PROCSELFEXE) | | | |
45 | char buf[MAXPATHLEN]; | | | |
46 | SSize_t len = readlink(PROCSELFEXE_PATH, buf, sizeof(buf) - 1); | | | |
47 | /* NOTE: if the length returned by readlink() is sizeof(buf) - 1, | | | |
48 | @@ -120,20 +132,14 @@ Perl_set_caret_X(pTHX) { | | | |
49 | to the executable (or returning an error from the readlink). Any | | | |
50 | valid path has a '/' in it somewhere, so use that to validate the | | 8 | valid path has a '/' in it somewhere, so use that to validate the |
51 | result. See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 | | 9 | result. See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 |
52 | + | | | |
53 | + NetBSD's implementation sometimes returns "/"; reject that too. | | | |
54 | */ | | 10 | */ |
55 | - if (len > 0 && memchr(buf, '/', len)) { | | 11 | - if (len > 0 && memchr(buf, '/', len)) { |
56 | + if (len > 1 && memchr(buf, '/', len)) { | | 12 | + if (len > 1 && memchr(buf, '/', len)) { |
57 | sv_setpvn(caret_x, buf, len); | | 13 | sv_setpvn(caret_x, buf, len); |
58 | return; | | 14 | return; |
59 | } | | 15 | } |
60 | -#elif defined(WIN32) | | | |
61 | - char *ansi; | | | |
62 | - WCHAR widename[MAX_PATH]; | | | |
63 | - GetModuleFileNameW(NULL, widename, sizeof(widename)/sizeof(WCHAR)); | | | |
64 | - ansi = win32_ansipath(widename); | | | |
65 | - sv_setpv(caret_x, ansi); | | | |
66 | - win32_free(ansi); | | | |
67 | - return; | | | |
68 | -#else | | | |
69 | +# endif | | | |
70 | /* Fallback to this: */ | | | |
71 | sv_setpv(caret_x, PL_origargv[0]); | | | |
72 | #endif | | | |
$NetBSD: patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm,v 1.1 2019/04/23 09:27:46 adam Exp $
* $Is{NetBSD} and $Is{Interix} are unified into $Is{BSD}.
* Ignore installed packlist when creating new packlist.
--- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.orig 2017-04-19 13:37:05.000000000 +0000
+++ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -28,8 +28,6 @@ BEGIN {
$Is{VMS} = $^O eq 'VMS';
$Is{OSF} = $^O eq 'dec_osf';
$Is{IRIX} = $^O eq 'irix';
- $Is{NetBSD} = $^O eq 'netbsd';
- $Is{Interix} = $^O eq 'interix';
$Is{SunOS4} = $^O eq 'sunos';
$Is{Solaris} = $^O eq 'solaris';
$Is{SunOS} = $Is{SunOS4} || $Is{Solaris};
@@ -1022,7 +1020,7 @@ sub xs_make_dynamic_lib {
push(@m," \$(RM_F) \$\@\n");
my $libs = '$(LDLOADLIBS)';
- if (($Is{NetBSD} || $Is{Interix} || $Is{Android}) && $Config{'useshrplib'} eq 'true') {
+ if ($Is{BSD} && $Config{'useshrplib'} eq 'true') {
# Use nothing on static perl platforms, and to the flags needed
# to link against the shared libperl library on shared perl
# platforms. We peek at lddlflags to see if we need -Wl,-R
@@ -2264,7 +2262,7 @@ pure_vendor_install :: all
$(NOECHO) $(MOD_INSTALL) \
};
push @m,
-q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
+q{ read "" \
write "}.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{" \
} unless $self->{NO_PACKLIST};
$NetBSD: patch-hints_linux.sh,v 1.1 2019/04/23 09:27:46 adam Exp $
We intentionally wire down the 'libswanted' list in the package Makefile,
so don't let the hints file add new libraries that may be found outside
Pkgsrc control.
--- hints/linux.sh.orig 2014-05-26 13:34:20.000000000 +0000
+++ hints/linux.sh
@@ -61,10 +61,6 @@
# Debian 4.0 puts ndbm in the -lgdbm_compat library.
echo $libs
-if echo " $libswanted " | grep -q ' gdbm '; then
- # Only add if gdbm is in libswanted.
- libswanted="$libswanted gdbm_compat"
-fi
# Configure may fail to find lstat() since it's a static/inline
# function in <sys/stat.h>.
$NetBSD: patch-installperl,v 1.1 2019/04/23 09:27:46 adam Exp $
--- installperl.orig 2014-05-26 13:34:20.000000000 +0000
+++ installperl
@@ -332,7 +332,6 @@ $do_installprivlib = 0 if $versiononly &
mkpath($installprivlib);
mkpath($installarchlib);
mkpath($installsitelib, $opts{verbose}, 0777) if ($installsitelib);
-mkpath($installsitearch, $opts{verbose}, 0777) if ($installsitearch);
if (-d 'lib') {
find({no_chdir => 1, wanted => \&installlib}, 'lib')
$NetBSD: patch-t_io_fs.t,v 1.1 2019/04/23 09:27:46 adam Exp $
On NetBSD, filesystems may be mounted with the noatime option.
--- t/io/fs.t.orig 2013-05-01 02:52:56.000000000 +0000
+++ t/io/fs.t
@@ -275,15 +275,15 @@ sub check_utime_result {
is( $atime, 500000001, 'atime' );
is( $mtime, 500000000 + $delta, 'mtime' );
}
- elsif ($^O eq 'haiku') {
+ elsif ($^O eq 'haiku' || $^O eq 'netbsd') {
SKIP: {
skip "atime not updated", 1;
}
is($mtime, 500000001, 'mtime');
}
else {
- fail("atime");
- fail("mtime");
+ fail("atime: expected 500000000, got ${atime}");
+ fail("mtime: expected ".(500000000+$delta).", got ${mtime}");
}
}
}
--- pkgsrc/lang/perl5/patches/Attic/patch-dist_Storable_Makefile.PL 2018/09/01 08:03:02 1.1
+++ pkgsrc/lang/perl5/patches/Attic/patch-dist_Storable_Makefile.PL 2019/04/23 09:27:46 1.2
| @@ -1,16 +1,16 @@ | | | @@ -1,16 +1,16 @@ |
1 | $NetBSD: patch-dist_Storable_Makefile.PL,v 1.1 2018/09/01 08:03:02 schmonz Exp $ | | 1 | $NetBSD: patch-dist_Storable_Makefile.PL,v 1.2 2019/04/23 09:27:46 adam Exp $ |
2 | | | 2 | |
3 | Fix Storable build on OS X where DYLD_LIBRARY_PATH is no longer | | 3 | Fix Storable build on OS X where DYLD_LIBRARY_PATH is no longer |
4 | inherited by child processes. | | 4 | inherited by child processes. |
5 | | | 5 | |
6 | --- dist/Storable/Makefile.PL.orig 2018-05-21 12:29:23.000000000 +0000 | | 6 | --- dist/Storable/Makefile.PL.orig 2019-04-02 20:36:35.000000000 +0000 |
7 | +++ dist/Storable/Makefile.PL | | 7 | +++ dist/Storable/Makefile.PL |
8 | @@ -95,7 +95,7 @@ sub depend { | | 8 | @@ -102,7 +102,7 @@ sub depend { |
9 | " | | 9 | " |
10 | $limit_pm : stacksize \$(INST_$linktype)$extra_deps | | 10 | $limit_pm : stacksize \$(INST_$linktype)$extra_deps |
11 | \$(MKPATH) \$(INST_LIB) | | 11 | \$(MKPATH) \$(INST_LIB) |
12 | - \$(FULLPERLRUNINST) stacksize $options | | 12 | - $whichperl stacksize $options |
13 | + \$(LDLIBPTH) \$(FULLPERLRUNINST) stacksize $options | | 13 | + \$(LDLIBPTH) $whichperl stacksize $options |
14 | | | 14 | |
15 | release : dist | | 15 | release : dist |
16 | git tag \$(VERSION) | | 16 | git tag \$(VERSION) |