summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2020-08-31 18:00:37 +0000
committerwiz <wiz@pkgsrc.org>2020-08-31 18:00:37 +0000
commit0792951654684952e47f9062128414d79d5dc1ec (patch)
tree2180552f8e5300e986c3f980bc1251e31dd42334 /lang
parent40067bd98aba056c1ae5e9abbfd45c21be710d72 (diff)
downloadpkgsrc-0792951654684952e47f9062128414d79d5dc1ec.tar.gz
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
Diffstat (limited to 'lang')
-rw-r--r--lang/perl5/Makefile137
-rw-r--r--lang/perl5/Makefile.common4
-rw-r--r--lang/perl5/buildlink3.mk7
-rw-r--r--lang/perl5/distinfo17
-rw-r--r--lang/perl5/hacks.mk6
-rw-r--r--lang/perl5/module.mk8
-rw-r--r--lang/perl5/patches/patch-alignment_1273
-rw-r--r--lang/perl5/patches/patch-alignment_2187
-rw-r--r--lang/perl5/patches/patch-cflags.SH14
-rw-r--r--lang/perl5/patches/patch-hints_minix.sh155
-rw-r--r--lang/perl5/patches/patch-hints_solaris__2.sh8
11 files changed, 96 insertions, 720 deletions
diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile
index d6f79bd82ab..9cb24cf3017 100644
--- a/lang/perl5/Makefile
+++ b/lang/perl5/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.262 2020/08/30 13:36:01 js Exp $
+# $NetBSD: Makefile,v 1.263 2020/08/31 18:00:37 wiz Exp $
.include "license.mk"
.include "Makefile.common"
@@ -10,79 +10,72 @@ CONFLICTS+= perl-base-[0-9]* perl-thread-[0-9]*
# CONFLICTS packages older than CORE modules version.
# based on 'corelist -v ${PKGVERSION}'
# update based on 'corelist -diff ${PREV_PKGVERSION} ${PKGVERSION}'
-CONFLICTS+= p5-Archive-Tar<1.96
-CONFLICTS+= p5-Attribute-Handlers<0.96
+CONFLICTS+= p5-Archive-Tar<2.36
+CONFLICTS+= p5-Attribute-Handlers<1.01
CONFLICTS+= p5-AutoLoader<5.74
-CONFLICTS+= p5-CGI<3.65
-# older for www/p5-CGI-Fast
-CONFLICTS+= p5-CPAN<2.0500 # 2.05
-CONFLICTS+= p5-CPAN-Meta<2.140640
-CONFLICTS+= p5-CPAN-Meta-Requirements<2.125
-CONFLICTS+= p5-CPAN-Meta-YAML<0.012
-CONFLICTS+= p5-Compress-Raw-Bzip2<2.064
-CONFLICTS+= p5-Compress-Raw-Zlib<2.064
-CONFLICTS+= p5-DB_File<1.831
-CONFLICTS+= p5-Devel-PPPort<3.21
-CONFLICTS+= p5-Digest<1.17
-CONFLICTS+= p5-Digest-MD5<2.53
-CONFLICTS+= p5-Digest-SHA<5.88
-CONFLICTS+= p5-Encode<2.60
-CONFLICTS+= p5-ExtUtils-CBuilder<0.28.02.16 # 0.280216
-CONFLICTS+= p5-ExtUtils-Command<1.18
-CONFLICTS+= p5-ExtUtils-Embed<1.32
-CONFLICTS+= p5-ExtUtils-Install<1.67
-CONFLICTS+= p5-ExtUtils-MakeMaker<6.98
-CONFLICTS+= p5-ExtUtils-Manifest<1.63
-CONFLICTS+= p5-ExtUtils-ParseXS<3.24
-CONFLICTS+= p5-File-Path<2.09
-CONFLICTS+= p5-File-Temp<0.23.04 # 0.2304
-CONFLICTS+= p5-Getopt-Long<2.42
-CONFLICTS+= p5-HTTP-Tiny<0.043
-CONFLICTS+= p5-I18N-LangTags<0.40
-CONFLICTS+= p5-IO<1.3100 # 1.31
-CONFLICTS+= p5-IO-Compress<2.064 # IO::Compress::*, Compress::*
+CONFLICTS+= p5-CPAN<2.2700 # 2.27
+CONFLICTS+= p5-CPAN-Meta<2.150010
+CONFLICTS+= p5-CPAN-Meta-Requirements<2.140
+CONFLICTS+= p5-CPAN-Meta-YAML<0.018
+CONFLICTS+= p5-Compress-Raw-Bzip2<2.093
+CONFLICTS+= p5-Compress-Raw-Zlib<2.093
+CONFLICTS+= p5-DB_File<1.853
+CONFLICTS+= p5-Devel-PPPort<3.57
+CONFLICTS+= p5-Digest<1.17.01
+CONFLICTS+= p5-Digest-MD5<2.55.01
+CONFLICTS+= p5-Digest-SHA<6.02
+CONFLICTS+= p5-Encode<3.06
+CONFLICTS+= p5-ExtUtils-CBuilder<0.28.02.34 # 0.280234
+CONFLICTS+= p5-ExtUtils-Command<7.44
+CONFLICTS+= p5-ExtUtils-Embed<1.35
+CONFLICTS+= p5-ExtUtils-Install<2.14
+CONFLICTS+= p5-ExtUtils-MakeMaker<7.44
+CONFLICTS+= p5-ExtUtils-Manifest<1.72
+CONFLICTS+= p5-ExtUtils-ParseXS<3.40
+CONFLICTS+= p5-File-Path<2.16
+CONFLICTS+= p5-File-Temp<0.23.09 # 0.2309
+CONFLICTS+= p5-Getopt-Long<2.51
+CONFLICTS+= p5-HTTP-Tiny<0.076
+CONFLICTS+= p5-I18N-LangTags<0.44
+CONFLICTS+= p5-IO<1.4300 # 1.43
+CONFLICTS+= p5-IO-Compress<2.093 # IO::Compress::*, Compress::*
CONFLICTS+= p5-IO-Zlib<1.10
-CONFLICTS+= p5-IPC-Cmd<0.92
-CONFLICTS+= p5-IPC-SysV<2.04
-CONFLICTS+= p5-JSON-PP<2.27203
-CONFLICTS+= p5-Locale-Codes<3.30
-CONFLICTS+= p5-Locale-Maketext<1.25
-CONFLICTS+= p5-Locale-Maketext-Simple<0.21
-CONFLICTS+= p5-MIME-Base64<3.14
-CONFLICTS+= p5-Math-Complex<1.59
-CONFLICTS+= p5-Memoize<1.03
-CONFLICTS+= p5-Module-Build<0.42050 # 0.4205
-CONFLICTS+= p5-Module-CoreList<3.10
-CONFLICTS+= p5-Module-Load<0.32
-CONFLICTS+= p5-NEXT<0.65
-CONFLICTS+= p5-Package-Constants<0.04
-CONFLICTS+= p5-Parse-CPAN-Meta<1.4414
-CONFLICTS+= p5-Pod-Escapes<1.06
-CONFLICTS+= p5-Pod-Parser<1.62
-CONFLICTS+= p5-Pod-Simple<3.28
-CONFLICTS+= p5-Pod-Usage<1.63
-CONFLICTS+= p5-Storable<2.49
-CONFLICTS+= p5-Sys-Syslog<0.33
-CONFLICTS+= p5-Term-ANSIColor<4.02
-CONFLICTS+= p5-Term-Cap<1.15
-CONFLICTS+= p5-Term-ReadLine<1.14
+CONFLICTS+= p5-IPC-Cmd<1.04
+CONFLICTS+= p5-IPC-SysV<2.07
+CONFLICTS+= p5-JSON-PP<4.04
+CONFLICTS+= p5-Locale-Maketext<1.29
+CONFLICTS+= p5-Locale-Maketext-Simple<0.21.01
+CONFLICTS+= p5-MIME-Base64<3.15
+CONFLICTS+= p5-Math-Complex<1.59.01
+CONFLICTS+= p5-Memoize<1.03.01
+CONFLICTS+= p5-Module-CoreList<5.202006200
+CONFLICTS+= p5-Module-Load<0.34
+CONFLICTS+= p5-NEXT<0.67.01
+CONFLICTS+= p5-Parse-CPAN-Meta<2.150010
+CONFLICTS+= p5-Pod-Escapes<1.07
+CONFLICTS+= p5-Pod-Simple<3.40
+CONFLICTS+= p5-Pod-Usage<1.69
+CONFLICTS+= p5-Storable<3.21
+CONFLICTS+= p5-Sys-Syslog<0.36
+CONFLICTS+= p5-Term-ANSIColor<5.01
+CONFLICTS+= p5-Term-Cap<1.17
+CONFLICTS+= p5-Term-ReadLine<1.17
# older for sysutils/shelldap
-CONFLICTS+= p5-Test-Harness<3.30
-CONFLICTS+= p5-Test-Simple<1.001002
-CONFLICTS+= p5-Text-Tabs+Wrap<2013.0523 # Text::Tabs + Text::Wrap
-CONFLICTS+= p5-Tie-File<1.00
+CONFLICTS+= p5-Test-Harness<3.42
+CONFLICTS+= p5-Test-Simple<1.302175
+CONFLICTS+= p5-Tie-File<1.06
CONFLICTS+= p5-Tie-RefHash<1.39
-CONFLICTS+= p5-Time-HiRes<1.9726
-CONFLICTS+= p5-Time-Local<1.23.00 # 1.2300
-CONFLICTS+= p5-Time-Piece<1.27
-CONFLICTS+= p5-Unicode-Collate<1.04
-CONFLICTS+= p5-Unicode-Normalize<1.17
-CONFLICTS+= p5-XSLoader<0.16
-CONFLICTS+= p5-autodie<2.23
-CONFLICTS+= p5-constant<1.31
-CONFLICTS+= p5-experimental<0.007
-CONFLICTS+= p5-parent<0.228
-CONFLICTS+= p5-version<0.9908
+CONFLICTS+= p5-Time-HiRes<1.9764
+CONFLICTS+= p5-Time-Local<1.28
+CONFLICTS+= p5-Time-Piece<1.34.01
+CONFLICTS+= p5-Unicode-Collate<1.27
+CONFLICTS+= p5-Unicode-Normalize<1.27
+CONFLICTS+= p5-XSLoader<0.30
+CONFLICTS+= p5-autodie<2.32
+CONFLICTS+= p5-constant<1.33
+CONFLICTS+= p5-experimental<0.020
+CONFLICTS+= p5-parent<0.238
+CONFLICTS+= p5-version<0.9924
SUPERSEDES+= p5-Tie-File<=0.99
SUPERSEDES+= p5-Memoize<=1.03
@@ -186,7 +179,7 @@ CONFIGURE_ARGS+= -Duseshrplib
USE_TOOLS+= hostname ln rm sed test
SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD
SUBST_VARS.policysh+= TOOLS_LN
-TOOLS_ALIASES.sed+= ${TOOLS_SED:T}
+TOOLS_ALIASES.sed= ${TOOLS_SED:T}
SUBST_VARS.policysh+= TOOLS_SED
SUBST_VARS.policysh+= TOOLS_SH
SUBST_VARS.policysh+= TOOLS_TEST
@@ -297,8 +290,8 @@ PERL5_PACKLIST_DESTDIR= no
FILES_SUBST+= PERL5_COMMENT=\#
FILES_SUBST+= PERL5_PACKLIST=
+.PHONY: perl5-post-install
post-install: perl5-post-install
-
perl5-post-install:
${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \
strip ${DESTDIR}${PREFIX}/bin/a2p; \
diff --git a/lang/perl5/Makefile.common b/lang/perl5/Makefile.common
index 310e7debf7a..f7bb34992f4 100644
--- a/lang/perl5/Makefile.common
+++ b/lang/perl5/Makefile.common
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.40 2020/06/03 08:39:16 adam Exp $
+# $NetBSD: Makefile.common,v 1.41 2020/08/31 18:00:37 wiz Exp $
#
# used by lang/perl5/Makefile
# used by databases/p5-gdbm/Makefile
-DISTNAME= perl-5.30.3
+DISTNAME= perl-5.32.0
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/5.0/,}
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}
diff --git a/lang/perl5/buildlink3.mk b/lang/perl5/buildlink3.mk
index 96850e4f93f..5171bf9c64a 100644
--- a/lang/perl5/buildlink3.mk
+++ b/lang/perl5/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.64 2019/08/11 13:02:00 wiz Exp $
+# $NetBSD: buildlink3.mk,v 1.65 2020/08/31 18:00:37 wiz Exp $
BUILDLINK_TREE+= perl
@@ -14,16 +14,17 @@ BUILDLINK_API_DEPENDS.perl+= perl>=${_perl5_ver_}
# with the next incompatible version of perl:
BUILDLINK_API_DEPENDS.perl+= perl<5.32.0
+BUILDLINK_ABI_DEPENDS.perl?= perl>=5.32.0nb1
BUILDLINK_PKGSRCDIR.perl?= ../../lang/perl5
_TOOLS_USE_PKGSRC.perl= yes
-PERL5= ${LOCALBASE}/bin/perl
+PERL5= ${PREFIX}/bin/perl
pkgbase := perl
.include "../../mk/pkg-build-options.mk"
-.if !empty(PKG_BUILD_OPTIONS.perl:Mthreads)
+.if ${PKG_BUILD_OPTIONS.perl:Mthreads}
. include "../../mk/pthread.buildlink3.mk"
.endif
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo
index 59dc3cfe3e2..7f801a39ab5 100644
--- a/lang/perl5/distinfo
+++ b/lang/perl5/distinfo
@@ -1,21 +1,18 @@
-$NetBSD: distinfo,v 1.164 2020/07/22 15:23:56 sjmulder Exp $
+$NetBSD: distinfo,v 1.165 2020/08/31 18:00:37 wiz Exp $
-SHA1 (perl-5.30.3.tar.xz) = 1003c6aa71d8966501038178459a9fa4e9aba747
-RMD160 (perl-5.30.3.tar.xz) = 7aaec213f6537a53abd8fd97bb96d91b681cdf1e
-SHA512 (perl-5.30.3.tar.xz) = 0ea62cf17532ee99217a218c39aa530472857c7a1982494f3a01693683062b4cdebe383a79f7b64452c713337b554ed5e0fd6eda018ea29e83c3538a13c24f3c
-Size (perl-5.30.3.tar.xz) = 12375128 bytes
+SHA1 (perl-5.32.0.tar.xz) = 0426c89d8ad5542def3e0065c299d449230aeb6c
+RMD160 (perl-5.32.0.tar.xz) = d28af2b0b2fc762f9d0dbf267f81e16d5657bd60
+SHA512 (perl-5.32.0.tar.xz) = 1540247415893bbd94dfeede7b4fba6052688dc0bf27ced817f448246fcdc6e9a6486abc34577dec5b00bf02ed607b2d24ccd4977c3b3c51e8e6edfc0b81c760
+Size (perl-5.32.0.tar.xz) = 12717336 bytes
SHA1 (patch-Configure) = f3f0f9fa5d146d97c53991185392eff419dcfb35
SHA1 (patch-Makefile.SH) = 56203aea57c429a94760f039a978463b8859b0a9
SHA1 (patch-Safe.pm) = bfeefb82d4cfe991e3a9a90cd87b894c9f4cc337
-SHA1 (patch-alignment_1) = b68c0916b271523922caa7f89edb165284e7b5f4
-SHA1 (patch-alignment_2) = cae8495c4a092e31da422bf5684481091ee2adf3
SHA1 (patch-caretx.c) = b76b4175a58123fa4dfd2adf36b2207dcb6cf65a
-SHA1 (patch-cflags.SH) = 7ad64e5a17b876bff4bbe238abc4a57354acf4fe
+SHA1 (patch-cflags.SH) = e940e4452768ccc1bdf21d435094e7efffceb925
SHA1 (patch-cpan_ExtUtils-MakeMaker_lib_ExtUtils_MM__Unix.pm) = 3a2b39c9eb903e68ef7d03ae448c51c147c19aa1
SHA1 (patch-hints_cygwin.sh) = 1b21d927d6b7379754c4cd64a2b05d3632c35470
SHA1 (patch-hints_darwin.sh) = 0d7a86950877eab23450e80cd99178cf845be63f
SHA1 (patch-hints_linux.sh) = 4baa8f80695687abb53d4f4e1830cf86db5b2bf7
-SHA1 (patch-hints_minix.sh) = cb62ad0be5c38ca5b79f180252ca0843a0444f8a
SHA1 (patch-hints_netbsd.sh) = 0d549a48800372d75fe34b783529a78cba90f646
-SHA1 (patch-hints_solaris__2.sh) = 0e54889648a6f0f2a0232c5e01bef89d245c213d
+SHA1 (patch-hints_solaris__2.sh) = 364a28ca57dbabe1f902b601e336532996db6a0e
SHA1 (patch-installperl) = 0ad5988b7cadfb13d9646a59a57f6cf884a6238a
diff --git a/lang/perl5/hacks.mk b/lang/perl5/hacks.mk
index c48dae965c3..ef152a60907 100644
--- a/lang/perl5/hacks.mk
+++ b/lang/perl5/hacks.mk
@@ -1,4 +1,4 @@
-# $NetBSD: hacks.mk,v 1.25 2019/11/03 19:04:05 rillig Exp $
+# $NetBSD: hacks.mk,v 1.26 2020/08/31 18:00:37 wiz Exp $
.if !defined(PERL5_HACKS_MK)
PERL5_HACKS_MK= defined
@@ -36,8 +36,8 @@ CFLAGS+= -fno-tree-ter
### [Thu May 14 23:17:20 JST 2015 : ryoon]
### Force to use /usr/sfw/lib/amd64/libgcc_s.co.1 instead.
-.if !empty(MACHINE_PLATFORM:MSunOS-5.10-x86_64)
-. if !empty(CC_VERSION:Mgcc-3.4.3)
+.if ${MACHINE_PLATFORM} == SunOS-5.10-x86_64
+. if ${CC_VERSION} == gcc-3.4.3
BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/sfw/lib/amd64
LDFLAGS+= ${COMPILER_RPATH_FLAG}/usr/sfw/lib/amd64
. endif
diff --git a/lang/perl5/module.mk b/lang/perl5/module.mk
index 354071c15b6..1ccbabae0b6 100644
--- a/lang/perl5/module.mk
+++ b/lang/perl5/module.mk
@@ -1,4 +1,4 @@
-# $NetBSD: module.mk,v 1.74 2019/11/03 19:04:05 rillig Exp $
+# $NetBSD: module.mk,v 1.75 2020/08/31 18:00:37 wiz Exp $
#
# This Makefile fragment is intended to be included by packages that build
# and install perl5 modules.
@@ -81,17 +81,17 @@ PERL5_MODTYPE= makemaker
BUILDLINK_DEPMETHOD.perl+= full
.include "../../lang/perl5/buildlink3.mk"
-.if empty(PKGPATH:Mdevel/p5-Module-Build) && \
+.if ${PKGPATH} != devel/p5-Module-Build && \
(${PERL5_MODULE_TYPE} == "Module::Build")
BUILD_DEPENDS+= p5-Module-Build>=0.42050:../../devel/p5-Module-Build
.endif
-.if empty(PKGPATH:Mdevel/p5-Module-Build-Tiny) && \
+.if ${PKGPATH} != devel/p5-Module-Build-Tiny && \
(${PERL5_MODULE_TYPE} == "Module::Build::Tiny")
BUILD_DEPENDS+= p5-Module-Build-Tiny>=0.23:../../devel/p5-Module-Build-Tiny
.endif
-.if empty(PKGPATH:Mdevel/p5-Module-Install) && \
+.if ${PKGPATH} != devel/p5-Module-Install && \
(${PERL5_MODULE_TYPE} == "Module::Install")
BUILD_DEPENDS+= p5-Module-Install>=0.91:../../devel/p5-Module-Install
.endif
diff --git a/lang/perl5/patches/patch-alignment_1 b/lang/perl5/patches/patch-alignment_1
deleted file mode 100644
index 0b9be720b92..00000000000
--- a/lang/perl5/patches/patch-alignment_1
+++ /dev/null
@@ -1,273 +0,0 @@
-$NetBSD: patch-alignment_1,v 1.1 2019/10/10 17:59:57 maya Exp $
-
-Apply upstream commit (not needed in perl >= 5.32.x)
-
-From ee9ac1cd8eb988fea70841eae211b11355711416 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Wed, 4 Sep 2019 21:04:47 -0700
-Subject: [PATCH] Digest-MD5: Consolidate byte-swapping paths
-
-The code guarded by #ifndef U32_ALIGNMENT_REQUIRED attempts to optimize
-byte-swapping by doing unaligned loads, but accessing data through
-unaligned pointers is undefined behavior in C. Moreover, compilers are
-more than capable of recognizing these open-coded byte-swap patterns and
-emitting a bswap instruction, or an unaligned load instruction, or a
-combined load, etc. There's no need for multiple paths to attain the
-desired result.
-
-See https://rt.perl.org/Ticket/Display.html?id=133495
----
- cpan/Digest-MD5/MD5.xs | 44 +----------------
- cpan/Digest-MD5/Makefile.PL | 114 --------------------------------------------
- cpan/Digest-MD5/t/files.t | 2 +-
- 3 files changed, 3 insertions(+), 157 deletions(-)
-
-diff --git a/cpan/Digest-MD5/MD5.xs b/cpan/Digest-MD5/MD5.xs
-index a48d951056..964d37fb0e 100644
---- cpan/Digest-MD5/MD5.xs.orig
-+++ cpan/Digest-MD5/MD5.xs
-@@ -106,20 +106,6 @@ static MAGIC *THX_sv_magicext(pTHX_ SV *sv, SV *obj, int type,
- * values. The following macros (and functions) allow us to convert
- * between native integers and such values.
- */
--#undef BYTESWAP
--#ifndef U32_ALIGNMENT_REQUIRED
-- #if BYTEORDER == 0x1234 /* 32-bit little endian */
-- #define BYTESWAP(x) (x) /* no-op */
--
-- #elif BYTEORDER == 0x4321 /* 32-bit big endian */
-- #define BYTESWAP(x) ((((x)&0xFF)<<24) \
-- |(((x)>>24)&0xFF) \
-- |(((x)&0x0000FF00)<<8) \
-- |(((x)&0x00FF0000)>>8) )
-- #endif
--#endif
--
--#ifndef BYTESWAP
- static void u2s(U32 u, U8* s)
- {
- *s++ = (U8)(u & 0xFF);
-@@ -132,7 +118,6 @@ static void u2s(U32 u, U8* s)
- ((U32)(*(s+1)) << 8) | \
- ((U32)(*(s+2)) << 16) | \
- ((U32)(*(s+3)) << 24))
--#endif
-
- /* This structure keeps the current state of algorithm.
- */
-@@ -279,29 +264,16 @@ MD5Transform(MD5_CTX* ctx, const U8* buf, STRLEN blocks)
- U32 C = ctx->C;
- U32 D = ctx->D;
-
--#ifndef U32_ALIGNMENT_REQUIRED
-- const U32 *x = (U32*)buf; /* really just type casting */
--#endif
--
- do {
- U32 a = A;
- U32 b = B;
- U32 c = C;
- U32 d = D;
-
--#if BYTEORDER == 0x1234 && !defined(U32_ALIGNMENT_REQUIRED)
-- const U32 *X = x;
-- #define NEXTx (*x++)
--#else
-- U32 X[16]; /* converted values, used in round 2-4 */
-+ U32 X[16]; /* little-endian values, used in round 2-4 */
- U32 *uptr = X;
- U32 tmp;
-- #ifdef BYTESWAP
-- #define NEXTx (tmp=*x++, *uptr++ = BYTESWAP(tmp))
-- #else
- #define NEXTx (s2u(buf,tmp), buf += 4, *uptr++ = tmp)
-- #endif
--#endif
-
- #ifdef MD5_DEBUG
- if (buf == ctx->buffer)
-@@ -313,7 +285,7 @@ MD5Transform(MD5_CTX* ctx, const U8* buf, STRLEN blocks)
- int i;
- fprintf(stderr,"[");
- for (i = 0; i < 16; i++) {
-- fprintf(stderr,"%x,", x[i]);
-+ fprintf(stderr,"%x,", x[i]); /* FIXME */
- }
- fprintf(stderr,"]\n");
- }
-@@ -468,30 +440,18 @@ MD5Final(U8* digest, MD5_CTX *ctx)
-
- bits_low = ctx->bytes_low << 3;
- bits_high = (ctx->bytes_high << 3) | (ctx->bytes_low >> 29);
--#ifdef BYTESWAP
-- *(U32*)(ctx->buffer + fill) = BYTESWAP(bits_low); fill += 4;
-- *(U32*)(ctx->buffer + fill) = BYTESWAP(bits_high); fill += 4;
--#else
- u2s(bits_low, ctx->buffer + fill); fill += 4;
- u2s(bits_high, ctx->buffer + fill); fill += 4;
--#endif
-
- MD5Transform(ctx, ctx->buffer, fill >> 6);
- #ifdef MD5_DEBUG
- fprintf(stderr," Result: %s\n", ctx_dump(ctx));
- #endif
-
--#ifdef BYTESWAP
-- *(U32*)digest = BYTESWAP(ctx->A); digest += 4;
-- *(U32*)digest = BYTESWAP(ctx->B); digest += 4;
-- *(U32*)digest = BYTESWAP(ctx->C); digest += 4;
-- *(U32*)digest = BYTESWAP(ctx->D);
--#else
- u2s(ctx->A, digest);
- u2s(ctx->B, digest+4);
- u2s(ctx->C, digest+8);
- u2s(ctx->D, digest+12);
--#endif
- }
-
- #ifndef INT2PTR
-diff --git a/cpan/Digest-MD5/Makefile.PL b/cpan/Digest-MD5/Makefile.PL
-index 1015058bac..76906d1046 100644
---- cpan/Digest-MD5/Makefile.PL.orig
-+++ cpan/Digest-MD5/Makefile.PL
-@@ -5,7 +5,6 @@ use Config qw(%Config);
- use ExtUtils::MakeMaker;
-
- my @extra;
--push(@extra, DEFINE => "-DU32_ALIGNMENT_REQUIRED") unless free_u32_alignment();
- push(@extra, INSTALLDIRS => 'perl') if $] >= 5.008 && $] < 5.012;
-
- if ($^O eq 'VMS') {
-@@ -39,119 +38,6 @@ WriteMakefile(
-
-
-
--sub free_u32_alignment
--{
-- $|=1;
-- if (exists $Config{d_u32align}) {
-- print "Perl's config says that U32 access must ";
-- print "not " unless $Config{d_u32align};
-- print "be aligned.\n";
-- return !$Config{d_u32align};
-- }
--
-- if ($^O eq 'VMS' || $^O eq 'MSWin32') {
-- print "Assumes that $^O implies free alignment for U32 access.\n";
-- return 1;
-- }
--
-- if ($^O eq 'hpux' && $Config{osvers} < 11.0) {
-- print "Will not test for free alignment on older HP-UX.\n";
-- return 0;
-- }
--
-- print "Testing alignment requirements for U32... ";
-- open(ALIGN_TEST, ">u32align.c") or die "$!";
-- print ALIGN_TEST <<'EOT'; close(ALIGN_TEST);
--/*--------------------------------------------------------------*/
--/* This program allocates a buffer of U8 (char) and then tries */
--/* to access it through a U32 pointer at every offset. The */
--/* program is expected to die with a bus error/seg fault for */
--/* machines that do not support unaligned integer read/write */
--/*--------------------------------------------------------------*/
--
--#include <stdio.h>
--#include "EXTERN.h"
--#include "perl.h"
--
--#ifdef printf
-- #undef printf
--#endif
--
--int main(int argc, char** argv, char** env)
--{
--#if BYTEORDER == 0x1234 || BYTEORDER == 0x4321
-- volatile U8 buf[] = "\0\0\0\1\0\0\0\0";
-- volatile U32 *up;
-- int i;
--
-- if (sizeof(U32) != 4) {
-- printf("sizeof(U32) is not 4, but %d\n", sizeof(U32));
-- exit(1);
-- }
--
-- fflush(stdout);
--
-- for (i = 0; i < 4; i++) {
-- up = (U32*)(buf + i);
-- if (! ((*up == 1 << (8*i)) || /* big-endian */
-- (*up == 1 << (8*(3-i))) /* little-endian */
-- )
-- )
-- {
-- printf("read failed (%x)\n", *up);
-- exit(2);
-- }
-- }
--
-- /* write test */
-- for (i = 0; i < 4; i++) {
-- up = (U32*)(buf + i);
-- *up = 0xBeef;
-- if (*up != 0xBeef) {
-- printf("write failed (%x)\n", *up);
-- exit(3);
-- }
-- }
--
-- printf("no restrictions\n");
-- exit(0);
--#else
-- printf("unusual byteorder, playing safe\n");
-- exit(1);
--#endif
-- return 0;
--}
--/*--------------------------------------------------------------*/
--EOT
--
-- my $cc_cmd = "$Config{cc} $Config{ccflags} -I$Config{archlibexp}/CORE";
-- my $exe = "u32align$Config{exe_ext}";
-- $cc_cmd .= " -o $exe";
-- my $rc;
-- $rc = system("$cc_cmd $Config{ldflags} u32align.c $Config{libs}");
-- if ($rc) {
-- print "Can't compile test program. Will ensure alignment to play safe.\n\n";
-- unlink("u32align.c", $exe, "u32align$Config{obj_ext}");
-- return 0;
-- }
--
-- $rc = system("./$exe");
-- unlink("u32align.c", $exe, "u32align$Config{obj_ext}");
--
-- return 1 unless $rc;
--
-- if ($rc > 0x80) {
-- (my $cp = $rc) >>= 8;
-- print "Test program exit status was $cp\n";
-- }
-- if ($rc & 0x80) {
-- $rc &= ~0x80;
-- unlink("core") && print "Core dump deleted\n";
-- }
-- print "signal $rc\n" if $rc && $rc < 0x80;
-- return 0;
--}
--
- BEGIN {
- # compatibility with older versions of MakeMaker
- my $developer = -d ".git";
-diff --git a/cpan/Digest-MD5/t/files.t b/cpan/Digest-MD5/t/files.t
-index 63479c24a3..ef64088c8c 100644
---- cpan/Digest-MD5/t/files.t.orig
-+++ cpan/Digest-MD5/t/files.t
-@@ -21,7 +21,7 @@ EOT
- # This is the output of: 'md5sum README MD5.xs rfc1321.txt'
- $EXPECT = <<EOT;
- 2f93400875dbb56f36691d5f69f3eba5 README
--9572832f3628e3bebcdd54f47c43dc5a MD5.xs
-+5b8b4f96bc27a425501307c5461970db MD5.xs
- 754b9db19f79dbc4992f7166eb0f37ce rfc1321.txt
- EOT
- }
diff --git a/lang/perl5/patches/patch-alignment_2 b/lang/perl5/patches/patch-alignment_2
deleted file mode 100644
index 561c2b3a64e..00000000000
--- a/lang/perl5/patches/patch-alignment_2
+++ /dev/null
@@ -1,187 +0,0 @@
-$NetBSD: patch-alignment_2,v 1.1 2019/10/10 17:59:57 maya Exp $
-
-Apply upstream commit (not needed in perl >= 5.32.x)
-
-From e8864dba80952684bf3afe83438d4eee0c3939a9 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Wed, 4 Sep 2019 21:48:56 -0700
-Subject: [PATCH 1/1] Clean up U8TO*_LE macro implementations
-
-The code guarded by #ifndef U32_ALIGNMENT_REQUIRED attempts to optimize
-byte-swapping by doing unaligned loads, but accessing data through
-unaligned pointers is undefined behavior in C. Moreover, compilers are
-more than capable of recognizing these open-coded byte-swap patterns and
-emitting a bswap instruction, or an unaligned load instruction, or a
-combined load, etc. There's no need for multiple paths to attain the
-desired result.
-
-See https://rt.perl.org/Ticket/Display.html?id=133495
----
- hv_macro.h | 31 ++++++++++++-------------------
- stadtx_hash.h | 52 ----------------------------------------------------
- zaphod32_hash.h | 35 -----------------------------------
- 3 files changed, 12 insertions(+), 106 deletions(-)
-
-diff --git a/hv_macro.h b/hv_macro.h
-index 77a4c84896..02c0baad08 100644
---- hv_macro.h.orig
-+++ hv_macro.h
-@@ -6,7 +6,7 @@
- #endif
-
- /*-----------------------------------------------------------------------------
-- * Endianess, misalignment capabilities and util macros
-+ * Endianess and util macros
- *
- * The following 3 macros are defined in this section. The other macros defined
- * are only needed to help derive these 3.
-@@ -20,29 +20,22 @@
- * ROTR64(x,r) Rotate x right by r bits
- */
-
--#ifndef U32_ALIGNMENT_REQUIRED
-+#ifndef U8TO16_LE
- #if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678)
-- #define U8TO16_LE(ptr) (*((const U16*)(ptr)))
-- #define U8TO32_LE(ptr) (*((const U32*)(ptr)))
-- #define U8TO64_LE(ptr) (*((const U64*)(ptr)))
-+ #define U8TO16_LE(ptr) ((U32)(ptr)[1]|(U32)(ptr)[0]<<8)
-+ #define U8TO32_LE(ptr) ((U32)(ptr)[3]|(U32)(ptr)[2]<<8|(U32)(ptr)[1]<<16|(U32)(ptr)[0]<<24)
-+ #define U8TO64_LE(ptr) ((U64)(ptr)[7]|(U64)(ptr)[6]<<8|(U64)(ptr)[5]<<16|(U64)(ptr)[4]<<24|\
-+ (U64)(ptr)[3]<<32|(U64)(ptr)[4]<<40|\
-+ (U64)(ptr)[1]<<48|(U64)(ptr)[0]<<56)
- #elif (BYTEORDER == 0x4321 || BYTEORDER == 0x87654321)
-- #if defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3))
-- #define U8TO16_LE(ptr) (__builtin_bswap16(*((U16*)(ptr))))
-- #define U8TO32_LE(ptr) (__builtin_bswap32(*((U32*)(ptr))))
-- #define U8TO64_LE(ptr) (__builtin_bswap64(*((U64*)(ptr))))
-- #endif
-+ #define U8TO16_LE(ptr) ((U32)(ptr)[0]|(U32)(ptr)[1]<<8)
-+ #define U8TO32_LE(ptr) ((U32)(ptr)[0]|(U32)(ptr)[1]<<8|(U32)(ptr)[2]<<16|(U32)(ptr)[3]<<24)
-+ #define U8TO64_LE(ptr) ((U64)(ptr)[0]|(U64)(ptr)[1]<<8|(U64)(ptr)[2]<<16|(U64)(ptr)[3]<<24|\
-+ (U64)(ptr)[4]<<32|(U64)(ptr)[5]<<40|\
-+ (U64)(ptr)[6]<<48|(U64)(ptr)[7]<<56)
- #endif
- #endif
-
--#ifndef U8TO16_LE
-- /* Without a known fast bswap32 we're just as well off doing this */
-- #define U8TO16_LE(ptr) ((U32)(ptr)[0]|(U32)(ptr)[1]<<8)
-- #define U8TO32_LE(ptr) ((U32)(ptr)[0]|(U32)(ptr)[1]<<8|(U32)(ptr)[2]<<16|(U32)(ptr)[3]<<24)
-- #define U8TO64_LE(ptr) ((U64)(ptr)[0]|(U64)(ptr)[1]<<8|(U64)(ptr)[2]<<16|(U64)(ptr)[3]<<24|\
-- (U64)(ptr)[4]<<32|(U64)(ptr)[5]<<40|\
-- (U64)(ptr)[6]<<48|(U64)(ptr)[7]<<56)
--#endif
--
- #ifdef CAN64BITHASH
- #ifndef U64TYPE
- /* This probably isn't going to work, but failing with a compiler error due to
-diff --git a/stadtx_hash.h b/stadtx_hash.h
-index bd09c2f938..5ee879485d 100644
---- stadtx_hash.h.orig
-+++ stadtx_hash.h
-@@ -43,58 +43,6 @@
- #define STMT_END while(0)
- #endif
-
--#ifndef STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--/* STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN only matters if nothing has defined U8TO64_LE etc,
-- * and when built with Perl these should be defined before this file is loaded.
-- */
--#ifdef U32_ALIGNMENT_REQUIRED
--#define STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 0
--#else
--#define STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 1
--#endif
--#endif
--
--#ifndef U8TO64_LE
--#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--#define U8TO64_LE(ptr) (*((const U64 *)(ptr)))
--#else
--#define U8TO64_LE(ptr) (\
-- (U64)(ptr)[7] << 56 | \
-- (U64)(ptr)[6] << 48 | \
-- (U64)(ptr)[5] << 40 | \
-- (U64)(ptr)[4] << 32 | \
-- (U64)(ptr)[3] << 24 | \
-- (U64)(ptr)[2] << 16 | \
-- (U64)(ptr)[1] << 8 | \
-- (U64)(ptr)[0] \
--)
--#endif
--#endif
--
--#ifndef U8TO32_LE
--#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--#define U8TO32_LE(ptr) (*((const U32 *)(ptr)))
--#else
--#define U8TO32_LE(ptr) (\
-- (U32)(ptr)[3] << 24 | \
-- (U32)(ptr)[2] << 16 | \
-- (U32)(ptr)[1] << 8 | \
-- (U32)(ptr)[0] \
--)
--#endif
--#endif
--
--#ifndef U8TO16_LE
--#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--#define U8TO16_LE(ptr) (*((const U16 *)(ptr)))
--#else
--#define U8TO16_LE(ptr) (\
-- (U16)(ptr)[1] << 8 | \
-- (U16)(ptr)[0] \
--)
--#endif
--#endif
--
- /* Find best way to ROTL32/ROTL64 */
- #if defined(_MSC_VER)
- #include <stdlib.h> /* Microsoft put _rotl declaration in here */
-diff --git a/zaphod32_hash.h b/zaphod32_hash.h
-index c9b60ccb32..2fb391a233 100644
---- zaphod32_hash.h.orig
-+++ zaphod32_hash.h
-@@ -74,41 +74,6 @@
- #define STMT_END while(0)
- #endif
-
--#ifndef ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--/* ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN only matters if nothing has defined U8TO64_LE etc,
-- * and when built with Perl these should be defined before this file is loaded.
-- */
--#ifdef U32_ALIGNMENT_REQUIRED
--#define ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 0
--#else
--#define ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 1
--#endif
--#endif
--
--#ifndef U8TO32_LE
--#if ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--#define U8TO32_LE(ptr) (*((const U32 *)(ptr)))
--#else
--#define U8TO32_LE(ptr) (\
-- (U32)(ptr)[3] << 24 | \
-- (U32)(ptr)[2] << 16 | \
-- (U32)(ptr)[1] << 8 | \
-- (U32)(ptr)[0] \
--)
--#endif
--#endif
--
--#ifndef U8TO16_LE
--#if ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
--#define U8TO16_LE(ptr) (*((const U16 *)(ptr)))
--#else
--#define U8TO16_LE(ptr) (\
-- (U16)(ptr)[1] << 8 | \
-- (U16)(ptr)[0] \
--)
--#endif
--#endif
--
- /* This is two marsaglia xor-shift permutes, with a prime-multiple
- * sandwiched inside. The end result of doing this twice with different
- * primes is a completely avalanched v. */
diff --git a/lang/perl5/patches/patch-cflags.SH b/lang/perl5/patches/patch-cflags.SH
index cc6352294ae..f1426d428e3 100644
--- a/lang/perl5/patches/patch-cflags.SH
+++ b/lang/perl5/patches/patch-cflags.SH
@@ -1,15 +1,15 @@
-$NetBSD: patch-cflags.SH,v 1.3 2018/08/22 08:37:46 wiz Exp $
+$NetBSD: patch-cflags.SH,v 1.4 2020/08/31 18:00:37 wiz Exp $
Don't add -std=c89 or -ansi, requires c99.
---- cflags.SH.orig 2018-05-21 12:29:23.000000000 +0000
+--- cflags.SH.orig 2020-06-14 23:01:24.000000000 +0000
+++ cflags.SH
@@ -178,7 +178,7 @@ Intel*) ;; # # Is that you, Intel C++?
# -std=c89 before -ansi
# -pedantic* before -Werror=d-a-s
#
--*) for opt in -std=c89 -ansi $pedantic \
-+*) for opt in $pedantic \
- -Werror=declaration-after-statement \
- -Werror=pointer-arith \
- -Wextra -W \
+-*) warns="-std=c89 -ansi $pedantic \
++*) warns="$pedantic \
+ -Werror=pointer-arith \
+ -Wextra -W \
+ -Wc++-compat -Wwrite-strings"
diff --git a/lang/perl5/patches/patch-hints_minix.sh b/lang/perl5/patches/patch-hints_minix.sh
deleted file mode 100644
index c5430d63ec7..00000000000
--- a/lang/perl5/patches/patch-hints_minix.sh
+++ /dev/null
@@ -1,155 +0,0 @@
-$NetBSD: patch-hints_minix.sh,v 1.1 2018/10/29 14:25:25 sevan Exp $
-
-Add a hints file for Minix, derived from the NetBSD one but stripped back to
-remove most of the legacy parts.
-
---- hints/minix.sh.orig Mon Oct 29 01:00:03 2018
-+++ hints/minix.sh Mon Oct 29 00:59:50 2018
-@@ -0,0 +1,147 @@
-+# hints/minix.sh
-+#
-+# Please check with packages@netbsd.org before making modifications
-+# to this file.
-+
-+case "$archname" in
-+'')
-+ archname=`uname -m`-${osname}
-+ ;;
-+esac
-+
-+# NetBSD keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
-+# so Configure doesn't find them (unless you abandon the nm scan).
-+#
-+case "$osvers" in
-+*)
-+ if test -f /usr/libexec/ld.elf_so; then
-+ # ELF
-+ d_dlopen=$define
-+ d_dlerror=$define
-+ cccdlflags="-DPIC -fPIC $cccdlflags"
-+ lddlflags="-shared $lddlflags"
-+ rpathflag="-Wl,-rpath,"
-+ ccdlflags="-Wl,-E $ccdlflags"
-+ elif test -f /usr/libexec/ld.so; then
-+ # a.out
-+ d_dlopen=$define
-+ d_dlerror=$define
-+ cccdlflags="-DPIC -fPIC $cccdlflags"
-+ lddlflags="-Bshareable $lddlflags"
-+ rpathflag="-R"
-+ else
-+ d_dlopen=$undef
-+ rpathflag=
-+ fi
-+ d_getprotoent_r="$undef"
-+ d_getprotobyname_r="$undef"
-+ d_getprotobynumber_r="$undef"
-+ d_setprotoent_r="$undef"
-+ d_endprotoent_r="$undef"
-+ d_getservent_r="$undef"
-+ d_getservbyname_r="$undef"
-+ d_getservbyport_r="$undef"
-+ d_setservent_r="$undef"
-+ d_endservent_r="$undef"
-+ d_gethostbyname_r="$undef"
-+ d_gethostbyaddr2_r="$undef"
-+ d_gethostbyaddr_r="$undef"
-+ d_sethostent_r="$undef"
-+ d_gethostent_r="$undef"
-+ d_endhostent_r="$undef"
-+ d_getprotoent_r_proto="0"
-+ d_getprotobyname_r_proto="0"
-+ d_getprotobynumber_r_proto="0"
-+ d_setprotoent_r_proto="0"
-+ d_endprotoent_r_proto="0"
-+ d_getservent_r_proto="0"
-+ d_getservbyname_r_proto="0"
-+ d_getservbyport_r_proto="0"
-+ d_setservent_r_proto="0"
-+ d_endservent_r_proto="0"
-+ d_gethostbyname_r_proto="0"
-+ d_gethostbyaddr2_r_proto="0"
-+ d_gethostbyaddr_r_proto="0"
-+ d_sethostent_r_proto="0"
-+ d_endhostent_r_proto="0"
-+ d_gethostent_r_proto="0"
-+ ;;
-+esac
-+
-+# there's no problem with vfork.
-+usevfork=true
-+
-+# This is there but in machine/ieeefp_h.
-+ieeefp_h="define"
-+
-+# This script UU/usethreads.cbu will get 'called-back' by Configure
-+# after it has prompted the user for whether to use threads.
-+cat > UU/usethreads.cbu <<'EOCBU'
-+case "$usethreads" in
-+$define|true|[yY]*)
-+ lpthread=
-+ for xxx in pthread; do
-+ for yyy in $loclibpth $plibpth $glibpth dummy; do
-+ zzz=$yyy/lib$xxx.a
-+ if test -f "$zzz"; then
-+ lpthread=$xxx
-+ break;
-+ fi
-+ zzz=$yyy/lib$xxx.so
-+ if test -f "$zzz"; then
-+ lpthread=$xxx
-+ break;
-+ fi
-+ zzz=`ls $yyy/lib$xxx.so.* 2>/dev/null`
-+ if test "X$zzz" != X; then
-+ lpthread=$xxx
-+ break;
-+ fi
-+ done
-+ if test "X$lpthread" != X; then
-+ break;
-+ fi
-+ done
-+ if test "X$lpthread" != X; then
-+ # Add -lpthread.
-+ libswanted="$libswanted $lpthread"
-+ # There is no libc_r as of NetBSD 1.5.2, so no c -> c_r.
-+ # This will be revisited when NetBSD gains a native pthreads
-+ # implementation.
-+ else
-+ echo "$0: No POSIX threads library (-lpthread) found. " \
-+ "You may want to install GNU pth. Aborting." >&4
-+ exit 1
-+ fi
-+ unset lpthread
-+esac
-+EOCBU
-+
-+# Set sensible defaults for Minix: look for local software in
-+# /usr/local, plus the build prefix, which might or might not be
-+# /usr/pkg.
-+#
-+loclibpth="/usr/local/lib ${prefix}/lib"
-+locincpth="/usr/local/include ${prefix}/include"
-+
-+case "$rpathflag" in
-+'')
-+ ldflags=
-+ ;;
-+*)
-+ ldflags=
-+ for yyy in $loclibpth; do
-+ ldflags="$ldflags $rpathflag$yyy"
-+ done
-+ ;;
-+esac
-+
-+# malloc wrap works
-+case "$usemallocwrap" in
-+'') usemallocwrap='define' ;;
-+esac
-+
-+# don't use perl malloc by default
-+case "$usemymalloc" in
-+'') usemymalloc=n ;;
-+esac
diff --git a/lang/perl5/patches/patch-hints_solaris__2.sh b/lang/perl5/patches/patch-hints_solaris__2.sh
index 308443cf226..910c067cdb3 100644
--- a/lang/perl5/patches/patch-hints_solaris__2.sh
+++ b/lang/perl5/patches/patch-hints_solaris__2.sh
@@ -1,15 +1,15 @@
-$NetBSD: patch-hints_solaris__2.sh,v 1.2 2015/10/27 09:10:44 jperkin Exp $
+$NetBSD: patch-hints_solaris__2.sh,v 1.3 2020/08/31 18:00:37 wiz Exp $
Redo PR pkg/44999.
---- hints/solaris_2.sh.orig 2015-05-13 20:19:29.000000000 +0000
+--- hints/solaris_2.sh.orig 2020-06-14 23:01:25.000000000 +0000
+++ hints/solaris_2.sh
@@ -585,7 +585,7 @@ EOM
fi
fi
case "${cc:-cc} -v 2>/dev/null" in
-- *gcc*)
-+ *gcc*|clang*)
+- *gcc*|*g++*)
++ *gcc*|*g++*|clang*)
echo 'int main() { return 0; }' > try.c
case "`${cc:-cc} $ccflags -mcpu=v9 -m64 -S try.c 2>&1 | grep 'm64 is not supported by this configuration'`" in
*"m64 is not supported"*)