Subject: Pending perl changes
To: None <tech-pkg@netbsd.org>
From: Johnny C. Lam <jlam@netbsd.org>
List: tech-pkg
Date: 07/15/2005 05:10:58
--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
I'm going to be committing my massive Perl changes next week. I've
attached a diff of lang/perl5 for people that want to look it over
and test it. After applying the diff, you may need to remove
lang/perl5/MESSAGE. This diff also updates Perl to 5.8.7. No changes
to most p5-* packages should be needed, though some packages may need
minor changes. Those will be taken care of in the same commit, though
I don't have those changes available yet.
Cheers,
-- Johnny Lam <jlam@NetBSD.org>
--azLHFNyN32YCQGCU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="perl.diff"
Index: MESSAGE
===================================================================
RCS file: MESSAGE
diff -N MESSAGE
--- MESSAGE 24 Jun 2005 06:43:45 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,9 +0,0 @@
-===========================================================================
-$NetBSD: MESSAGE,v 1.5 2005/06/24 06:43:45 jlam Exp $
-
-${PKGNAME} will use the following directory as the default
-location of the site-specific Perl modules:
-
- ${PERL5_SITELIB}
-
-===========================================================================
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
retrieving revision 1.96
diff -u -r1.96 Makefile
--- Makefile 13 Jul 2005 15:20:29 -0000 1.96
+++ Makefile 15 Jul 2005 05:03:27 -0000
@@ -6,14 +6,15 @@
PERL5_SNAPSHOT= # empty
PERL5_RC_VERS= # empty
-PERL5_VERS= 5.8.6
+PERL5_VERS= 5.8.7
CATEGORIES= lang devel perl5
EXTRACT_SUFX= .tar.bz2
+WRKSRC= ${WRKDIR}/${DISTNAME}
.if empty(PERL5_SNAPSHOT) && empty(PERL5_RC_VERS)
DISTNAME= perl-${PERL5_VERS}
PKGNAME= perl-${PERL5_VERS}
-PKGREVISION= 6
+PKGREVISION= # empty
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,}
.else
. if !empty(PERL5_SNAPSHOT)
@@ -41,19 +42,32 @@
p5-Devel-DProf-[0-9]* p5-Devel-Peek-[0-9]* \
perl-mk-[0-9]* perl-thread-[0-9]*
-PKG_INSTALLATION_TYPES= overwrite pkgviews
+.include "../../mk/bsd.prefs.mk"
+
+PERL5_API_VERS?= unknown
+.if exists(${WRKSRC}/patchlevel.h)
+PERL5_API_VERS_cmd= \
+ ${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 } \
+ /\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \
+ /\#define[ ]*PERL_API_SUBVERSION/ { s = "."$$3 } \
+ END { printf "%s%s%s\n", R, r, s }' \
+ ${WRKSRC}/patchlevel.h
+PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh}
+.endif
+
+PERL5= ${PREFIX}/bin/perl${PERL5_VERS}
+PERL5_PERLBASE= ${PREFIX}/lib/perl5
+PERL5_SITEBASE= ${PREFIX}/lib/perl5/site_perl
+PERL5_VENDORBASE= ${PREFIX}/lib/perl5/vendor_perl
.include "../../mk/compiler.mk"
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= ./Configure
CONFIGURE_ARGS+= -sde
-CONFIGURE_ARGS+= -Dprefix="${PREFIX}"
-CONFIGURE_ARGS+= -Dscriptdir="${PREFIX}/bin"
CONFIGURE_ARGS+= -Darchname="${MACHINE_ARCH}-${LOWER_OPSYS}"
-CONFIGURE_ARGS+= -Dcc="${CC}"
-CONFIGURE_ARGS+= -Doptimize="${CFLAGS}"
-CONFIGURE_ARGS+= -Dinstallstyle="lib/perl5"
+CONFIGURE_ARGS+= -Dcc=${CC:Q}
+CONFIGURE_ARGS+= -Doptimize=${CFLAGS:Q}
CONFIGURE_ARGS+= -Duseshrplib
CONFIGURE_ARGS+= -Ui_malloc
CONFIGURE_ARGS+= -Uusemymalloc
@@ -62,31 +76,43 @@
TEST_TARGET= test
-# Install Perl man3 pages into a private directory under the normal
-# Perl installation. Also install site-specific Perl man3 pages into a
-# private directory within site_perl. This avoids manpage conflicts
-# between 3rd-party modules, the standard Perl library, and other
-# packages.
-#
+###
+### Installation directories for "perl", "site", and "vendor" bits.
+###
+CONFIGURE_ARGS+= -Dinstallstyle="lib/perl5"
+CONFIGURE_ARGS+= -Dprefix=${PREFIX:Q}
+CONFIGURE_ARGS+= -Dsiteprefix=${PREFIX:Q}
+CONFIGURE_ARGS+= -Dvendorprefix=${PREFIX:Q}
+
+# The Perl Configure script will install scripts into "*/script"
+# directories if they exist, so override with explicit settings.
+#
+CONFIGURE_ARGS+= -Dscriptdir=${PERL5_PERLBASE:Q}/bin
+CONFIGURE_ARGS+= -Dsitescript=${PERL5_SITEBASE:Q}/bin
+CONFIGURE_ARGS+= -Dvendorscript=${PERL5_VENDORBASE:Q}/bin
+
+# Put the API-specific files into API-specific directories instead
+# of the default version-specific directories.
+#
+CONFIGURE_ARGS+= -Dprivlib=${PERL5_PERLBASE:Q}/${PERL5_API_VERS}
+CONFIGURE_ARGS+= -Dsitelib=${PERL5_SITEBASE:Q}/${PERL5_API_VERS}
+CONFIGURE_ARGS+= -Dvendorlib=${PERL5_VENDORBASE:Q}/${PERL5_API_VERS}
+
+# Avoid manpage conflicts between the standard Perl library, 3rd-party
+# modules, and other packages.
+#
+CONFIGURE_ARGS+= -Dman1ext="1"
+CONFIGURE_ARGS+= -Dman1dir=${PERL5_PERLBASE:Q}/man/man1
+CONFIGURE_ARGS+= -Dsiteman1dir=${PERL5_SITEBASE:Q}/man/man1
+CONFIGURE_ARGS+= -Dvendorman1dir=${PERL5_VENDORBASE:Q}/man/man1
CONFIGURE_ARGS+= -Dman3ext="3"
-CONFIGURE_ARGS+= -Dman3dir="${PERL5_PRIVLIB}/man/man3"
-CONFIGURE_ARGS+= -Dsiteman3dir="${PERL5_SITEPERL}/man/man3"
-
-# Ensure that the Perl man1 pages go into ${PREFIX}/man/man1 and not
-# into some other platform-specific location kindly "guessed" by the
-# Configure script.
-#
-CONFIGURE_ARGS+= -Dman1dir="${PREFIX}/man/man1"
-
-# The site directories are all relative to the perl view.
-CONFIGURE_ARGS+= -Dsiteprefix="${VIEWBASE}"
-CONFIGURE_ARGS+= -Dsiteman1dir="${VIEWBASE}/man/man1"
-
-.include "../../mk/bsd.prefs.mk"
+CONFIGURE_ARGS+= -Dman3dir=${PERL5_PERLBASE:Q}/man/man3
+CONFIGURE_ARGS+= -Dsiteman3dir=${PERL5_SITEBASE:Q}/man/man3
+CONFIGURE_ARGS+= -Dvendorman3dir=${PERL5_VENDORBASE:Q}/man/man3
.if ${OPSYS} == "Darwin"
#
-# The perl build attempts to work around case-insensitivity problems on
+# The Perl build attempts to work around case-insensitivity problems on
# HFS filesystems by using GNUmakefiles, so we need to use GNU make.
#
USE_TOOLS+= gmake
@@ -95,6 +121,7 @@
# Perl embeds the full paths to the following tools in several installed
# files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used.
#
+PKGSRC_USE_TOOLS+= basename
USE_TOOLS+= hostname ln sed test
CONFIGURE_ARGS+= -Daphostname=${TOOLS_HOSTNAME_CMD:Q}
CONFIGURE_ARGS+= -Dln=${TOOLS_LN:Q}
@@ -172,51 +199,47 @@
PERL5_USE_THREADS= no
.endif
-.if !empty(PERL5_USE_THREADS:M[nN][oO])
-CONFIGURE_ARGS+= -Uuseithreads
-.else
+PKG_OPTIONS_VAR= PKG_OPTIONS.perl
+PKG_SUPPORTED_OPTIONS= threads
+.if !empty(PERL5_USE_THREADS:M[yY][eE][sS])
+PKG_SUGGESTED_OPTIONS= threads
+.endif
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mthreads)
. include "../../mk/pthread.buildlink3.mk"
CONFIGURE_ARGS+= -Duseithreads
CFLAGS+= ${PTHREAD_CFLAGS}
PERL5_HINTS_LDFLAGS+= ${PTHREAD_LDFLAGS}
PERL5_HINTS_LDDLFLAGS+= ${PTHREAD_LDFLAGS}
LIBSWANTED+= ${PTHREAD_LIBS:M-l*:S/^-l//}
+.else
+CONFIGURE_ARGS+= -Uuseithreads
.endif
.if !empty(LIBSWANTED)
-CONFIGURE_ARGS+= -Dlibswanted="${LIBSWANTED}"
+CONFIGURE_ARGS+= -Dlibswanted=${LIBSWANTED:Q}
.endif
.include "../../mk/compiler.mk"
.if ${OPSYS} == "IRIX"
. if ${ABI} == "64"
-CONFIGURE_ARGS+= -Dcc='${CC} -64' -Duse64bitint
+CONFIGURE_ARGS+= -Dcc=${CC:Q}" -64" -Duse64bitint
. else
-CONFIGURE_ARGS+= -Dcc='${CC} -n32'
+CONFIGURE_ARGS+= -Dcc=${CC:Q}" -n32"
. endif
.endif
-PERL5= ${PREFIX}/bin/perl${PERL5_VERS}
-PERL5_PRIVLIB= ${PREFIX}/lib/perl5/${PERL5_VERS}
-PERL5_SITEPERL= ${VIEWBASE}/lib/perl5/site_perl
-PERL5_SITELIB= ${VIEWBASE}/lib/perl5/site_perl/${PERL5_VERS}
-PLIST_SUBST+= PERL5_SITEPERL=${PERL5_SITEPERL:S/^${PREFIX}\///}
-PLIST_SUBST+= PERL5_SITELIB=${PERL5_SITELIB:S/^${PREFIX}\///}
-MESSAGE_SUBST+= PERL5_SITELIB=${PERL5_SITELIB}
-
-# 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 said instead.
-post-patch:
-.if ${PKGDIRMODE} != "755"
-. for f in installhtml installman installperl lib/ExtUtils/Install.pm
- cd ${WRKSRC} && \
- ${MV} -f ${f} ${f}.dirmode && \
- ${SED} -e 's/755/${PKGDIRMODE}/g;/umask(/d' \
- ${f}.dirmode >${f}
-. endfor
-.endif
+# Some platforms may want the directory mode not to be 0755. This
+# is, unfortunately, hardcoded in quite a few places in Perl, so
+# let's substitute what pkgsrc says instead.
+#
+SUBST_CLASSES+= dirmode
+SUBST_STAGE.dirmode= post-patch
+SUBST_FILES.dirmode= installhtml installman installperl \
+ lib/ExtUtils/Install.pm
+SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d"
# It's tough to guess which hints file will be used, so add our modifications
# to all of them:
@@ -228,63 +251,64 @@
hintdir="${WRKSRC}/hints"; \
for hints in $${hintdir}/*.sh; do \
${CHMOD} +w $${hints}; \
- ( ${ECHO} ""; \
+ { ${ECHO} ""; \
${ECHO} "cat > UU/pkgsrc.cbu <<'EOCBU'"; \
${ECHO} "# This script UU/pkgsrc.cbu will get 'called-back' by Configure to set"; \
${ECHO} '# linker options after all other call-back scripts have been invoked.'; \
${ECHO} 'ldflags="${PERL5_HINTS_LDFLAGS} $$ldflags"'; \
${ECHO} 'lddlflags="${PERL5_HINTS_LDFLAGS} $$lddlflags"'; \
${ECHO} "EOCBU"; \
- ) >> $${hints}; \
+ } >> $${hints}; \
done
hintdir="${WRKSRC}/hints"; \
for hints in $${hintdir}/*.sh; do \
- ( ${ECHO} ""; \
+ { ${ECHO} ""; \
${ECHO} "# Set pkgsrc defaults for library and header search paths."; \
${ECHO} 'locincpth="${LOCINCPATH}"'; \
${ECHO} 'loclibpth="${LOCLIBPATH}"'; \
- ) >> $${hints}; \
+ } >> $${hints}; \
done
.if !empty(SYSLIBPATH)
hintdir="${WRKSRC}/hints"; \
for hints in $${hintdir}/*.sh; do \
- ( ${ECHO} "glibpth='${SYSLIBPATH}'"; \
- ) >> $${hints}; \
+ { ${ECHO} "glibpth='${SYSLIBPATH}'"; } >> $${hints}; \
done
.endif
-WRKSRC_PERL5= ${WRKSRC}/perl
PLIST_SRC= ${WRKDIR}/.PLIST_SRC
PLIST_FILE_SED= -e "s,[ ].*,," -e "s,/\./,/,g" -e "s,${PREFIX}/,,"
PLIST_DIR_SED= ${PLIST_FILE_SED} \
-e "s,^,@unexec \${RMDIR} -p %D/," \
-e "s,/[^/]*$$, 2>/dev/null || ${TRUE}," \
+INSTALLATION_DIRS= man/man1
+
post-install:
- ${RM} -f ${PREFIX}/bin/perl ${PREFIX}/bin/perl${PERL5_VERS}
- ${INSTALL_PROGRAM_DIR} ${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC_PERL5} ${PREFIX}/bin/perl${PERL5_VERS}
- ${LN} -f ${PREFIX}/bin/perl${PERL5_VERS} ${PREFIX}/bin/perl
-.if defined(_STRIPFLAG_INSTALL) && !empty(_STRIPFLAG_INSTALL)
- if [ -x ${PREFIX}/bin/a2p ]; then \
+ ${RM} -f ${WRKDIR}/perlman
+ ${TOUCH} ${WRKDIR}/perlman
+ ${LS} -1 ${PERL5_PERLBASE}/man/man1/perl*.1 | \
+ while read src; do \
+ dest=${PREFIX}/man/man1/`${BASENAME} $$src`; \
+ ${LN} -sf $$src $$dest; \
+ ${ECHO} "$$dest" >> ${WRKDIR}/perlman; \
+ done
+ if ${TEST} -x ${PREFIX}/bin/a2p; then \
strip ${PREFIX}/bin/a2p; \
fi
-.endif
# Generate the PLIST template
eval `${PERL5} -V:installarchlib 2>/dev/null`; \
eval `${PERL5} -V:installsitearch 2>/dev/null`; \
- sitearch=`${ECHO} $$installsitearch | ${SED} ${PLIST_FILE_SED}`; \
+ eval `${PERL5} -V:installvendorarch 2>/dev/null`; \
${RMDIR} -p $$installsitearch 2>/dev/null || ${TRUE}; \
+ ${RMDIR} -p $$installvendorarch 2>/dev/null || ${TRUE}; \
packlist="$$installarchlib/.packlist"; \
- ( ${ECHO} "@unexec ${RM} -f %D/$$sitearch/perllocal.pod"; \
- ${ECHO} "@unexec ${RMDIR} -p %D/$$sitearch 2>/dev/null || ${TRUE}"; \
- ${CAT} ${PKGDIR}/PLIST; \
+ { ${CAT} ${PKGDIR}/PLIST; \
${ECHO} "@comment The following lines are automatically generated"; \
${ECHO} "@comment from the installed .packlist files."; \
- ) > ${PLIST_SRC}; \
- ( ${ECHO} "$$packlist" && ${CAT} $$packlist ) \
- | ${SED} ${PLIST_FILE_SED} | ${SORT} -u >> ${PLIST_SRC}; \
- ( ${ECHO} "$$packlist" && ${CAT} $$packlist ) \
- | ${SED} ${PLIST_DIR_SED} | ${SORT} -ur >> ${PLIST_SRC}
+ } > ${PLIST_SRC}; \
+ { ${ECHO} "$$packlist"; ${CAT} ${WRKDIR}/perlman $$packlist; } \
+ | ${SED} ${PLIST_FILE_SED} | ${SORT} -u >> ${PLIST_SRC}; \
+ { ${ECHO} "$$packlist"; ${CAT} ${WRKDIR}/perlman $$packlist; } \
+ | ${SED} ${PLIST_DIR_SED} | ${SORT} -ur >> ${PLIST_SRC}
.include "../../mk/bsd.pkg.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/PLIST,v
retrieving revision 1.4
diff -u -r1.4 PLIST
--- PLIST 24 Jun 2005 06:43:45 -0000 1.4
+++ PLIST 15 Jul 2005 05:03:27 -0000
@@ -1,5 +1 @@
@comment $NetBSD: PLIST,v 1.4 2005/06/24 06:43:45 jlam Exp $
-@unexec ${RMDIR} -p %D/${PERL5_SITEPERL}/man/man3 2>/dev/null || ${TRUE}
-@unexec ${RMDIR} -p %D/${PERL5_SITEPERL}/man 2>/dev/null || ${TRUE}
-@unexec ${RMDIR} -p %D/${PERL5_SITEPERL} 2>/dev/null || ${TRUE}
-@unexec ${RMDIR} -p %D/${PERL5_SITELIB} 2>/dev/null || ${TRUE}
Index: buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/buildlink3.mk,v
retrieving revision 1.24
diff -u -r1.24 buildlink3.mk
--- buildlink3.mk 24 Jun 2005 06:43:45 -0000 1.24
+++ buildlink3.mk 15 Jul 2005 05:03:27 -0000
@@ -14,25 +14,26 @@
.if !empty(PERL5_BUILDLINK3_MK:M+)
USE_TOOLS+= perl
+PERL5_REQD+= 5.8.7
TOOLS_DEPENDS.perl= # buildlink3 will handle the dependency
-BUILDLINK_DEPENDS.perl+= {perl>=${PERL5_REQD},perl-thread>=${PERL5_REQD}}
-BUILDLINK_RECOMMENDED.perl+= perl>=5.8.5nb6
+BUILDLINK_DEPENDS.perl+= perl>=${PERL5_REQD}
BUILDLINK_PKGSRCDIR.perl?= ../../lang/perl5
-.if defined(USE_PERL5) && !empty(USE_PERL5:Mbuild)
+. if defined(USE_PERL5) && !empty(USE_PERL5:Mbuild)
BUILDLINK_DEPMETHOD.perl?= build
-.endif
-.if defined(TOOLS_DEPMETHOD.perl) && !empty(TOOLS_DEPMETHOD.perl:MBUILD_DEPENDS)
+. endif
+. if defined(TOOLS_DEPMETHOD.perl) && \
+ !empty(TOOLS_DEPMETHOD.perl:MBUILD_DEPENDS)
BUILDLINK_DEPMETHOD.perl?= build
-.endif
+. endif
PERL5_OPTIONS?= # empty
-.if !empty(PERL5_OPTIONS:Mthreads)
+. if !empty(PERL5_OPTIONS:Mthreads)
USE_PKGINSTALL= yes
INSTALL_EXTRA_TMPL+= ${.CURDIR}/../../lang/perl5/files/install.tmpl
-.endif
+. endif
-.if ${PKG_INSTALLATION_TYPE} == "overwrite"
+. if ${PKG_INSTALLATION_TYPE} == "overwrite"
#
# Perl keeps headers and odd libraries in an odd path not caught by the
# default BUILDLINK_FILES_CMD, so name them to be symlinked into
@@ -41,8 +42,7 @@
BUILDLINK_FILES.perl= \
${PERL5_SUB_INSTALLARCHLIB}/CORE/* \
${PERL5_SUB_INSTALLARCHLIB}/auto/DynaLoader/DynaLoader.a
-.endif
-
+. endif
.endif # PERL5_BUILDLINK3_MK
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/distinfo,v
retrieving revision 1.22
diff -u -r1.22 distinfo
--- distinfo 24 Jun 2005 06:43:45 -0000 1.22
+++ distinfo 15 Jul 2005 05:03:27 -0000
@@ -1,24 +1,22 @@
$NetBSD: distinfo,v 1.22 2005/06/24 06:43:45 jlam Exp $
-SHA1 (perl-5.8.6.tar.bz2) = 5267c5b4900a995a10e4fc56fe10a6852004c29b
-RMD160 (perl-5.8.6.tar.bz2) = 52fdee3caecf67417a9c081b7aae84807235cb27
-Size (perl-5.8.6.tar.bz2) = 9693085 bytes
-SHA1 (patch-aa) = 3c16c599dae752cea4143ca48071118ece5925a4
+SHA1 (perl-5.8.7.tar.bz2) = c9477c6fe76b200033694bdc555a0276523d4228
+RMD160 (perl-5.8.7.tar.bz2) = 110c286d73fd89e25da8ea394e763f209a76d283
+Size (perl-5.8.7.tar.bz2) = 9839086 bytes
+SHA1 (patch-aa) = 03e6d0683625a3da30582abb89646b88cde84ea9
SHA1 (patch-ae) = 044ac094cd475a16483552aa6f1bde03bd11f592
-SHA1 (patch-ah) = cb103c14090b2d61720ee9b555b32085c8eeb810
+SHA1 (patch-ah) = 7847562d35cd4834a45139b6a8cfe766aa45fa0a
+SHA1 (patch-al) = 7b86ec658c09077bec513eadc02006525a548d6f
+SHA1 (patch-am) = f82f8fd7fa372f1d47b057b6051613d66dc4bc23
+SHA1 (patch-an) = 25c0991dba16ebe11422a97f544cb100e8da56b8
SHA1 (patch-ba) = 096835f71a69f29e50bdad47944afa838dba5aec
SHA1 (patch-bd) = 9f96ba1912f2a8db93db31f7a63c0b49a045318d
-SHA1 (patch-be) = 9f667f33ea24300a5580db84d0978ca53f126f29
-SHA1 (patch-bf) = 9bc5690b41a70617cde89b805184a8d5605d20d1
-SHA1 (patch-ca) = 3198a5f49c2a850b1ea1f5c6f0738f45da505924
-SHA1 (patch-cb) = 5eec09e832735d2e59fd82f7043fa78ee08cbd0d
+SHA1 (patch-ca) = 8eef6a9f96b8f1c6a7c34b521b7c633d396757e3
+SHA1 (patch-cb) = b4a3e81675bd67d88522debb02f49dda82542ef5
SHA1 (patch-cc) = b04ea30ac47ae0748aa6b6c83c8de0396ace349f
-SHA1 (patch-cd) = d9420f57f036567abac821a8144768a2a7057b47
-SHA1 (patch-ce) = c7d2defd2cfa872c1f6651678bc3de6cd7aeaf34
-SHA1 (patch-cf) = 23cf46c8d683b688878433ec9b33f3c65528cd28
-SHA1 (patch-cg) = e1b56aaa40934f78298d1fd9303fbae33c472d8e
-SHA1 (patch-ch) = 6cfd77bba102a4bca82576f061ba60c1610c4d07
-SHA1 (patch-ci) = 89bc6e67b18ca903cb3791fd598fd579bc48298b
+SHA1 (patch-ce) = 6b1efab32c6bc28e0faf7522322e6d805eb21730
+SHA1 (patch-ch) = 028439dde97f1d5a94fbd571a59fd0ab2c5b3b07
+SHA1 (patch-ci) = 908a8bb35c088b994bde49707ab1536b4ab3d7a4
SHA1 (patch-cj) = 680b7161d7530825376b9d5c108fc01f15768e5e
SHA1 (patch-ck) = 28207b8186c9ad194a1edc696159915bc16d1097
SHA1 (patch-cl) = 8553c83e721f5ae43a5f6e0e4d2b70510b69e77c
Index: module.mk
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/module.mk,v
retrieving revision 1.47
diff -u -r1.47 module.mk
--- module.mk 13 Jul 2005 18:01:31 -0000 1.47
+++ module.mk 15 Jul 2005 05:03:27 -0000
@@ -34,10 +34,6 @@
.include "../../mk/bsd.prefs.mk"
-BUILDLINK_DEPMETHOD.perl+= full
-
-BUILDING_PERL5?= no
-BUILDING_MODULE_BUILD?= no
PERL5_MODULE_TYPE?= MakeMaker
.if (${PERL5_MODULE_TYPE} != "MakeMaker") && \
@@ -45,119 +41,159 @@
PKG_FAIL_REASON+= "\`\`${PERL5_MODULE_TYPE}'' is not a supported PERL5_MODULE_TYPE."
.endif
-.if empty(BUILDING_PERL5:M[yY][eE][sS])
-. include "../../lang/perl5/buildlink3.mk"
+# Default test target for Perl modules
+TEST_TARGET?= test
+
+.include "../../mk/compiler.mk"
+
+.if ${OPSYS} == "AIX"
+. if !empty(CC_VERSION:Mgcc*)
+BROKEN= Perl does not like building with GCC on AIX, please use a different compiler
+. endif
+.endif
+
+.if ${PERL5_MODULE_TYPE} == "Module::Build"
+_PERL5_MODTYPE= modbuild
+.elif ${PERL5_MODULE_TYPE} == "MakeMaker"
+_PERL5_MODTYPE= makemaker
.endif
-.if empty(BUILDING_MODULE_BUILD:M[yY][eE][sS]) && \
+
+###########################################################################
+###
+### Add the proper dependencies for using the specified module build
+### system.
+###
+
+BUILDLINK_DEPMETHOD.perl+= full
+.include "../../lang/perl5/buildlink3.mk"
+
+.if empty(PKGPATH:Mdevel/p5-Module-Build) && \
(${PERL5_MODULE_TYPE} == "Module::Build")
BUILD_DEPENDS+= p5-Module-Build>=0.2608nb1:../../devel/p5-Module-Build
.endif
-.include "../../lang/perl5/vars.mk"
-PERL5_CONFIGURE?= YES
+###########################################################################
+###
+### Target definitions (configure, build, install, etc.)
+###
+
+PERL5_CONFIGURE?= yes
PERL5_CONFIGURE_DIRS?= ${CONFIGURE_DIRS}
-# All pkgsrc-install perl modules are installed into the "site"
+MAKE_ENV+= LC_ALL=C
+
+# All pkgsrc-installed Perl modules are installed into the "vendor"
# directories.
#
-MAKE_PARAMS+= INSTALLDIRS=site
-
-.include "../../mk/compiler.mk"
-
-.if ${OPSYS} == "AIX"
-.if !empty(CC_VERSION:Mgcc*)
-BROKEN= Perl does not like building with gcc on AIX, please use a different compiler
-.endif
-.endif
+MAKE_PARAMS.makemaker+= INSTALLDIRS=vendor
+MAKE_PARAMS.modbuild+= installdirs=vendor
-MAKE_ENV+= LC_ALL=C
-.if ${PERL5_MODULE_TYPE} == "Module::Build"
-_CONF_ARG= Build.PL
-.elif ${PERL5_MODULE_TYPE} == "MakeMaker"
-_CONF_ARG= Makefile.PL ${MAKE_PARAMS}
-.endif
+MAKE_PARAMS+= ${MAKE_PARAMS.${_PERL5_MODTYPE}}
-.PHONY: perl5-configure
-perl5-configure:
+.PHONY: do-makemaker-configure
+do-makemaker-configure:
${_PKG_SILENT}${_PKG_DEBUG} \
for dir in ${PERL5_CONFIGURE_DIRS}; do \
- if [ -f $$dir/Makefile.PL ]; then \
+ if ${TEST} -f $$dir/Makefile.PL; then \
( cd $$dir && ${SETENV} ${MAKE_ENV} \
- ${PERL5} ${_CONF_ARG}); \
+ ${PERL5} Makefile.PL ${MAKE_PARAMS} ); \
fi; \
done
-.if defined(PERL5_CONFIGURE) && !empty(PERL5_CONFIGURE:M[yY][eE][sS])
-. if target(do-configure)
-do-configure: perl5-configure
-. else
-do-configure: perl5-configure
- ${_PKG_SILENT}${_PKG_DEBUG}${DO_NADA}
-. endif
-.endif
+.PHONY: do-modbuild-configure
+do-modbuild-configure:
+ ${_PKG_SILENT}${_PKG_DEBUG} \
+ for dir in ${PERL5_CONFIGURE_DIRS}; do \
+ if ${TEST} -f $$dir/Build.PL; then \
+ ( cd $$dir && ${SETENV} ${MAKE_ENV} \
+ ${PERL5} Build.PL ${MAKE_PARAMS} ); \
+ fi; \
+ done
-# Repoint all of the site-specific variables to be under the perl5
-# module's ${PREFIX}.
-#
-.for _var_ in ${_PERL5_SITEVARS} INSTALLSCRIPT
-PERL5_${_var_}= ${PREFIX}/${PERL5_SUB_${_var_}}
-PERL5_MAKE_FLAGS+= ${_var_}="${PERL5_${_var_}}"
-.endfor
+.PHONY: perl5-configure
+perl5-configure: do-${_PERL5_MODTYPE}-configure
-.if ${PERL5_MODULE_TYPE} == "MakeMaker"
-#
-# The PREFIX in the generated Makefile will point to ${_PERL5_PREFIX},
-# so override its value to the module's ${PREFIX}.
-#
-PERL5_MAKE_FLAGS+= PREFIX="${PREFIX}"
+.if !empty(PERL5_CONFIGURE:M[yY][eE][sS])
+do-configure: perl5-configure
.endif
-.if ${PERL5_MODULE_TYPE} == "Module::Build"
-do-build:
+.PHONY: do-modbuild-build
+do-modbuild-build:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./Build
-do-test:
+.PHONY: do-modbuild-test
+do-modbuild-test:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./Build test
-do-install:
+.PHONY: do-modbuild-install
+do-modbuild-install:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./Build install
-.endif
-.if defined(DEFAULT_VIEW.perl)
-DEFAULT_VIEW.${PKGBASE}= ${DEFAULT_VIEW.perl}
-.endif
+.for _target_ in build test install
+. if target(do-${_PERL5_MODTYPE}-${_target_})
+do-${_target_}: do-${_PERL5_MODTYPE}-${_target_}
+. endif
+.endfor
-.if defined(PERL5_LDFLAGS) && !empty(PERL5_LDFLAGS)
-FIX_RPATH+= PERL5_LDFLAGS
-LDFLAGS+= ${PERL5_LDFLAGS}
-.endif
+
+###########################################################################
+###
+### Make variable overrides
+###
# MakeMaker provides two hooks, OPTIMIZE and OTHERLDFLAGS, to
# customize the arguments passed to the preprocessor and linker,
# respectively.
#
-PERL5_MAKE_FLAGS+= OPTIMIZE="${CFLAGS} ${CPPFLAGS}"
+PERL5_MAKE_FLAGS.makemaker+= OPTIMIZE=${CFLAGS:Q}" "${CPPFLAGS:Q}
.if ${OBJECT_FMT} == "a.out"
-PERL5_MAKE_FLAGS+= OTHERLDFLAGS="${LDFLAGS:S/-Wl,//g}"
+PERL5_MAKE_FLAGS.makemaker+= OTHERLDFLAGS=${LDFLAGS:S/-Wl,//g:Q}
.else
-PERL5_MAKE_FLAGS+= OTHERLDFLAGS="${LDFLAGS}"
+PERL5_MAKE_FLAGS.makemaker+= OTHERLDFLAGS=${LDFLAGS:Q}
+.endif
+
+# Repoint all of the vendor-specific variables to be under the perl5
+# module's ${PREFIX}.
+#
+.include "../../lang/perl5/vars.mk"
+.for _var_ in ${_PERL5_VARS}
+PERL5_MAKE_FLAGS.makemaker+= ${_var_}=${PERL5_${_var_}:Q}
+.endfor
+#
+# The PREFIX in the generated Makefile will point to ${_PERL5_PREFIX},
+# so override its value to the module's ${PREFIX}.
+#
+PERL5_MAKE_FLAGS.makemaker+= PREFIX=${PREFIX:Q}
+
+PERL5_MAKE_FLAGS+= ${PERL5_MAKE_FLAGS.${_PERL5_MODTYPE}}
+MAKE_FLAGS+= ${PERL5_MAKE_FLAGS}
+
+.if defined(PERL5_LDFLAGS) && !empty(PERL5_LDFLAGS)
+FIX_RPATH+= PERL5_LDFLAGS
+LDFLAGS+= ${PERL5_LDFLAGS}
.endif
+
+###########################################################################
+###
+### Packlist -> PLIST generation
+###
+
# Generate the PLIST from the files listed in PERL5_PACKLIST.
.if defined(PERL5_PACKLIST)
-PERL5_PACKLIST_DIR?= ${PERL5_SITEARCH}
+PERL5_PACKLIST_DIR?= ${PERL5_INSTALLVENDORARCH}
_PERL5_PACKLIST= ${PERL5_PACKLIST:S/^/${PERL5_PACKLIST_DIR}\//}
PERL5_PLIST_COMMENT= \
- ( ${ECHO} "@comment The following lines are automatically generated"; \
- ${ECHO} "@comment from the installed .packlist files." )
+ { ${ECHO} "@comment The following lines are automatically generated"; \
+ ${ECHO} "@comment from the installed .packlist files."; }
PERL5_PLIST_FILES= \
- ( ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_PACKLIST}; do [ ! -f $$f ] || ${ECHO} $$f; done ) \
+ { ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_PACKLIST}; do ${TEST} ! -f "$$f" || ${ECHO} "$$f"; done; } \
| ${SED} -e "s,[ ].*,," -e "s,/\./,/,g" -e "s,${PREFIX}/,," \
| ${SORT} -u
PERL5_PLIST_DIRS= \
- ( ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_PACKLIST}; do [ ! -f $$f ] || ${ECHO} $$f; done ) \
+ { ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_PACKLIST}; do ${TEST} ! -f "$$f" || ${ECHO} "$$f"; done; } \
| ${SED} -e "s,[ ].*,," -e "s,/\./,/,g" -e "s,${PREFIX}/,," \
-e "s,^,@unexec \${RMDIR} -p %D/," \
-e "s,/[^/]*$$, 2>/dev/null || ${TRUE}," \
@@ -168,41 +204,4 @@
GENERATE_PLIST+= ${PERL5_GENERATE_PLIST};
.endif
-# The build and install stages require slightly different values for
-# INSTALLARCHLIB. During the build, INSTALLARCHLIB refers to the
-# directory where libperl.so may be found, which should point into the
-# default view. During the install, INSTALLARCHLIB refers to the
-# directory where the perllocal.pod file should be installed, which
-# should point into the package prefix.
-#
-.if empty(BUILDING_PERL5:M[yY][eE][sS])
-MAKE_FLAGS+= ${PERL5_MAKE_FLAGS}
-BUILD_MAKE_FLAGS= ${MAKE_FLAGS}
-BUILD_MAKE_FLAGS+= INSTALLARCHLIB="${VIEWBASE}/${PERL5_SUB_INSTALLARCHLIB}"
-INSTALL_MAKE_FLAGS= ${MAKE_FLAGS}
-INSTALL_MAKE_FLAGS+= INSTALLARCHLIB="${PREFIX}/${PERL5_SUB_INSTALLARCHLIB}"
-.endif
-
-# Remove the perllocal.pod file from the installation since we don't
-# bother keeping the file contents up-to-date anyway.
-#
-.if ${PKG_INSTALLATION_TYPE} == "pkgviews"
-post-install: perl5-post-install
-.endif
-
-.PHONY: perl5-post-install
-perl5-post-install:
- ${_PKG_SILENT}${_PKG_DEBUG} \
- for dir in \
- ${PREFIX}/${PERL5_SUB_INSTALLARCHLIB} \
- ${PERL5_INSTALLSITEARCH}; \
- do \
- if [ -f $$dir/perllocal.pod ]; then \
- ${RM} -f $$dir/perllocal.pod; \
- fi; \
- done
-
-# Default test target for perl5 modules
-TEST_TARGET?= test
-
.endif # _PERL5_MODULE_MK
Index: vars.mk
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/vars.mk,v
retrieving revision 1.2
diff -u -r1.2 vars.mk
--- vars.mk 12 May 2005 20:59:29 -0000 1.2
+++ vars.mk 15 Jul 2005 05:03:27 -0000
@@ -6,18 +6,19 @@
.include "../../mk/bsd.prefs.mk"
-_PERL5_SITEVARS= \
- INSTALLSITEBIN INSTALLSITELIB INSTALLSITEARCH \
- INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR \
- SITELIBEXP SITEARCHEXP
+_PERL5_VARS= INSTALLARCHLIB INSTALLSCRIPT \
+ INSTALLVENDORBIN INSTALLVENDORSCRIPT \
+ INSTALLVENDORLIB INSTALLVENDORARCH \
+ INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
-_PERL5_SITEVAR.INSTALLSITEBIN= installsitebin
-_PERL5_SITEVAR.INSTALLSITELIB= installsitelib
-_PERL5_SITEVAR.INSTALLSITEARCH= installsitearch
-_PERL5_SITEVAR.INSTALLSITEMAN1DIR= installsiteman1dir
-_PERL5_SITEVAR.INSTALLSITEMAN3DIR= installsiteman3dir
-_PERL5_SITEVAR.SITELIBEXP= sitelibexp
-_PERL5_SITEVAR.SITEARCHEXP= sitearchexp
+_PERL5_VAR.INSTALLARCHLIB= installarchlib
+_PERL5_VAR.INSTALLSCRIPT= installscript
+_PERL5_VAR.INSTALLVENDORBIN= installvendorbin
+_PERL5_VAR.INSTALLVENDORSCRIPT= installvendorscript
+_PERL5_VAR.INSTALLVENDORLIB= installvendorlib
+_PERL5_VAR.INSTALLVENDORARCH= installvendorarch
+_PERL5_VAR.INSTALLVENDORMAN1DIR= installvendorman1dir
+_PERL5_VAR.INSTALLVENDORMAN3DIR= installvendorman3dir
.if defined(PERL5) && exists(${PERL5:Q})
#
@@ -29,40 +30,17 @@
eval `${PERL5:Q} -V:prefix 2>/dev/null`; ${ECHO} $$prefix
. endif
MAKEVARS+= _PERL5_PREFIX
-. if !defined(_PERL5_SITEPREFIX)
-_PERL5_SITEPREFIX!= \
- eval `${PERL5:Q} -V:siteprefix 2>/dev/null`; ${ECHO} $$siteprefix
-. endif
-MAKEVARS+= _PERL5_SITEPREFIX
#
-# Define PERL5_SUB_* as the site variables minus the installation prefix
+# Define PERL5_SUB_* as the vendor variables minus the installation prefix
# define later variables.
#
-. for _var_ in ${_PERL5_SITEVARS}
+. for _var_ in ${_PERL5_VARS}
. if !defined(PERL5_SUB_${_var_})
PERL5_SUB_${_var_}!= \
- eval `${PERL5:Q} -V:${_PERL5_SITEVAR.${_var_}} 2>/dev/null`; \
- ${ECHO} $${${_PERL5_SITEVAR.${_var_}}} | ${SED} -e "s,^${_PERL5_SITEPREFIX}/,,"
+ eval `${PERL5:Q} -V:${_PERL5_VAR.${_var_}} 2>/dev/null`; \
+ ${ECHO} $${${_PERL5_VAR.${_var_}}} | ${SED} -e "s,^${_PERL5_PREFIX}/,,"
. endif
-MAKEVARS+= PERL5_SUB_${_var_}
+PERL5_${_var_}?= ${PREFIX}/${PERL5_SUB_${_var_}}
+MAKEVARS+= PERL5_SUB_${_var_}
. endfor
-
-. if !defined(PERL5_SUB_INSTALLARCHLIB)
-PERL5_SUB_INSTALLARCHLIB!= \
- eval `${PERL5} -V:installarchlib 2>/dev/null`; \
- ${ECHO} $$installarchlib | ${SED} -e "s,^${_PERL5_PREFIX}/,,"
-. endif
-MAKEVARS+= PERL5_SUB_INSTALLARCHLIB
-. if !defined(PERL5_SUB_INSTALLSCRIPT)
-PERL5_SUB_INSTALLSCRIPT!= \
- eval `${PERL5} -V:installscript 2>/dev/null`; \
- ${ECHO} $$installscript | ${SED} -e "s,^${_PERL5_PREFIX}/,,"
-. endif
-MAKEVARS+= PERL5_SUB_INSTALLSCRIPT
.endif # PERL5
-
-.if ${PKG_INSTALLATION_TYPE} == "overwrite"
-. for _var_ in SITELIB SITEARCH ARCHLIB
-PERL5_${_var_}?= ${LOCALBASE}/${PERL5_SUB_INSTALL${_var_}}
-. endfor
-.endif
Index: patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-aa,v
retrieving revision 1.26
diff -u -r1.26 patch-aa
--- patches/patch-aa 24 Jun 2005 06:43:45 -0000 1.26
+++ patches/patch-aa 15 Jul 2005 05:03:27 -0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.26 2005/06/24 06:43:45 jlam Exp $
+$NetBSD$
--- lib/ExtUtils/MM_Unix.pm.orig 2004-01-05 17:34:59.000000000 -0500
+++ lib/ExtUtils/MM_Unix.pm
@@ -48,3 +48,39 @@
}
}
}
+@@ -2480,13 +2480,13 @@ sub install {
+ my(@m);
+
+ push @m, q{
+-install :: all pure_install doc_install
++install :: all pure_install
+
+-install_perl :: all pure_perl_install doc_perl_install
++install_perl :: all pure_perl_install
+
+-install_site :: all pure_site_install doc_site_install
++install_site :: all pure_site_install
+
+-install_vendor :: all pure_vendor_install doc_vendor_install
++install_vendor :: all pure_vendor_install
+
+ pure_install :: pure_$(INSTALLDIRS)_install
+
+@@ -2519,7 +2519,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) \
+@@ -2532,7 +2532,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)
+
Index: patches/patch-ah
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-ah,v
retrieving revision 1.6
diff -u -r1.6 patch-ah
--- patches/patch-ah 24 Jun 2005 06:43:46 -0000 1.6
+++ patches/patch-ah 15 Jul 2005 05:03:27 -0000
@@ -1,67 +1,91 @@
-$NetBSD: patch-ah,v 1.6 2005/06/24 06:43:46 jlam Exp $
+$NetBSD$
---- perl.c.orig 2004-11-23 10:16:56.000000000 -0500
+--- perl.c.orig 2005-04-22 10:14:27.000000000 -0400
+++ perl.c
-@@ -4314,12 +4314,33 @@ S_init_perllib(pTHX)
+@@ -4391,45 +4391,12 @@ S_init_perllib(pTHX)
}
/* Use the ~-expanded versions of APPLLIB (undocumented),
- ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
-+ SITEARCH SITELIB ARCHLIB PRIVLIB VENDORARCH and VENDORLIB
++ SITEARCH SITELIB VENDORARCH VENDORLIB ARCHLIB and PRIVLIB
*/
#ifdef APPLLIB_EXP
incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
#endif
-+#ifdef SITEARCH_EXP
-+ /* sitearch is always relative to sitelib on Windows for
-+ * DLL-based path intuition to work correctly */
-+# if !defined(WIN32)
-+ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE);
-+# endif
-+#endif
-+
-+#ifdef SITELIB_EXP
-+# if defined(WIN32)
-+ /* this picks up sitearch as well */
-+ incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
-+# else
-+ incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
-+# endif
-+#endif
-+
-+#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
-+ incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
-+#endif
-+
- #ifdef ARCHLIB_EXP
- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
- #endif
-@@ -4353,27 +4374,6 @@ S_init_perllib(pTHX)
- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
- #endif
-
--#ifdef SITEARCH_EXP
-- /* sitearch is always relative to sitelib on Windows for
-- * DLL-based path intuition to work correctly */
--# if !defined(WIN32)
-- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE);
--# endif
+-#ifdef ARCHLIB_EXP
+- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
-#endif
--
--#ifdef SITELIB_EXP
--# if defined(WIN32)
-- /* this picks up sitearch as well */
-- incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
--# else
-- incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
--# endif
+-#ifdef MACOS_TRADITIONAL
+- {
+- Stat_t tmpstatbuf;
+- SV * privdir = NEWSV(55, 0);
+- char * macperl = PerlEnv_getenv("MACPERL");
+-
+- if (!macperl)
+- macperl = "";
+-
+- 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);
+- 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);
+-
+- SvREFCNT_dec(privdir);
+- }
+- if (!PL_tainting)
+- incpush(":", FALSE, FALSE, TRUE);
+-#else
+-#ifndef PRIVLIB_EXP
+-# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
-#endif
--
--#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
-- incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
+-#if defined(WIN32)
+- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
+-#else
+- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
-#endif
-
- #ifdef PERL_VENDORARCH_EXP
- /* vendorarch is always relative to vendorlib on Windows for
+ #ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
* DLL-based path intuition to work correctly */
+@@ -4471,6 +4438,39 @@ S_init_perllib(pTHX)
+ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
+ #endif
+
++#ifdef ARCHLIB_EXP
++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
++#endif
++#ifdef MACOS_TRADITIONAL
++ {
++ Stat_t tmpstatbuf;
++ SV * privdir = NEWSV(55, 0);
++ char * macperl = PerlEnv_getenv("MACPERL");
++
++ if (!macperl)
++ macperl = "";
++
++ 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);
++ 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);
++
++ SvREFCNT_dec(privdir);
++ }
++ if (!PL_tainting)
++ incpush(":", FALSE, FALSE, TRUE);
++#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);
++#else
++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
++#endif
++
+ #ifdef PERL_OTHERLIBDIRS
+ incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
+ #endif
Index: patches/patch-al
===================================================================
RCS file: patches/patch-al
diff -N patches/patch-al
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-al 15 Jul 2005 05:03:27 -0000
@@ -0,0 +1,21 @@
+$NetBSD$
+
+--- lib/ExtUtils/MM_VMS.pm.orig 2004-01-05 17:34:59.000000000 -0500
++++ lib/ExtUtils/MM_VMS.pm
+@@ -1457,13 +1457,13 @@ sub install {
+ }
+
+ push @m, q[
+-install :: all pure_install doc_install
++install :: all pure_install
+ $(NOECHO) $(NOOP)
+
+-install_perl :: all pure_perl_install doc_perl_install
++install_perl :: all pure_perl_install
+ $(NOECHO) $(NOOP)
+
+-install_site :: all pure_site_install doc_site_install
++install_site :: all pure_site_install
+ $(NOECHO) $(NOOP)
+
+ pure_install :: pure_$(INSTALLDIRS)_install
Index: patches/patch-am
===================================================================
RCS file: patches/patch-am
diff -N patches/patch-am
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-am 15 Jul 2005 05:03:27 -0000
@@ -0,0 +1,55 @@
+$NetBSD$
+
+--- lib/ExtUtils/MakeMaker.pm.orig 2004-01-05 17:34:59.000000000 -0500
++++ lib/ExtUtils/MakeMaker.pm
+@@ -215,7 +215,7 @@ sub full_setup {
+ INSTALLMAN1DIR INSTALLMAN3DIR
+ INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
+ INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
+- INSTALLSCRIPT
++ INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
+
+@@ -1075,7 +1075,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
+
+@@ -1527,7 +1527,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
+
+@@ -1554,6 +1554,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
+@@ -1578,6 +1583,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.
Index: patches/patch-an
===================================================================
RCS file: patches/patch-an
diff -N patches/patch-an
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-an 15 Jul 2005 05:03:27 -0000
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- lib/ExtUtils/MM_Any.pm.orig 2004-01-05 17:34:59.000000000 -0500
++++ lib/ExtUtils/MM_Any.pm
+@@ -57,7 +57,7 @@ sub installvars {
+ return qw(PRIVLIB SITELIB VENDORLIB
+ ARCHLIB SITEARCH VENDORARCH
+ BIN SITEBIN VENDORBIN
+- SCRIPT
++ SCRIPT SITESCRIPT VENDORSCRIPT
+ MAN1DIR SITEMAN1DIR VENDORMAN1DIR
+ MAN3DIR SITEMAN3DIR VENDORMAN3DIR
+ );
Index: patches/patch-be
===================================================================
RCS file: patches/patch-be
diff -N patches/patch-be
--- patches/patch-be 24 Jun 2005 06:43:47 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$NetBSD: patch-be,v 1.1 2005/06/24 06:43:47 jlam Exp $
-
---- lib/perl5db.pl.orig 2004-11-17 07:51:18.000000000 -0500
-+++ lib/perl5db.pl
-@@ -215,7 +215,7 @@ the TTY to use for debugging i/o.
- =item * noTTY
-
- if set, goes in NonStop mode. On interrupt, if TTY is not set,
--uses the value of noTTY or F</tmp/perldbtty$$> to find TTY using
-+uses the value of noTTY or F<$HOME/.perldbtty$$> to find TTY using
- Term::Rendezvous. Current variant is to have the name of TTY in this
- file.
-
-@@ -6004,8 +6004,8 @@ sub setterm {
- eval "require Term::Rendezvous;" or die;
-
- # See if we have anything to pass to Term::Rendezvous.
-- # Use /tmp/perldbtty$$ if not.
-- my $rv = $ENV{PERLDB_NOTTY} || "/tmp/perldbtty$$";
-+ # Use $HOME/.perldbtty$$ if not [CAN-2004-0976].
-+ my $rv = $ENV{PERLDB_NOTTY} || "$ENV{HOME}/.perldbtty$$";
-
- # Rendezvous and get the filehandles.
- my $term_rv = new Term::Rendezvous $rv;
Index: patches/patch-bf
===================================================================
RCS file: patches/patch-bf
diff -N patches/patch-bf
--- patches/patch-bf 24 Jun 2005 06:43:47 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$NetBSD: patch-bf,v 1.1 2005/06/24 06:43:47 jlam Exp $
-
---- perlio.c.orig 2004-09-10 03:06:52.000000000 -0400
-+++ perlio.c
-@@ -454,7 +454,8 @@ PerlIO_debug(const char *fmt, ...)
- va_list ap;
- dSYS;
- va_start(ap, fmt);
-- if (!dbg) {
-+ /* Tighten uid/gid checks [CAN-2005-0155] */
-+ if (!dbg && !PL_tainting && PL_uid == PL_euid && PL_gid == PL_egid) {
- char *s = PerlEnv_getenv("PERLIO_DEBUG");
- if (s && *s)
- dbg = PerlLIO_open3(s, O_WRONLY | O_CREAT | O_APPEND, 0666);
-@@ -471,7 +472,8 @@ PerlIO_debug(const char *fmt, ...)
- s = CopFILE(PL_curcop);
- if (!s)
- s = "(none)";
-- sprintf(buffer, "%s:%" IVdf " ", s, (IV) CopLINE(PL_curcop));
-+ /* Avoid PERLIO_DEBUG buffer overflow [CAN-2005-0156] */
-+ sprintf(buffer, "%.40s:%" IVdf " ", s, (IV) CopLINE(PL_curcop));
- len = strlen(buffer);
- vsprintf(buffer+len, fmt, ap);
- PerlLIO_write(dbg, buffer, strlen(buffer));
Index: patches/patch-ca
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-ca,v
retrieving revision 1.2
diff -u -r1.2 patch-ca
--- patches/patch-ca 24 Jun 2005 06:43:47 -0000 1.2
+++ patches/patch-ca 15 Jul 2005 05:03:27 -0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ca,v 1.2 2005/06/24 06:43:47 jlam Exp $
+$NetBSD$
---- Configure.orig 2004-09-10 02:25:52.000000000 -0400
+--- Configure.orig 2005-04-20 12:34:37.000000000 -0400
+++ Configure
-@@ -3107,11 +3107,13 @@ EOM
+@@ -3111,11 +3111,13 @@ EOM
dgux) osname=dgux
osvers="$3"
;;
@@ -17,7 +17,7 @@
genix) osname=genix ;;
gnu) osname=gnu
osvers="$3" ;;
-@@ -3133,7 +3135,7 @@ EOM
+@@ -3137,7 +3139,7 @@ EOM
MiNT) osname=mint
;;
netbsd*) osname=netbsd
@@ -26,7 +26,7 @@
;;
news-os) osvers="$3"
case "$3" in
-@@ -3144,8 +3146,8 @@ EOM
+@@ -3148,8 +3150,8 @@ EOM
next*) osname=next ;;
nonstop-ux) osname=nonstopux ;;
openbsd) osname=openbsd
@@ -37,16 +37,16 @@
os2) osname=os2
osvers="$4"
;;
-@@ -7852,7 +7854,7 @@ if "$useshrplib"; then
+@@ -7856,7 +7858,7 @@ if "$useshrplib"; then
solaris)
xxx="-R $shrpdir"
;;
-- freebsd|netbsd|openbsd)
+- freebsd|netbsd|openbsd|interix)
+ freebsd|netbsd|openbsd|dragonfly|interix)
xxx="-Wl,-R$shrpdir"
;;
- bsdos|linux|irix*|dec_osf)
-@@ -8973,6 +8975,13 @@ EOCP
+ bsdos|linux|irix*|dec_osf|gnu*)
+@@ -8977,6 +8979,13 @@ EOCP
;;
esac
@@ -60,7 +60,7 @@
case "$vendorprefix" in
'') d_vendorbin="$undef"
vendorbin=''
-@@ -17290,7 +17299,15 @@ RCAT(Rei,ser)
+@@ -17339,7 +17348,15 @@ RCAT(Rei,ser)
ACAT(Cir,cus)
EOCP
$cppstdin $cppflags $cppminus <cpp_stuff.c >cpp_stuff.out 2>&1
Index: patches/patch-cb
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-cb,v
retrieving revision 1.1
diff -u -r1.1 patch-cb
--- patches/patch-cb 24 Jun 2005 06:43:47 -0000 1.1
+++ patches/patch-cb 15 Jul 2005 05:03:27 -0000
@@ -1,7 +1,8 @@
-$NetBSD: patch-cb,v 1.1 2005/06/24 06:43:47 jlam Exp $
---- Makefile.SH.orig 2004-10-21 08:30:02.000000000 -0700
-+++ Makefile.SH 2005-03-08 18:05:48.000000000 -0700
-@@ -69,7 +69,11 @@
+$NetBSD$
+
+--- Makefile.SH.orig 2005-02-05 10:17:44.000000000 -0500
++++ Makefile.SH
+@@ -73,7 +73,11 @@ true)
sunos*)
linklibperl="-lperl"
;;
@@ -13,8 +14,8 @@
+ netbsd*|freebsd[234]*|openbsd*|dragonfly*)
linklibperl="-L. -lperl"
;;
- aix*)
-@@ -77,7 +81,7 @@
+ interix*)
+@@ -85,7 +89,7 @@ true)
case "$osvers" in
3*) shrpldflags="$shrpldflags -e _nostart"
;;
Index: patches/patch-cd
===================================================================
RCS file: patches/patch-cd
diff -N patches/patch-cd
--- patches/patch-cd 24 Jun 2005 06:43:47 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$NetBSD: patch-cd,v 1.1 2005/06/24 06:43:47 jlam Exp $
-
---- lib/File/Find.pm.orig Fri Feb 27 11:31:34 2004
-+++ lib/File/Find.pm Mon Apr 26 00:34:04 2004
-@@ -1221,6 +1221,7 @@
-
- $File::Find::dont_use_nlink = 1
- if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $^O eq 'MSWin32' ||
-+ $^O eq 'interix' ||
- $^O eq 'cygwin' || $^O eq 'epoc' || $^O eq 'qnx' ||
- $^O eq 'nto';
-
Index: patches/patch-ce
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-ce,v
retrieving revision 1.1
diff -u -r1.1 patch-ce
--- patches/patch-ce 24 Jun 2005 06:43:47 -0000 1.1
+++ patches/patch-ce 15 Jul 2005 05:03:28 -0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ce,v 1.1 2005/06/24 06:43:47 jlam Exp $
+$NetBSD$
---- lib/File/Temp.pm.orig Fri Apr 23 12:42:30 2004
-+++ lib/File/Temp.pm Fri Apr 23 12:44:21 2004
-@@ -2012,6 +2012,7 @@
+--- 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;
Index: patches/patch-cf
===================================================================
RCS file: patches/patch-cf
diff -N patches/patch-cf
--- patches/patch-cf 24 Jun 2005 06:43:47 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$NetBSD: patch-cf,v 1.1 2005/06/24 06:43:47 jlam Exp $
-
---- t/io/openpid.t.orig Fri Apr 23 12:45:43 2004
-+++ t/io/openpid.t Fri Apr 23 12:45:56 2004
-@@ -23,6 +23,7 @@
- use Config;
- $| = 1;
- $SIG{PIPE} = 'IGNORE';
-+$SIG{HUP} = 'IGNORE' if $^O eq 'interix';
-
- my $perl = which_perl();
- $perl .= qq[ "-I../lib"];
Index: patches/patch-cg
===================================================================
RCS file: patches/patch-cg
diff -N patches/patch-cg
--- patches/patch-cg 24 Jun 2005 06:43:47 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$NetBSD: patch-cg,v 1.1 2005/06/24 06:43:47 jlam Exp $
-
---- t/op/groups.t.orig Fri Apr 23 12:46:39 2004
-+++ t/op/groups.t Fri Apr 23 12:46:53 2004
-@@ -133,7 +133,7 @@
-
- print "# gr = @gr\n";
-
--if ($^O =~ /^(?:uwin|cygwin|solaris)$/) {
-+if ($^O =~ /^(?:uwin|cygwin|interix|solaris)$/) {
- # Or anybody else who can have spaces in group names.
- $gr1 = join(' ', grep(!$did{$_}++, sort split(' ', join(' ', @gr))));
- } else {
Index: patches/patch-ch
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-ch,v
retrieving revision 1.1
diff -u -r1.1 patch-ch
--- patches/patch-ch 24 Jun 2005 06:43:47 -0000 1.1
+++ patches/patch-ch 15 Jul 2005 05:03:28 -0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ch,v 1.1 2005/06/24 06:43:47 jlam Exp $
+$NetBSD$
---- hints/dec_osf.sh.orig 2004-05-14 03:44:00.000000000 +0200
+--- hints/dec_osf.sh.orig 2005-02-05 10:19:27.000000000 -0500
+++ hints/dec_osf.sh
-@@ -243,7 +243,7 @@ case "`uname -r`" in
+@@ -254,7 +254,7 @@ case "`uname -r`" in
# fixed in 4.0E or better.
;;
*)
Index: patches/patch-ci
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/patches/patch-ci,v
retrieving revision 1.1
diff -u -r1.1 patch-ci
--- patches/patch-ci 24 Jun 2005 06:43:47 -0000 1.1
+++ patches/patch-ci 15 Jul 2005 05:03:28 -0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ci,v 1.1 2005/06/24 06:43:47 jlam Exp $
+$NetBSD$
---- pp_sys.c.orig 2004-10-19 13:07:23.000000000 -0400
+--- pp_sys.c.orig 2005-04-27 18:12:46.000000000 -0400
+++ pp_sys.c
-@@ -4450,9 +4450,11 @@ PP(pp_gmtime)
+@@ -4466,9 +4466,11 @@ PP(pp_gmtime)
when = (Time_t)SvIVx(POPs);
#endif
--azLHFNyN32YCQGCU--