Fri Oct 10 21:58:44 2008 UTC ()
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.
(he)
diff -r1.137 -r1.138 pkgsrc/lang/perl5/Makefile
diff -r1.49 -r1.50 pkgsrc/lang/perl5/distinfo
diff -r1.30 -r1.31 pkgsrc/lang/perl5/patches/patch-aa
diff -r1.10 -r0 pkgsrc/lang/perl5/patches/patch-ac
diff -r1.11 -r0 pkgsrc/lang/perl5/patches/patch-ad
diff -r1.11 -r0 pkgsrc/lang/perl5/patches/patch-ae
diff -r1.11 -r0 pkgsrc/lang/perl5/patches/patch-ag
diff -r1.13 -r0 pkgsrc/lang/perl5/patches/patch-af
diff -r1.9 -r1.10 pkgsrc/lang/perl5/patches/patch-ah
diff -r1.5 -r0 pkgsrc/lang/perl5/patches/patch-ai
diff -r1.9 -r0 pkgsrc/lang/perl5/patches/patch-aj
diff -r1.3 -r0 pkgsrc/lang/perl5/patches/patch-ak
diff -r1.4 -r0 pkgsrc/lang/perl5/patches/patch-am
diff -r1.4 -r0 pkgsrc/lang/perl5/patches/patch-cb
diff -r1.2 -r0 pkgsrc/lang/perl5/patches/patch-an
diff -r1.2 -r0 pkgsrc/lang/perl5/patches/patch-ce
diff -r1.2 -r0 pkgsrc/lang/perl5/patches/patch-da
diff -r1.1 -r0 pkgsrc/lang/perl5/patches/patch-ap
diff -r1.1 -r0 pkgsrc/lang/perl5/patches/patch-ar
diff -r1.1 -r1.2 pkgsrc/lang/perl5/patches/patch-aq
diff -r1.1 -r1.2 pkgsrc/lang/perl5/patches/patch-cn
diff -r1.1 -r1.2 pkgsrc/lang/perl5/patches/patch-co
diff -r1.1 -r1.2 pkgsrc/lang/perl5/patches/patch-ta
diff -r1.2 -r1.3 pkgsrc/lang/perl5/patches/patch-as
diff -r1.2 -r1.3 pkgsrc/lang/perl5/patches/patch-zc
diff -r1.4 -r1.5 pkgsrc/lang/perl5/patches/patch-ba
diff -r1.5 -r1.6 pkgsrc/lang/perl5/patches/patch-ca
diff -r1.3 -r1.4 pkgsrc/lang/perl5/patches/patch-ch
diff -r1.3 -r1.4 pkgsrc/lang/perl5/patches/patch-ci
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-zd
--- pkgsrc/lang/perl5/Makefile 2008/06/01 22:04:07 1.137
+++ pkgsrc/lang/perl5/Makefile 2008/10/10 21:58:43 1.138
@@ -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
@@ -260,6 +258,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
--- pkgsrc/lang/perl5/distinfo 2008/07/30 23:07:52 1.49
+++ pkgsrc/lang/perl5/distinfo 2008/10/10 21:58:43 1.50
@@ -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-cn) = 7ca2b1ff19f8371637a34ec26779b37d74c74cca
-SHA1 (patch-co) = 4f7ae271aa6a17860e60411dfa45566ee02b0f58
+SHA1 (patch-co) = 493ae6cb6cb544ce023c2a1fb067abe943bba2d4
-SHA1 (patch-da) = 24c8783fcdbead35de20bc3cecf1627a64717853
+SHA1 (patch-ta) = 60d9ef72db56b9f149f3995b3f526fc32a352bd7
-SHA1 (patch-ta) = ca0d1e4bc2dbbc4b86a087fed27cd1e7bbb2873f
+SHA1 (patch-zc) = a23002397ffaebb243f7683c95c8fb227af90f49
-SHA1 (patch-zc) = 0c61b6028813e0f80bfe0760a1e74e3037d37cdd
+SHA1 (patch-zd) = ee67148b8f44fb3826273574abb62ad9ca4ffa7f
--- pkgsrc/lang/perl5/patches/Attic/patch-aa 2006/04/09 06:34:32 1.30
+++ pkgsrc/lang/perl5/patches/Attic/patch-aa 2008/10/10 21:58:43 1.31
@@ -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 @@
$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';
- }
+@@ -932,7 +930,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
- BEGIN {
-@@ -928,7 +926,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)
-
--- pkgsrc/lang/perl5/patches/Attic/patch-ah 2008/01/08 15:19:39 1.9
+++ pkgsrc/lang/perl5/patches/Attic/patch-ah 2008/10/10 21:58:43 1.10
@@ -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 @@
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 @@
-
- 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 @@
+
+ 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
--- pkgsrc/lang/perl5/patches/Attic/patch-aq 2006/05/06 12:32:20 1.1
+++ pkgsrc/lang/perl5/patches/Attic/patch-aq 2008/10/10 21:58:43 1.2
@@ -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 @@
#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)
--- pkgsrc/lang/perl5/patches/Attic/patch-cn 2007/04/21 15:32:15 1.1
+++ pkgsrc/lang/perl5/patches/Attic/patch-cn 2008/10/10 21:58:43 1.2
@@ -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 @@
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
--- pkgsrc/lang/perl5/patches/Attic/patch-co 2008/07/30 23:07:52 1.1
+++ pkgsrc/lang/perl5/patches/Attic/patch-co 2008/10/10 21:58:43 1.2
@@ -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 @@
-*)
+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'
--- pkgsrc/lang/perl5/patches/Attic/patch-ta 2006/07/02 20:35:53 1.1
+++ pkgsrc/lang/perl5/patches/Attic/patch-ta 2008/10/10 21:58:44 1.2
@@ -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}");
+ }
+ }
}
- }
--- pkgsrc/lang/perl5/patches/Attic/patch-as 2008/01/13 00:20:22 1.2
+++ pkgsrc/lang/perl5/patches/Attic/patch-as 2008/10/10 21:58:43 1.3
@@ -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 @@
+@@ -24,8 +24,6 @@
- #include "XSUB.h"
+ # elif defined(HAS_GETPAGESIZE)
-
+ # undef SHMLBA /* not static: determined at boot time */
- #include <sys/types.h>
+ # define SHMLBA getpagesize()
--#ifdef __linux__
+-# elif defined(__linux__)
--# include <asm/page.h>
+-# include <asm/page.h>
--#endif
+ # endif
- #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+ # endif
- #ifndef HAS_SEM
+ #endif
- # include <sys/ipc.h>
--- pkgsrc/lang/perl5/patches/Attic/patch-zc 2006/04/09 06:34:33 1.2
+++ pkgsrc/lang/perl5/patches/Attic/patch-zc 2008/10/10 21:58:44 1.3
@@ -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
;;
--- pkgsrc/lang/perl5/patches/Attic/patch-ba 2006/08/08 15:36:00 1.4
+++ pkgsrc/lang/perl5/patches/Attic/patch-ba 2008/10/10 21:58:43 1.5
@@ -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
--- pkgsrc/lang/perl5/patches/Attic/patch-ca 2006/04/09 06:34:33 1.5
+++ pkgsrc/lang/perl5/patches/Attic/patch-ca 2008/10/10 21:58:43 1.6
@@ -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 @@
;;
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 @@
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 @@
*) 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 @@
+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 @@
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
--- pkgsrc/lang/perl5/patches/Attic/patch-ch 2006/04/09 06:34:33 1.3
+++ pkgsrc/lang/perl5/patches/Attic/patch-ch 2008/10/10 21:58:43 1.4
@@ -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"
;;
--- pkgsrc/lang/perl5/patches/Attic/patch-ci 2006/04/09 06:34:33 1.3
+++ pkgsrc/lang/perl5/patches/Attic/patch-ci 2008/10/10 21:58:43 1.4
@@ -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
$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 $@;