DESTDIR support. Slightly refactor Perl build to avoid calling the newly

build executable, either by using the same constants or by sourcing the
config.sh script created by Configure.

Don't create $installsitearch and don't attempt to remove
$installvendorarch, the former is easy and the latter not needed.
This commit is contained in:
joerg 2006-11-03 07:09:45 +00:00
parent 042af88866
commit f0f238c0cf
4 changed files with 41 additions and 28 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.122 2006/10/01 14:48:39 rillig Exp $
# $NetBSD: Makefile,v 1.123 2006/11/03 07:09:45 joerg Exp $
DISTNAME= perl-5.8.8
PKGREVISION= 3
@ -11,6 +11,8 @@ MAINTAINER= jlam@pkgsrc.org
HOMEPAGE= http://www.perl.org/
COMMENT= Practical Extraction and Report Language
PKG_DESTDIR_SUPPORT= user-destdir
CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \
p5-CGI-2.66 p5-CGI-2.75 p5-CGI-2.75.[0-2]
@ -87,7 +89,9 @@ CONFIGURE_ARGS+= -Dvendorprefix=${PERL5_VENDORPREFIX: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
PERL5_SCRIPTDIR= ${PERL5_PERLBASE}/bin
CONFIGURE_ARGS+= -Dscriptdir=${PERL5_SCRIPTDIR:Q}
CONFIGURE_ARGS+= -Dsitescript=${PERL5_SITEBASE:Q}/bin
CONFIGURE_ARGS+= -Dvendorscript=${PERL5_VENDORBASE:Q}/bin
@ -112,8 +116,10 @@ CONFIGURE_ARGS+= -Dvendorlib_stem=${PERL5_VENDORBASE:Q}
# Avoid manpage conflicts between the standard Perl library, 3rd-party
# modules, and other packages.
#
PERL5_MAN1DIR= ${PERL5_PERLBASE}/${PKGMANDIR}/man1
CONFIGURE_ARGS+= -Dman1ext="1"
CONFIGURE_ARGS+= -Dman1dir=${PERL5_PERLBASE:Q}/${PKGMANDIR:Q}/man1
CONFIGURE_ARGS+= -Dman1dir=${PERL5_MAN1DIR:Q}
CONFIGURE_ARGS+= -Dsiteman1dir=${PERL5_SITEBASE:Q}/${PKGMANDIR:Q}/man1
CONFIGURE_ARGS+= -Dvendorman1dir=${PERL5_VENDORBASE:Q}/${PKGMANDIR:Q}/man1
CONFIGURE_ARGS+= -Dman3ext="3"
@ -316,8 +322,7 @@ post-build:
${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
PERL5_PACKLIST_DIR_cmd= eval `${PERL5} -V:installarchlib 2>/dev/null`; \
echo $$installarchlib
PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib
PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh}
PERL5_PACKLIST= .packlist
FILES_SUBST+= PERL5_COMMENT=\#
@ -327,25 +332,19 @@ PLIST_SRC= ${WRKDIR}/.PLIST_SRC
post-install: perl5-post-install
perl5-post-install:
if ${TEST} -x ${PREFIX}/bin/a2p; then \
strip ${PREFIX}/bin/a2p; \
if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \
strip ${DESTDIR}${PREFIX}/bin/a2p; \
fi
eval `${PERL5} -V:installsitearch 2>/dev/null`; \
eval `${PERL5} -V:installvendorarch 2>/dev/null`; \
${RMDIR} -p $$installsitearch 2>/dev/null || ${TRUE}; \
${RMDIR} -p $$installvendorarch 2>/dev/null || ${TRUE}; \
eval `${PERL5} -V:scriptdir 2>/dev/null`; \
eval `${PERL5} -V:man1dir 2>/dev/null`; \
${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh $$scriptdir/perllink; \
${INSTALL_MAN} ${FILESDIR}/perllink.1 $$man1dir/perllink.1; \
${RM} -f ${PREFIX}/bin/perllink \
${PREFIX}/${PKGMANDIR}/man1/perllink.1; \
${LN} -s $$scriptdir/perllink ${PREFIX}/bin/perllink; \
${LN} -s $$man1dir/perllink.1 \
${PREFIX}/${PKGMANDIR}/man1/perllink.1; \
${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh ${DESTDIR}${PERL5_SCRIPTDIR}/perllink; \
${INSTALL_MAN} ${FILESDIR}/perllink.1 ${DESTDIR}${PERL5_MAN1DIR}/perllink.1; \
${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1; \
${LN} -s ${PERL5_SCRIPTDIR}/perllink ${DESTDIR}${PREFIX}/bin/perllink; \
${LN} -s ${PERL5_MAN1DIR}/perllink.1 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1; \
{ ${CAT} ${PKGDIR}/PLIST; \
${ECHO} "$$scriptdir/perllink"; \
${ECHO} "$$man1dir/perllink.1"; \
${ECHO} "${PERL5_SCRIPTDIR}/perllink"; \
${ECHO} "${PERL5_MAN1DIR}/perllink.1"; \
} | ${SED} -e "s,^"${PREFIX:Q}"/,," > ${PLIST_SRC}
.include "packlist.mk"

View file

@ -1,9 +1,10 @@
$NetBSD: distinfo,v 1.38 2006/10/08 17:48:30 ben Exp $
$NetBSD: distinfo,v 1.39 2006/11/03 07:09:45 joerg 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 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410
SHA1 (patch-ae) = 044ac094cd475a16483552aa6f1bde03bd11f592
SHA1 (patch-ah) = 39b1a46a0ee5e73b4707a3d947fe17016df9630a
SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e

View file

@ -1,4 +1,4 @@
# $NetBSD: packlist.mk,v 1.8 2006/06/15 22:13:59 jlam Exp $
# $NetBSD: packlist.mk,v 1.9 2006/11/03 07:09:45 joerg Exp $
#
# This Makefile fragment is intended to be included by packages that
# create packlist files. This file is automatically included by
@ -21,7 +21,8 @@ _PERL5_PACKLIST_MK= # defined
.if defined(PERL5_PACKLIST)
PERL5_PACKLIST_DIR?= ${PERL5_INSTALLVENDORARCH}
_PERL5_PACKLIST= ${PERL5_PACKLIST:S/^/${PERL5_PACKLIST_DIR}\//}
_PERL5_REAL_PACKLIST= ${PERL5_PACKLIST:S/^/${PERL5_PACKLIST_DIR}\//}
_PERL5_PACKLIST= ${_PERL5_REAL_PACKLIST:S/^/${DESTDIR}/}
.endif
@ -33,7 +34,7 @@ _PERL5_PACKLIST= ${PERL5_PACKLIST:S/^/${PERL5_PACKLIST_DIR}\//}
INSTALL_TEMPLATES+= ${.CURDIR}/../../lang/perl5/files/install.tmpl
DEINSTALL_TEMPLATES+= ${.CURDIR}/../../lang/perl5/files/deinstall.tmpl
FILES_SUBST+= PERL5_COMMENT=
FILES_SUBST+= PERL5_PACKLIST=${_PERL5_PACKLIST:Q}
FILES_SUBST+= PERL5_PACKLIST=${_PERL5_REAL_PACKLIST:Q}
###########################################################################
@ -47,11 +48,11 @@ PERL5_PLIST_COMMENT_CMD= \
{ ${ECHO} "@comment The following lines are automatically generated"; \
${ECHO} "@comment from the installed .packlist files."; }
PERL5_PLIST_FILES_CMD= \
{ ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_PACKLIST}; do ${TEST} ! -f "$$f" || ${ECHO} "$$f"; done; } \
{ ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_REAL_PACKLIST}; do ${TEST} ! -f "$$f" || ${ECHO} "$$f"; done; } \
| ${SED} -e "s,[ ].*,," -e "s,/\\./,/,g" -e "s,${PREFIX}/,," \
| ${SORT} -u
PERL5_PLIST_DIRS_CMD= \
{ ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_PACKLIST}; do ${TEST} ! -f "$$f" || ${ECHO} "$$f"; done; } \
{ ${CAT} ${_PERL5_PACKLIST}; for f in ${_PERL5_REAL_PACKLIST}; do ${TEST} ! -f "$$f" || ${ECHO} "$$f"; done; } \
| ${SED} -e "s,[ ].*,," -e "s,/\\./,/,g" -e "s,${PREFIX}/,," \
-e "s,^,@unexec "${RMDIR:Q}" -p %D/," \
-e "s,/[^/]*\$$, 2>/dev/null || "${TRUE:Q}"," \

View file

@ -0,0 +1,12 @@
$NetBSD: patch-ab,v 1.14 2006/11/03 07:09:46 joerg Exp $
--- installperl.orig 2006-11-01 02:21:12.000000000 +0100
+++ installperl
@@ -379,7 +379,6 @@ my ($do_installarchlib, $do_installprivl
mkpath($installprivlib, $verbose, 0777);
mkpath($installarchlib, $verbose, 0777);
mkpath($installsitelib, $verbose, 0777) if ($installsitelib);
-mkpath($installsitearch, $verbose, 0777) if ($installsitearch);
if (chdir "lib") {
$do_installarchlib = ! samepath($installarchlib, '.');