summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhe <he@pkgsrc.org>2008-10-10 21:58:43 +0000
committerhe <he@pkgsrc.org>2008-10-10 21:58:43 +0000
commit45ab1f87e786df6072cfb0729ddd55a6743801a4 (patch)
tree94416a5de62dc62c0dbedd1f411e80c748c48eaf
parentcd552f552b988ae0ed6092e880f1238eee431e64 (diff)
downloadpkgsrc-45ab1f87e786df6072cfb0729ddd55a6743801a4.tar.gz
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.
-rw-r--r--lang/perl5/Makefile25
-rw-r--r--lang/perl5/distinfo48
-rw-r--r--lang/perl5/patches/patch-aa42
-rw-r--r--lang/perl5/patches/patch-ac42
-rw-r--r--lang/perl5/patches/patch-ad17
-rw-r--r--lang/perl5/patches/patch-ae29
-rw-r--r--lang/perl5/patches/patch-af25
-rw-r--r--lang/perl5/patches/patch-ag25
-rw-r--r--lang/perl5/patches/patch-ah54
-rw-r--r--lang/perl5/patches/patch-ai17
-rw-r--r--lang/perl5/patches/patch-aj31
-rw-r--r--lang/perl5/patches/patch-ak18
-rw-r--r--lang/perl5/patches/patch-am55
-rw-r--r--lang/perl5/patches/patch-an50
-rw-r--r--lang/perl5/patches/patch-ap16
-rw-r--r--lang/perl5/patches/patch-aq23
-rw-r--r--lang/perl5/patches/patch-ar33
-rw-r--r--lang/perl5/patches/patch-as23
-rw-r--r--lang/perl5/patches/patch-ba46
-rw-r--r--lang/perl5/patches/patch-ca57
-rw-r--r--lang/perl5/patches/patch-cb33
-rw-r--r--lang/perl5/patches/patch-ce12
-rw-r--r--lang/perl5/patches/patch-ch8
-rw-r--r--lang/perl5/patches/patch-ci6
-rw-r--r--lang/perl5/patches/patch-cn8
-rw-r--r--lang/perl5/patches/patch-co8
-rw-r--r--lang/perl5/patches/patch-da150
-rw-r--r--lang/perl5/patches/patch-ta40
-rw-r--r--lang/perl5/patches/patch-zc4
-rw-r--r--lang/perl5/patches/patch-zd14
30 files changed, 190 insertions, 769 deletions
diff --git a/lang/perl5/Makefile b/lang/perl5/Makefile
index 3e314d08229..e4f324e5b48 100644
--- a/lang/perl5/Makefile
+++ b/lang/perl5/Makefile
@@ -1,10 +1,8 @@
-# $NetBSD: Makefile,v 1.137 2008/06/01 22:04:07 he Exp $
+# $NetBSD: Makefile,v 1.138 2008/10/10 21:58:43 he Exp $
-DISTNAME= perl-5.8.8
-PKGREVISION= 8
+DISTNAME= perl-5.10.0
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,}
-EXTRACT_SUFX= .tar.bz2
DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= jlam@pkgsrc.org
@@ -261,6 +259,25 @@ CONFIGURE_ARGS+= -Duse64bitint
. endif
.endif
+# Remove a spurious workdir reference
+SUBST_CLASSES+= rm
+SUBST_STAGE.rm= pre-install
+SUBST_FILES.rm= lib/Config_heavy.pl
+SUBST_SED.rm= -e "s!^rm_try=\'/.*work/.tools/bin/rm -f!rm_try=\'/bin/rm -f!"
+
+# Replace our perl as the interpreter
+REPLACE_PERL+= lib/Class/ISA.pm
+REPLACE_PERL+= lib/File/DosGlob.pm
+REPLACE_PERL+= lib/version.pm
+
+# And replace a perl interpreter during the pre-install stage
+# I think this may be a bootstrap script, so can't use REPLACE_PERL
+# because that is acted upon already in the pre-configure stage
+SUBST_CLASSES+= miniperl
+SUBST_STAGE.miniperl= pre-install
+SUBST_FILES.miniperl= lib/ExtUtils/xsubpp
+SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:"
+
# 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.
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo
index e5b884da385..4ebcf6306ce 100644
--- a/lang/perl5/distinfo
+++ b/lang/perl5/distinfo
@@ -1,35 +1,21 @@
-$NetBSD: distinfo,v 1.49 2008/07/30 23:07:52 ahoka Exp $
+$NetBSD: distinfo,v 1.50 2008/10/10 21:58:43 he Exp $
-SHA1 (perl-5.8.8.tar.bz2) = 4aab490040727ca4419098720eca2ba4367df539
-RMD160 (perl-5.8.8.tar.bz2) = e78f26d9b96e6db35f946ad4ff55e3a69385c71b
-Size (perl-5.8.8.tar.bz2) = 10123359 bytes
-SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941
+SHA1 (perl-5.10.0.tar.gz) = adf73606dd5248af7ccdd735bcaa0e628ea75b3c
+RMD160 (perl-5.10.0.tar.gz) = c6614fc99a162790a703f91085b24a60af903ba2
+Size (perl-5.10.0.tar.gz) = 15595020 bytes
+SHA1 (patch-aa) = 5bd44a8076cf27e2deac52240af7f3898865859c
SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410
-SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f
-SHA1 (patch-ad) = 914e1c74555a9b6a0256992a694b2ba609f29786
-SHA1 (patch-ae) = 287ac0d97a5372c8b45457129f3e70fe42cf69e2
-SHA1 (patch-af) = b11574297e46b910f206f09702effc6cc272b0fd
-SHA1 (patch-ag) = 0122ec30b8fcd17198e068d07e95974bee0945b6
-SHA1 (patch-ah) = 25443063c26287b1b8130c53d5c9d92248d4c0d1
-SHA1 (patch-ai) = 4a07c6268a1e27b73f2f6fcde86f788fce77fcbd
-SHA1 (patch-aj) = a2fc32766ed8556455c60780fe242a034ce491a9
-SHA1 (patch-ak) = 8899f8b6d1d038b950979073cb0527c8e7afca1e
-SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e
-SHA1 (patch-an) = 987763c3098bf4356993dd6d8741962a1ff8190d
-SHA1 (patch-ap) = 178d6909a8aa6544b849c2b63530fcf1893b77ea
-SHA1 (patch-aq) = b9569d0cd74a06912e82498cd2bfba131c0b6f3b
-SHA1 (patch-ar) = 9d257ceeca337e3d477b80215560bbc290d19dd2
-SHA1 (patch-as) = 371827db418eac11f0b49df45e9d587106908bf0
-SHA1 (patch-ba) = 27aefd5043c251380ac607df54fff882f689f237
-SHA1 (patch-ca) = 5ed14e043a6d5f8dadf5711b59418f01aa5f6f21
-SHA1 (patch-cb) = 2cbcaa476f33c270bfea50cddd0da3f476dbe689
-SHA1 (patch-ce) = 6b1efab32c6bc28e0faf7522322e6d805eb21730
-SHA1 (patch-ch) = a0831869e23d4a66588e6e27eecedb08527c9498
-SHA1 (patch-ci) = fe943f07044efa457d163eb86974ea10bb356226
+SHA1 (patch-ah) = 1d2f4049dcc8dafcd0eafad36a74531dc7f305c9
+SHA1 (patch-aq) = 3ece22678e3e6dcd3cf641e6389ff203cbe351b9
+SHA1 (patch-as) = 8656cb4d9baf43dd92f4c467aaa40802d4c43239
+SHA1 (patch-ba) = dc150656628e83e25c99f246a0fb30906d185184
+SHA1 (patch-ca) = 47db0530a705b8086b2bfc58491f9b56de4b9e12
+SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099
+SHA1 (patch-ci) = 70531d44b6e2cb7a7ab9fb20ffe91d97e5c03e3a
SHA1 (patch-cj) = 3f40f1b166a054d55224c3e79d74516ca608b696
SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097
-SHA1 (patch-cn) = b5e56787fb9ca10025e9061d7bfd2da549ee3fa3
-SHA1 (patch-co) = 4f7ae271aa6a17860e60411dfa45566ee02b0f58
-SHA1 (patch-da) = 24c8783fcdbead35de20bc3cecf1627a64717853
-SHA1 (patch-ta) = ca0d1e4bc2dbbc4b86a087fed27cd1e7bbb2873f
-SHA1 (patch-zc) = 0c61b6028813e0f80bfe0760a1e74e3037d37cdd
+SHA1 (patch-cn) = 7ca2b1ff19f8371637a34ec26779b37d74c74cca
+SHA1 (patch-co) = 493ae6cb6cb544ce023c2a1fb067abe943bba2d4
+SHA1 (patch-ta) = 60d9ef72db56b9f149f3995b3f526fc32a352bd7
+SHA1 (patch-zc) = a23002397ffaebb243f7683c95c8fb227af90f49
+SHA1 (patch-zd) = ee67148b8f44fb3826273574abb62ad9ca4ffa7f
diff --git a/lang/perl5/patches/patch-aa b/lang/perl5/patches/patch-aa
index f8d5b4b2b0a..de25f268bfa 100644
--- a/lang/perl5/patches/patch-aa
+++ b/lang/perl5/patches/patch-aa
@@ -1,19 +1,19 @@
-$NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $
+$NetBSD: patch-aa,v 1.31 2008/10/10 21:58:43 he Exp $
---- lib/ExtUtils/MM_Unix.pm.orig 2005-05-21 05:42:56.000000000 -0400
+--- lib/ExtUtils/MM_Unix.pm.orig 2007-12-18 11:47:07.000000000 +0100
+++ lib/ExtUtils/MM_Unix.pm
-@@ -12,8 +12,8 @@ use DirHandle;
+@@ -11,8 +11,8 @@ use DirHandle;
use vars qw($VERSION @ISA
$Is_OS2 $Is_VMS $Is_Win32 $Is_Dos
- $Is_OSF $Is_IRIX $Is_NetBSD $Is_BSD
- $Is_SunOS4 $Is_Solaris $Is_SunOS $Is_Interix
-+ $Is_OSF $Is_IRIX $Is_BSD
++ $Is_OSF $Is_IRIX $Is_BSD
+ $Is_SunOS4 $Is_Solaris $Is_SunOS
- $Verbose %pm
%Config_Override
);
-@@ -32,13 +32,11 @@ BEGIN {
+
+@@ -30,8 +30,6 @@ BEGIN {
$Is_VMS = $^O eq 'VMS';
$Is_OSF = $^O eq 'dec_osf';
$Is_IRIX = $^O eq 'irix';
@@ -22,36 +22,12 @@ $NetBSD: patch-aa,v 1.30 2006/04/09 06:34:32 jlam Exp $
$Is_SunOS4 = $^O eq 'sunos';
$Is_Solaris = $^O eq 'solaris';
$Is_SunOS = $Is_SunOS4 || $Is_Solaris;
- $Is_BSD = $^O =~ /^(?:free|net|open)bsd$/ or
-- $^O eq 'bsdos' or $^O eq 'interix';
-+ $^O eq 'bsdos' or $^O eq 'dragonfly' or $^O eq 'interix';
- }
-
- BEGIN {
-@@ -928,7 +926,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
+@@ -932,7 +930,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
my $libs = '$(LDLOADLIBS)';
-- if (($Is_NetBSD || $Is_Interix) && $Config{'useshrplib'}) {
-+ if ($Is_BSD && $Config{'useshrplib'}) {
+- if (($Is_NetBSD || $Is_Interix) && $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
-@@ -2074,7 +2072,7 @@ pure_site_install ::
- $(INST_LIB) $(DESTINSTALLSITELIB) \
- $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
- $(INST_BIN) $(DESTINSTALLSITEBIN) \
-- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
-+ $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
- $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
- $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
- $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
-@@ -2087,7 +2085,7 @@ pure_vendor_install ::
- $(INST_LIB) $(DESTINSTALLVENDORLIB) \
- $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
- $(INST_BIN) $(DESTINSTALLVENDORBIN) \
-- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
-+ $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
- $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
- $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
-
diff --git a/lang/perl5/patches/patch-ac b/lang/perl5/patches/patch-ac
deleted file mode 100644
index 43fbb73985a..00000000000
--- a/lang/perl5/patches/patch-ac
+++ /dev/null
@@ -1,42 +0,0 @@
-$NetBSD: patch-ac,v 1.10 2007/02/06 19:12:10 dmcmahill Exp $
-
-See NetBSD PR pkg/35319
-
-It appears that the same patch has or will find its way into
-the upstream sources.
-
---- perlio.c.orig 2006-12-25 15:11:04.108986000 +0100
-+++ perlio.c
-@@ -2874,31 +2874,7 @@ PerlIOStdio_invalidate_fileno(pTHX_ FILE
- f->_fileno = -1;
- return 1;
- # elif defined(__sun__)
--# if defined(_LP64)
-- /* On solaris, if _LP64 is defined, the FILE structure is this:
-- *
-- * struct FILE {
-- * long __pad[16];
-- * };
-- *
-- * It turns out that the fd is stored in the top 32 bits of
-- * file->__pad[4]. The lower 32 bits contain flags. file->pad[5] appears
-- * to contain a pointer or offset into another structure. All the
-- * remaining fields are zero.
-- *
-- * We set the top bits to -1 (0xFFFFFFFF).
-- */
-- f->__pad[4] |= 0xffffffff00000000L;
-- assert(fileno(f) == 0xffffffff);
--# else /* !defined(_LP64) */
-- /* _file is just a unsigned char :-(
-- Not clear why we dup() rather than using -1
-- even if that would be treated as 0xFF - so will
-- a dup fail ...
-- */
-- f->_file = PerlLIO_dup(fileno(f));
--# endif /* defined(_LP64) */
-- return 1;
-+ return 0;
- # elif defined(__hpux)
- f->__fileH = 0xff;
- f->__fileL = 0xff;
diff --git a/lang/perl5/patches/patch-ad b/lang/perl5/patches/patch-ad
deleted file mode 100644
index cd41e410068..00000000000
--- a/lang/perl5/patches/patch-ad
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-ad,v 1.11 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- embed.fnc.orig 2006-01-31 15:40:27.000000000 +0100
-+++ embed.fnc
-@@ -1168,6 +1168,7 @@ Es |void |reguni |NN const struct RExC_
- Es |regnode*|regclass |NN struct RExC_state_t *state
- ERs |I32 |regcurly |NN const char *
- Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op
-+Es |UV |reg_recode |const char value|NULLOK SV **encp
- Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp
- Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd
- Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
diff --git a/lang/perl5/patches/patch-ae b/lang/perl5/patches/patch-ae
deleted file mode 100644
index 491c37567d5..00000000000
--- a/lang/perl5/patches/patch-ae
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-ae,v 1.11 2008/04/28 22:24:22 wiz Exp $
-
---- makedepend.SH.orig 2003-06-05 20:11:10.000000000 +0200
-+++ makedepend.SH
-@@ -83,7 +83,6 @@ if test -f Makefile; then
- # to be out of date. I don't know if OS/2 has touch, so do this:
- case "$osname" in
- os2) ;;
-- netbsd) ;;
- *) $touch $firstmakefile ;;
- esac
- fi
-@@ -128,7 +127,7 @@ for file in `$cat .clist`; do
- *.y) filebase=`basename $file .y` ;;
- esac
- case "$file" in
-- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
-+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
- *) finc= ;;
- esac
- $echo "Finding dependencies for $filebase$_o."
-@@ -167,6 +166,7 @@ for file in `$cat .clist`; do
- -e '/^#.*<builtin>/d' \
- -e '/^#.*<built-in>/d' \
- -e '/^#.*<command line>/d' \
-+ -e '/^#.*<command-line>/d' \
- -e '/^#.*"-"/d' \
- -e '/: file path prefix .* never used$/d' \
- -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
diff --git a/lang/perl5/patches/patch-af b/lang/perl5/patches/patch-af
deleted file mode 100644
index 846df910154..00000000000
--- a/lang/perl5/patches/patch-af
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-af,v 1.13 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- embed.h.orig 2006-01-31 16:50:34.000000000 +0100
-+++ embed.h
-@@ -1234,6 +1234,7 @@
- #define regclass S_regclass
- #define regcurly S_regcurly
- #define reg_node S_reg_node
-+#define reg_recode S_reg_recode
- #define regpiece S_regpiece
- #define reginsert S_reginsert
- #define regoptail S_regoptail
-@@ -3277,6 +3278,7 @@
- #define regclass(a) S_regclass(aTHX_ a)
- #define regcurly(a) S_regcurly(aTHX_ a)
- #define reg_node(a,b) S_reg_node(aTHX_ a,b)
-+#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
- #define regpiece(a,b) S_regpiece(aTHX_ a,b)
- #define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c)
- #define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c)
diff --git a/lang/perl5/patches/patch-ag b/lang/perl5/patches/patch-ag
deleted file mode 100644
index dff036c7352..00000000000
--- a/lang/perl5/patches/patch-ag
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-ag,v 1.11 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- pod/perldiag.pod.orig 2006-01-07 00:16:08.000000000 +0100
-+++ pod/perldiag.pod
-@@ -1900,6 +1900,15 @@ recognized by Perl or by a user-supplied
- (W printf) Perl does not understand the given format conversion. See
- L<perlfunc/sprintf>.
-
-+=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/
-+
-+(W regexp) The numeric escape (for example C<\xHH>) of value < 256
-+didn't correspond to a single character through the conversion
-+from the encoding specified by the encoding pragma.
-+The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
-+The <-- HERE shows in the regular expression about where the
-+escape was discovered.
-+
- =item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
-
- (F) The range specified in a character class had a minimum character
diff --git a/lang/perl5/patches/patch-ah b/lang/perl5/patches/patch-ah
index 1df9b22841f..97ced6868a2 100644
--- a/lang/perl5/patches/patch-ah
+++ b/lang/perl5/patches/patch-ah
@@ -1,8 +1,8 @@
-$NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
+$NetBSD: patch-ah,v 1.10 2008/10/10 21:58:43 he Exp $
---- perl.c.orig 2006-01-31 12:34:47.000000000 +0000
+--- perl.c.orig 2007-12-18 11:47:08.000000000 +0100
+++ perl.c
-@@ -4615,8 +4615,10 @@ S_procself_val(pTHX_ SV *sv, char *arg0)
+@@ -1454,8 +1454,10 @@ S_procself_val(pTHX_ SV *sv, const char
to the executable (or returning an error from the readlink). Any valid
path has a '/' in it somewhere, so use that to validate the result.
See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703
@@ -14,24 +14,24 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
sv_setpvn(sv,buf,len);
}
else {
-@@ -4770,45 +4772,12 @@ S_init_perllib(pTHX)
+@@ -4747,45 +4749,8 @@ S_init_perllib(pTHX)
}
/* Use the ~-expanded versions of APPLLIB (undocumented),
- ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
+ SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB and PRIVLIB
*/
- #ifdef APPLLIB_EXP
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
- #endif
-
+-#ifdef APPLLIB_EXP
+- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
+-#endif
+-
-#ifdef ARCHLIB_EXP
-- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
-#endif
-#ifdef MACOS_TRADITIONAL
- {
- Stat_t tmpstatbuf;
-- SV * privdir = NEWSV(55, 0);
+- SV * privdir = newSV(0);
- char * macperl = PerlEnv_getenv("MACPERL");
-
- if (!macperl)
@@ -39,39 +39,43 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
-
- Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
- if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
-- incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
+- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
- Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
- if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
-- incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
+- incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
-
- SvREFCNT_dec(privdir);
- }
- if (!PL_tainting)
-- incpush(":", FALSE, FALSE, TRUE);
+- incpush(":", FALSE, FALSE, TRUE, FALSE);
-#else
-#ifndef PRIVLIB_EXP
-# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
-#endif
-#if defined(WIN32)
-- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
+- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
-#else
-- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
+- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
-#endif
-
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
-@@ -4850,6 +4819,39 @@ S_init_perllib(pTHX)
- incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
+@@ -4828,6 +4793,43 @@ S_init_perllib(pTHX)
+ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE, TRUE);
#endif
++#ifdef APPLLIB_EXP
++ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
++#endif
++
+#ifdef ARCHLIB_EXP
-+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+#endif
+#ifdef MACOS_TRADITIONAL
+ {
+ Stat_t tmpstatbuf;
-+ SV * privdir = NEWSV(55, 0);
++ SV * privdir = newSV(0);
+ char * macperl = PerlEnv_getenv("MACPERL");
+
+ if (!macperl)
@@ -79,25 +83,25 @@ $NetBSD: patch-ah,v 1.9 2008/01/08 15:19:39 apb Exp $
+
+ Perl_sv_setpvf(aTHX_ privdir, "%slib:", macperl);
+ if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
-+ incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
+ Perl_sv_setpvf(aTHX_ privdir, "%ssite_perl:", macperl);
+ if (PerlLIO_stat(SvPVX(privdir), &tmpstatbuf) >= 0 && S_ISDIR(tmpstatbuf.st_mode))
-+ incpush(SvPVX(privdir), TRUE, FALSE, TRUE);
++ incpush(SvPVX(privdir), TRUE, FALSE, TRUE, FALSE);
+
+ SvREFCNT_dec(privdir);
+ }
+ if (!PL_tainting)
-+ incpush(":", FALSE, FALSE, TRUE);
++ incpush(":", FALSE, FALSE, TRUE, FALSE);
+#else
+#ifndef PRIVLIB_EXP
+# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
+#endif
+#if defined(WIN32)
-+ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
++ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE, TRUE);
+#else
-+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+#endif
+
#ifdef PERL_OTHERLIBDIRS
- incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
+ incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE, TRUE);
#endif
diff --git a/lang/perl5/patches/patch-ai b/lang/perl5/patches/patch-ai
deleted file mode 100644
index bd6cc450164..00000000000
--- a/lang/perl5/patches/patch-ai
+++ /dev/null
@@ -1,17 +0,0 @@
-$NetBSD: patch-ai,v 1.5 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- proto.h.orig 2006-01-31 16:50:34.000000000 +0100
-+++ proto.h
-@@ -1748,6 +1748,7 @@ STATIC I32 S_regcurly(pTHX_ const char *
- __attribute__warn_unused_result__;
-
- STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op);
-+STATIC UV S_reg_recode(pTHX_ const char value, SV **encp);
- STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp);
- STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd);
- STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val);
diff --git a/lang/perl5/patches/patch-aj b/lang/perl5/patches/patch-aj
deleted file mode 100644
index 7bd623ff991..00000000000
--- a/lang/perl5/patches/patch-aj
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-aj,v 1.9 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- t/uni/tr_utf8.t.orig 2004-06-25 10:53:16.000000000 +0200
-+++ t/uni/tr_utf8.t
-@@ -31,7 +31,7 @@ BEGIN {
- }
-
- use strict;
--use Test::More tests => 7;
-+use Test::More tests => 8;
-
- use encoding 'utf8';
-
-@@ -67,4 +67,12 @@ is($str, $hiragana, "s/// # hiragana ->
- $line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/;
- is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]");
- }
-+
-+{
-+ # [perl #40641]
-+ my $str = qq/Gebääääääääääääääääääääude/;
-+ my $reg = qr/Gebääääääääääääääääääääude/;
-+ ok($str =~ /$reg/, "[perl #40641]");
-+}
-+
- __END__
diff --git a/lang/perl5/patches/patch-ak b/lang/perl5/patches/patch-ak
deleted file mode 100644
index cd4e5650833..00000000000
--- a/lang/perl5/patches/patch-ak
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-ak,v 1.3 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- utf8.h.orig 2006-01-08 22:11:27.000000000 +0100
-+++ utf8.h
-@@ -198,6 +198,8 @@ encoded character.
- UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
- #define UTF8_ALLOW_ANY 0x00FF
- #define UTF8_CHECK_ONLY 0x0200
-+#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
-+ UTF8_ALLOW_ANYUV)
-
- #define UNICODE_SURROGATE_FIRST 0xD800
- #define UNICODE_SURROGATE_LAST 0xDFFF
diff --git a/lang/perl5/patches/patch-am b/lang/perl5/patches/patch-am
deleted file mode 100644
index ed6dbb2dd9e..00000000000
--- a/lang/perl5/patches/patch-am
+++ /dev/null
@@ -1,55 +0,0 @@
-$NetBSD: patch-am,v 1.4 2006/04/09 06:34:32 jlam Exp $
-
---- lib/ExtUtils/MakeMaker.pm.orig 2005-10-21 10:11:04.000000000 -0400
-+++ lib/ExtUtils/MakeMaker.pm
-@@ -222,7 +222,7 @@ sub full_setup {
- INSTALLMAN1DIR INSTALLMAN3DIR
- INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
- INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
-- INSTALLSCRIPT
-+ INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
- PERL_LIB PERL_ARCHLIB
- SITELIBEXP SITEARCHEXP
-
-@@ -1084,7 +1084,7 @@ INSTALLDIRS according to the following t
- INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
- INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
- INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN
-- INST_SCRIPT INSTALLSCRIPT INSTALLSCRIPT INSTALLSCRIPT
-+ INST_SCRIPT INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
- INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
- INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
-
-@@ -1545,7 +1545,7 @@ Defaults to $Config{installprivlib}.
- =item INSTALLSCRIPT
-
- Used by 'make install' which copies files from INST_SCRIPT to this
--directory.
-+directory if INSTALLDIRS is set to perl.
-
- =item INSTALLSITEARCH
-
-@@ -1572,6 +1572,11 @@ $(SITEPREFIX)/man/man$(MAN*EXT).
-
- If set to 'none', no man pages will be installed.
-
-+=item INSTALLSITESCRIPT
-+
-+Used by 'make install' which copies files from INST_SCRIPT to this
-+directory if INSTALLDIRS is set to site (default).
-+
- =item INSTALLVENDORARCH
-
- Used by 'make install', which copies files from INST_ARCHLIB to this
-@@ -1596,6 +1601,11 @@ INSTALLDIRS=vendor. Defaults to $(VENDO
-
- If set to 'none', no man pages will be installed.
-
-+=item INSTALLVENDORSCRIPT
-+
-+Used by 'make install' which copies files from INST_SCRIPT to this
-+directory if INSTALLDIRS is set to vendor.
-+
- =item INST_ARCHLIB
-
- Same as INST_LIB for architecture dependent files.
diff --git a/lang/perl5/patches/patch-an b/lang/perl5/patches/patch-an
deleted file mode 100644
index edd051b572f..00000000000
--- a/lang/perl5/patches/patch-an
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-an,v 1.2 2006/04/09 06:34:32 jlam Exp $
-
---- lib/ExtUtils/MM_Any.pm.orig 2005-04-13 03:49:53.000000000 -0400
-+++ lib/ExtUtils/MM_Any.pm
-@@ -1052,6 +1052,15 @@ sub init_INSTALL_from_PREFIX {
- : '';
- }
-
-+ $self->{INSTALLSITESCRIPT} ||= '$(INSTALLSCRIPT)'
-+ unless $Config{installsitescript};
-+
-+ unless( $Config{installvendorscript} ) {
-+ $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix}
-+ ? $Config{installscript}
-+ : '';
-+ }
-+
-
- my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
- $Config{prefixexp} || $Config{prefix} || '';
-@@ -1111,6 +1120,12 @@ sub init_INSTALL_from_PREFIX {
- script => { s => $iprefix,
- t => 'perl',
- d => 'bin' },
-+ vendorscript => { s => $vprefix,
-+ t => 'vendor',
-+ d => 'bin' },
-+ sitescript => { s => $sprefix,
-+ t => 'site',
-+ d => 'bin' },
- );
-
- my %man_layouts =
-@@ -1253,7 +1268,6 @@ sub init_INSTALL_from_INSTALLBASE {
- # Adjust for variable quirks.
- $install{INSTALLARCHLIB} ||= delete $install{INSTALLARCH};
- $install{INSTALLPRIVLIB} ||= delete $install{INSTALLLIB};
-- delete @install{qw(INSTALLVENDORSCRIPT INSTALLSITESCRIPT)};
-
- foreach my $key (keys %install) {
- $self->{$key} ||= $install{$key};
-@@ -1627,7 +1641,7 @@ sub installvars {
- return qw(PRIVLIB SITELIB VENDORLIB
- ARCHLIB SITEARCH VENDORARCH
- BIN SITEBIN VENDORBIN
-- SCRIPT
-+ SCRIPT SITESCRIPT VENDORSCRIPT
- MAN1DIR SITEMAN1DIR VENDORMAN1DIR
- MAN3DIR SITEMAN3DIR VENDORMAN3DIR
- );
diff --git a/lang/perl5/patches/patch-ap b/lang/perl5/patches/patch-ap
deleted file mode 100644
index 9d26b4e80fe..00000000000
--- a/lang/perl5/patches/patch-ap
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-ap,v 1.1 2006/04/09 06:34:32 jlam Exp $
-
-On VAX, feeding a bare "NaN" to nawk causes nawk to core dump since
-it tries to interpret it as a number, which causes an FP exception.
-
---- MANIFEST.orig 2006-01-31 18:27:53.000000000 -0500
-+++ MANIFEST
-@@ -1586,7 +1586,7 @@ lib/Math/BigInt/t/const_mbf.t Test Math:
- lib/Math/BigInt/t/downgrade.t Test if use Math::BigInt(); under downgrade works
- lib/Math/BigInt/t/_e_math.t Helper routine in BigFloat for _e math
- lib/Math/BigInt/t/fallback.t Test Math::BigInt
--lib/Math/BigInt/t/inf_nan.t Special tests for inf and NaN handling
-+lib/Math/BigInt/t/inf_nan.t Special tests for inf and *NaN* handling
- lib/Math/BigInt/t/isa.t Test for Math::BigInt inheritance
- lib/Math/BigInt/t/lib_load.t Test sane lib names
- lib/Math/BigInt/t/mbf_ali.t Tests for BigFloat
diff --git a/lang/perl5/patches/patch-aq b/lang/perl5/patches/patch-aq
index 76765fc4106..2a48d25c28c 100644
--- a/lang/perl5/patches/patch-aq
+++ b/lang/perl5/patches/patch-aq
@@ -1,8 +1,8 @@
-$NetBSD: patch-aq,v 1.1 2006/05/06 12:32:20 jlam Exp $
+$NetBSD: patch-aq,v 1.2 2008/10/10 21:58:43 he Exp $
---- XSUB.h.orig 2006-01-02 09:45:29.000000000 -0500
+--- XSUB.h.orig 2007-12-18 11:47:07.000000000 +0100
+++ XSUB.h
-@@ -85,17 +85,16 @@ handled automatically by C<xsubpp>.
+@@ -93,6 +93,9 @@ is a lexical $_ in scope.
#ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(x) ((void)x)
#endif
@@ -12,15 +12,20 @@ $NetBSD: patch-aq,v 1.1 2006/05/06 12:32:20 jlam Exp $
#define ST(off) PL_stack_base[ax + (off)]
- #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
- # define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv)
- #else
--# ifdef HASATTRIBUTE_UNUSED
+@@ -116,15 +119,7 @@ is a lexical $_ in scope.
+ # define XS(name) EXPORT_C XSPROTO(name)
+ #endif
+ #ifndef XS
+-# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-# define XS(name) void name(pTHX_ CV* cv __attribute__unused__)
-# else
--# define XS(name) void name(pTHX_ CV* cv)
+-# ifdef __cplusplus
+-# define XS(name) extern "C" XSPROTO(name)
+-# else
+-# define XS(name) XSPROTO(name)
+-# endif
-# endif
+# define XS(name) void name(pTHX_ CV* cv PERL_UNUSED_DECL)
#endif
- #define dAX const I32 ax = MARK - PL_stack_base + 1
+ #define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1)
diff --git a/lang/perl5/patches/patch-ar b/lang/perl5/patches/patch-ar
deleted file mode 100644
index ddc939b25bd..00000000000
--- a/lang/perl5/patches/patch-ar
+++ /dev/null
@@ -1,33 +0,0 @@
-$NetBSD: patch-ar,v 1.1 2006/05/06 12:32:20 jlam Exp $
-
---- perl.h.orig 2006-01-13 13:17:12.000000000 -0500
-+++ perl.h
-@@ -150,6 +150,15 @@ struct perl_thread;
- # define CALLPROTECT CALL_FPTR(PL_protect)
- #endif
-
-+/* GCC versions prior to 3.4 have a bug handling the "unused" attribute
-+ * in declarations when compiling C++ code.
-+ */
-+#if defined(__GNUC__) && defined(__cplusplus)
-+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
-+# define PERL_UNUSED_DECL
-+# endif
-+#endif
-+
- #if defined(SYMBIAN) && defined(__GNUC__)
- # ifdef __cplusplus
- # define PERL_UNUSED_DECL
-@@ -2375,7 +2384,11 @@ typedef struct clone_params CLONE_PARAMS
- # define HASATTRIBUTE_PURE
- # endif
- # if __GNUC__ >= 3 /* gcc 3.0 -> */ /* XXX Verify this version */
--# define HASATTRIBUTE_UNUSED
-+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3) /* 3.4 -> */
-+# define HASATTRIBUTE_UNUSED
-+# elif !defined(__cplusplus)
-+# define HASATTRIBUTE_UNUSED
-+# endif
- # endif
- # if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */
- # define HASATTRIBUTE_WARN_UNUSED_RESULT
diff --git a/lang/perl5/patches/patch-as b/lang/perl5/patches/patch-as
index 6e96dc47c46..6df055475af 100644
--- a/lang/perl5/patches/patch-as
+++ b/lang/perl5/patches/patch-as
@@ -1,17 +1,16 @@
-$NetBSD: patch-as,v 1.2 2008/01/13 00:20:22 joerg Exp $
+$NetBSD: patch-as,v 1.3 2008/10/10 21:58:43 he Exp $
asm/page.h is no longer installed as part of the kernel header
page on Gentoo/Linux.
---- ext/IPC/SysV/SysV.xs.orig 2008-01-12 15:55:22.000000000 +0100
+--- ext/IPC/SysV/SysV.xs.orig 2007-12-18 11:47:07.000000000 +0100
+++ ext/IPC/SysV/SysV.xs
-@@ -3,9 +3,6 @@
- #include "XSUB.h"
-
- #include <sys/types.h>
--#ifdef __linux__
--# include <asm/page.h>
--#endif
- #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
- #ifndef HAS_SEM
- # include <sys/ipc.h>
+@@ -24,8 +24,6 @@
+ # elif defined(HAS_GETPAGESIZE)
+ # undef SHMLBA /* not static: determined at boot time */
+ # define SHMLBA getpagesize()
+-# elif defined(__linux__)
+-# include <asm/page.h>
+ # endif
+ # endif
+ #endif
diff --git a/lang/perl5/patches/patch-ba b/lang/perl5/patches/patch-ba
index c33b61c6221..2d797354168 100644
--- a/lang/perl5/patches/patch-ba
+++ b/lang/perl5/patches/patch-ba
@@ -1,40 +1,18 @@
-$NetBSD: patch-ba,v 1.4 2006/08/08 15:36:00 tron Exp $
+$NetBSD: patch-ba,v 1.5 2008/10/10 21:58:43 he Exp $
---- hints/netbsd.sh.orig 2003-08-07 17:57:56.000000000 +0100
-+++ hints/netbsd.sh 2006-08-08 16:33:33.000000000 +0100
-@@ -78,6 +78,30 @@
- d_setreuid="$undef"
+--- hints/netbsd.sh.orig 2007-12-18 11:47:07.000000000 +0100
++++ hints/netbsd.sh
+@@ -79,7 +79,7 @@ case "$osvers" in
;;
esac
-+case "$osvers" in
-+0.9*|1.*|2.*|3.*|4.*)
-+ 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_getprotoent_r_proto="$undef"
-+ d_getprotobyname_r_proto="$undef"
-+ d_getprotobynumber_r_proto="$undef"
-+ d_setprotoent_r_proto="$undef"
-+ d_endprotoent_r_proto="$undef"
-+ d_getservent_r_proto="$undef"
-+ d_getservbyname_r_proto="$undef"
-+ d_getservbyport_r_proto="$undef"
-+ d_setservent_r_proto="$undef"
-+ d_endservent_r_proto="$undef"
-+ ;;
-+esac
-
- # These are obsolete in any netbsd.
- d_setrgid="$undef"
-@@ -133,23 +157,6 @@
- esac
+ case "$osvers" in
+-0.9*|1.*|2.*|3.*|4.*)
++0.9*|1.*|2.*|3.*|4.*|5.*)
+ d_getprotoent_r="$undef"
+ d_getprotobyname_r="$undef"
+ d_getprotobynumber_r="$undef"
+@@ -175,23 +175,6 @@ $define|true|[yY]*)
+ esac
EOCBU
-# Set sensible defaults for NetBSD: look for local software in
diff --git a/lang/perl5/patches/patch-ca b/lang/perl5/patches/patch-ca
index 267bfc21544..964951b3177 100644
--- a/lang/perl5/patches/patch-ca
+++ b/lang/perl5/patches/patch-ca
@@ -1,23 +1,25 @@
-$NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
+$NetBSD: patch-ca,v 1.6 2008/10/10 21:58:43 he Exp $
---- Configure.orig 2006-01-08 09:51:03.000000000 -0500
+--- Configure.orig 2007-12-18 11:47:07.000000000 +0100
+++ Configure
-@@ -3130,11 +3130,13 @@ EOM
- dgux) osname=dgux
+@@ -3206,13 +3206,14 @@ EOM
osvers="$3"
;;
-+ dragonfly) osname=dragonfly
-+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
+ dragonfly) osname=dragonfly
+- osvers="$3"
++ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'`
+ ;;
dynixptx*) osname=dynixptx
osvers=`echo "$4"|sed 's/^v//'`
;;
- freebsd) osname=freebsd
+ freebsd) osname=freebsd
- osvers="$3" ;;
-+ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'` ;;
++ osvers=`$uname -r | UU/tr '[A-Z]' '[a-z]'`
++ ;;
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
-@@ -3156,7 +3158,7 @@ EOM
+@@ -3234,7 +3235,7 @@ EOM
MiNT) osname=mint
;;
netbsd*) osname=netbsd
@@ -26,7 +28,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
;;
news-os) osvers="$3"
case "$3" in
-@@ -3167,8 +3169,8 @@ EOM
+@@ -3245,8 +3246,8 @@ EOM
next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@@ -37,7 +39,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
os2) osname=os2
osvers="$4"
;;
-@@ -4445,7 +4447,7 @@ case "$plibpth" in
+@@ -4739,7 +4740,7 @@ case "$plibpth" in
esac
case "$libpth" in
' ') dlist='';;
@@ -46,18 +48,18 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
*) dlist="$libpth";;
esac
-@@ -6485,7 +6487,9 @@ rp='Pathname for the site-specific libra
+@@ -6425,7 +6426,9 @@ rp='Pathname for the site-specific libra
. ./getfile
- sitelib="$ans"
- sitelibexp="$ansexp"
+ prefixvar=sitelib
+ . ./setprefixvar
-sitelib_stem=`echo "$sitelibexp" | sed "s,/$version$,,"`
+if $test -z "$sitelib_stem"; then
+ sitelib_stem=`echo "$sitelibexp" | sed "s,/$version$,,"`
+fi
- : Change installation prefix, if necessary.
- if $test X"$prefix" != X"$installprefix"; then
- installsitelib=`echo $sitelibexp | $sed "s#^$prefix#$installprefix#"`
-@@ -6606,7 +6610,9 @@ case "$vendorprefix" in
+
+ : Determine list of previous versions to include in @INC
+ $cat > getverlist <<EOPL
+@@ -6925,7 +6928,9 @@ case "$vendorprefix" in
vendorlibexp="$ansexp"
;;
esac
@@ -65,19 +67,10 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
+if $test -z "$vendorlib_stem"; then
+ vendorlib_stem=`echo "$vendorlibexp" | sed "s,/$version$,,"`
+fi
- : Change installation prefix, if necessary.
- if $test X"$prefix" != X"$installprefix"; then
- installvendorlib=`echo $vendorlibexp | $sed "s#^$prefix#$installprefix#"`
-@@ -7889,7 +7895,7 @@ if "$useshrplib"; then
- solaris)
- xxx="-R $shrpdir"
- ;;
-- freebsd|netbsd|openbsd|interix)
-+ freebsd|netbsd|openbsd|dragonfly|interix)
- xxx="-Wl,-R$shrpdir"
- ;;
- bsdos|linux|irix*|dec_osf|gnu*)
-@@ -9010,6 +9016,13 @@ EOCP
+ prefixvar=vendorlib
+ . ./installprefix
+
+@@ -9170,6 +9175,13 @@ EOCP
;;
esac
@@ -91,7 +84,7 @@ $NetBSD: patch-ca,v 1.5 2006/04/09 06:34:33 jlam Exp $
case "$vendorprefix" in
'') d_vendorbin="$undef"
vendorbin=''
-@@ -17776,7 +17789,15 @@ RCAT(Rei,ser)
+@@ -18347,7 +18359,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
diff --git a/lang/perl5/patches/patch-cb b/lang/perl5/patches/patch-cb
deleted file mode 100644
index 4262b12c170..00000000000
--- a/lang/perl5/patches/patch-cb
+++ /dev/null
@@ -1,33 +0,0 @@
-$NetBSD: patch-cb,v 1.4 2006/10/08 17:48:30 ben Exp $
-
---- Makefile.SH.orig 2006-01-24 04:49:44.000000000 -0800
-+++ Makefile.SH
-@@ -73,7 +73,7 @@ true)
- sunos*)
- linklibperl="-lperl"
- ;;
-- netbsd*|freebsd[234]*|openbsd*)
-+ netbsd*|freebsd[234]*|openbsd*|dragonfly*)
- linklibperl="-L. -lperl"
- ;;
- interix*)
-@@ -85,7 +85,7 @@ true)
- case "$osvers" in
- 3*) shrpldflags="$shrpldflags -e _nostart"
- ;;
-- *) shrpldflags="$shrpldflags -b noentry"
-+ *) shrpldflags="$shrpldflags -bnoentry"
- ;;
- esac
- shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib"
-@@ -990,6 +990,10 @@ s_dummy $(static_ext): miniperl$(EXE_EXT
- n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
- @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
-
-+.PHONY: printconfig
-+printconfig:
-+ @eval `$(LDLIBPTH) ./perl -Ilib -V:$(CONFIGVAR)`; echo $$$(CONFIGVAR)
-+
- .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
- realclean _realcleaner clobber _clobber \
- distclean veryclean _verycleaner
diff --git a/lang/perl5/patches/patch-ce b/lang/perl5/patches/patch-ce
deleted file mode 100644
index 9adf2941afc..00000000000
--- a/lang/perl5/patches/patch-ce
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-ce,v 1.2 2005/08/06 06:18:45 jlam Exp $
-
---- lib/File/Temp.pm.orig 2005-04-03 11:27:16.000000000 -0400
-+++ lib/File/Temp.pm
-@@ -2128,6 +2128,7 @@ The value is only relevant when C<safe_l
-
- {
- my $TopSystemUID = 10;
-+ $TopSystemUID = 197108 if $^O eq 'interix'; # "Administrator"
- sub top_system_uid {
- my $self = shift;
- if (@_) {
diff --git a/lang/perl5/patches/patch-ch b/lang/perl5/patches/patch-ch
index 451d3dbb5d3..6f2ad07b8b3 100644
--- a/lang/perl5/patches/patch-ch
+++ b/lang/perl5/patches/patch-ch
@@ -1,11 +1,11 @@
-$NetBSD: patch-ch,v 1.3 2006/04/09 06:34:33 jlam Exp $
+$NetBSD: patch-ch,v 1.4 2008/10/10 21:58:43 he Exp $
---- hints/dec_osf.sh.orig 2006-01-08 04:53:29.000000000 -0500
+--- hints/dec_osf.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/dec_osf.sh
-@@ -285,7 +285,7 @@ case "`uname -r`" in
+@@ -79,7 +79,7 @@ case "$unamer" in
# fixed in 4.0E or better.
;;
- *)
+ *)
- lddlflags="$lddlflags $optimize"
+ lddlflags="$lddlflags"
;;
diff --git a/lang/perl5/patches/patch-ci b/lang/perl5/patches/patch-ci
index 9d2285804fa..6012dbc95ba 100644
--- a/lang/perl5/patches/patch-ci
+++ b/lang/perl5/patches/patch-ci
@@ -1,8 +1,8 @@
-$NetBSD: patch-ci,v 1.3 2006/04/09 06:34:33 jlam Exp $
+$NetBSD: patch-ci,v 1.4 2008/10/10 21:58:43 he Exp $
---- pp_sys.c.orig 2006-01-13 13:15:15.000000000 -0500
+--- pp_sys.c.orig 2007-12-18 11:47:08.000000000 +0100
+++ pp_sys.c
-@@ -4516,12 +4516,15 @@ PP(pp_gmtime)
+@@ -4452,12 +4452,15 @@ PP(pp_gmtime)
when = (Time_t)SvIVx(POPs);
#endif
diff --git a/lang/perl5/patches/patch-cn b/lang/perl5/patches/patch-cn
index 6df5c860aee..1c6cc1b5b92 100644
--- a/lang/perl5/patches/patch-cn
+++ b/lang/perl5/patches/patch-cn
@@ -1,8 +1,8 @@
-$NetBSD: patch-cn,v 1.1 2007/04/21 15:32:15 tnn Exp $
+$NetBSD: patch-cn,v 1.2 2008/10/10 21:58:43 he Exp $
---- hints/hpux.sh.orig 2007-04-21 17:17:01.000000000 +0200
+--- hints/hpux.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/hpux.sh
-@@ -371,7 +371,7 @@ case "$ccisgcc" in
+@@ -376,7 +376,7 @@ case "$ccisgcc" in
*O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;;
esac
#ld="$cc"
@@ -11,7 +11,7 @@ $NetBSD: patch-cn,v 1.1 2007/04/21 15:32:15 tnn Exp $
cccdlflags='-fPIC'
#lddlflags='-shared'
lddlflags='-b'
-@@ -428,7 +428,7 @@ case "$ccisgcc" in
+@@ -434,7 +434,7 @@ case "$ccisgcc" in
toke_cflags="$toke_cflags;optimize=\"$opt\""
regexec_cflags="optimize=\"$opt\""
fi
diff --git a/lang/perl5/patches/patch-co b/lang/perl5/patches/patch-co
index 72bb56e9c6d..f0e0d18f662 100644
--- a/lang/perl5/patches/patch-co
+++ b/lang/perl5/patches/patch-co
@@ -1,6 +1,6 @@
-$NetBSD: patch-co,v 1.1 2008/07/30 23:07:52 ahoka Exp $
+$NetBSD: patch-co,v 1.2 2008/10/10 21:58:43 he Exp $
---- hints/freebsd.sh.orig 2004-03-24 22:47:33.000000000 +0100
+--- hints/freebsd.sh.orig 2007-12-18 11:47:07.000000000 +0100
+++ hints/freebsd.sh
@@ -114,7 +114,7 @@ case "$osvers" in
lddlflags="-Bshareable $lddlflags"
@@ -9,8 +9,8 @@ $NetBSD: patch-co,v 1.1 2008/07/30 23:07:52 ahoka Exp $
-*)
+3*|4*|5*|6*)
objformat=`/usr/bin/objformat`
- if [ x$objformat = xelf ]; then
- libpth="/usr/lib /usr/local/lib"
+ if [ x$objformat = xaout ]; then
+ if [ -e /usr/lib/aout ]; then
@@ -130,6 +130,14 @@ case "$osvers" in
fi
cccdlflags='-DPIC -fPIC'
diff --git a/lang/perl5/patches/patch-da b/lang/perl5/patches/patch-da
deleted file mode 100644
index fbcaca6b805..00000000000
--- a/lang/perl5/patches/patch-da
+++ /dev/null
@@ -1,150 +0,0 @@
-$NetBSD: patch-da,v 1.2 2008/06/01 22:04:07 he Exp $
-
-Fix for
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1927
-from
-http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=26;filename=27_fix_regcomp_utf8;att=1;bug=454792
-
---- regcomp.c.orig 2008-06-01 22:04:17.000000000 +0200
-+++ regcomp.c
-@@ -2790,6 +2790,39 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_sta
- }
-
- /*
-+ * reg_recode
-+ *
-+ * It returns the code point in utf8 for the value in *encp.
-+ * value: a code value in the source encoding
-+ * encp: a pointer to an Encode object
-+ *
-+ * If the result from Encode is not a single character,
-+ * it returns U+FFFD (Replacement character) and sets *encp to NULL.
-+ */
-+STATIC UV
-+S_reg_recode(pTHX_ const char value, SV **encp)
-+{
-+ STRLEN numlen = 1;
-+ SV * const sv = sv_2mortal(newSVpvn(&value, numlen));
-+ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp)
-+ : SvPVX(sv);
-+ const STRLEN newlen = SvCUR(sv);
-+ UV uv = UNICODE_REPLACEMENT;
-+
-+ if (newlen)
-+ uv = SvUTF8(sv)
-+ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT)
-+ : *(U8*)s;
-+
-+ if (!newlen || numlen != newlen) {
-+ uv = UNICODE_REPLACEMENT;
-+ if (encp)
-+ *encp = NULL;
-+ }
-+ return uv;
-+}
-+
-+/*
- - regatom - the lowest level
- *
- * Optimization: gobbles an entire sequence of ordinary characters so that
-@@ -3181,6 +3214,8 @@ tryagain:
- ender = grok_hex(p, &numlen, &flags, NULL);
- p += numlen;
- }
-+ if (PL_encoding && ender < 0x100)
-+ goto recode_encoding;
- break;
- case 'c':
- p++;
-@@ -3200,6 +3235,17 @@ tryagain:
- --p;
- goto loopdone;
- }
-+ if (PL_encoding && ender < 0x100)
-+ goto recode_encoding;
-+ break;
-+ recode_encoding:
-+ {
-+ SV* enc = PL_encoding;
-+ ender = reg_recode((const char)(U8)ender, &enc);
-+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
-+ vWARN(p, "Invalid escape in the specified encoding");
-+ RExC_utf8 = 1;
-+ }
- break;
- case '\0':
- if (p >= RExC_end)
-@@ -3330,32 +3376,6 @@ tryagain:
- break;
- }
-
-- /* If the encoding pragma is in effect recode the text of
-- * any EXACT-kind nodes. */
-- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) {
-- STRLEN oldlen = STR_LEN(ret);
-- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen));
--
-- if (RExC_utf8)
-- SvUTF8_on(sv);
-- if (sv_utf8_downgrade(sv, TRUE)) {
-- const char * const s = sv_recode_to_utf8(sv, PL_encoding);
-- const STRLEN newlen = SvCUR(sv);
--
-- if (SvUTF8(sv))
-- RExC_utf8 = 1;
-- if (!SIZE_ONLY) {
-- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n",
-- (int)oldlen, STRING(ret),
-- (int)newlen, s));
-- Copy(s, STRING(ret), newlen, char);
-- STR_LEN(ret) += newlen - oldlen;
-- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen);
-- } else
-- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen);
-- }
-- }
--
- return(ret);
- }
-
-@@ -3733,6 +3753,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_sta
- value = grok_hex(RExC_parse, &numlen, &flags, NULL);
- RExC_parse += numlen;
- }
-+ if (PL_encoding && value < 0x100)
-+ goto recode_encoding;
- break;
- case 'c':
- value = UCHARAT(RExC_parse++);
-@@ -3740,13 +3762,24 @@ S_regclass(pTHX_ RExC_state_t *pRExC_sta
- break;
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
-- {
-- I32 flags = 0;
-- numlen = 3;
-- value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
-- RExC_parse += numlen;
-- break;
-- }
-+ {
-+ I32 flags = 0;
-+ numlen = 3;
-+ value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
-+ RExC_parse += numlen;
-+ if (PL_encoding && value < 0x100)
-+ goto recode_encoding;
-+ break;
-+ }
-+ recode_encoding:
-+ {
-+ SV* enc = PL_encoding;
-+ value = reg_recode((const char)(U8)value, &enc);
-+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
-+ vWARN(RExC_parse,
-+ "Invalid escape in the specified encoding");
-+ break;
-+ }
- default:
- if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP))
- vWARN2(RExC_parse,
diff --git a/lang/perl5/patches/patch-ta b/lang/perl5/patches/patch-ta
index 9221a0c1089..4b5275202af 100644
--- a/lang/perl5/patches/patch-ta
+++ b/lang/perl5/patches/patch-ta
@@ -1,23 +1,25 @@
-$NetBSD: patch-ta,v 1.1 2006/07/02 20:35:53 rillig Exp $
+$NetBSD: patch-ta,v 1.2 2008/10/10 21:58:44 he Exp $
On NetBSD, filesystems may be mounted with the noatime option.
---- t/io/fs.t.orig 2006-01-08 22:46:15.000000000 +0100
-+++ t/io/fs.t 2006-07-02 22:33:01.000000000 +0200
-@@ -255,13 +255,13 @@ SKIP: {
- is( $atime, 500000001, 'atime' );
- is( $mtime, 500000000 + $delta, 'mtime' );
- }
-- elsif ($^O eq 'beos') {
-+ elsif ($^O eq 'beos' || $^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}");
- }
+--- t/io/fs.t.orig 2007-12-18 11:47:08.000000000 +0100
++++ t/io/fs.t
+@@ -275,15 +275,15 @@ sub check_utime_result {
+ is( $atime, 500000001, 'atime' );
+ is( $mtime, 500000000 + $delta, 'mtime' );
+ }
+- elsif ($^O eq 'beos') {
++ elsif ($^O eq 'beos' || $^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}");
+ }
+ }
}
- }
diff --git a/lang/perl5/patches/patch-zc b/lang/perl5/patches/patch-zc
index 1023115c20f..08c75d8532e 100644
--- a/lang/perl5/patches/patch-zc
+++ b/lang/perl5/patches/patch-zc
@@ -1,6 +1,6 @@
-$NetBSD: patch-zc,v 1.2 2006/04/09 06:34:33 jlam Exp $
+$NetBSD: patch-zc,v 1.3 2008/10/10 21:58:44 he Exp $
---- Policy_sh.SH.orig 2003-08-01 08:23:23.000000000 -0400
+--- Policy_sh.SH.orig 2007-12-18 11:47:07.000000000 +0100
+++ Policy_sh.SH
@@ -184,10 +184,10 @@ do
;;
diff --git a/lang/perl5/patches/patch-zd b/lang/perl5/patches/patch-zd
new file mode 100644
index 00000000000..4113819b284
--- /dev/null
+++ b/lang/perl5/patches/patch-zd
@@ -0,0 +1,14 @@
+$NetBSD: patch-zd,v 1.1 2008/10/10 21:58:44 he Exp $
+
+--- lib/Module/Build/t/tilde.t.orig 2007-12-18 11:47:07.000000000 +0100
++++ lib/Module/Build/t/tilde.t
+@@ -40,6 +40,9 @@ my $p = 'install_base';
+ SKIP: {
+ my $home = $ENV{HOME} ? $ENV{HOME} : undef;
+ skip "Needs case and syntax tweaks for VMS", 14 if $^O eq 'VMS';
++ if ($home =~ /work\/.home/) {
++ skip "Skipping test in pkgsrc env to avoid FAKE_HOME trouble", 14;
++ }
+ unless (defined $home) {
+ my @info = eval { getpwuid $> };
+ skip "No home directory for tilde-expansion tests", 14 if $@;