summaryrefslogtreecommitdiff
path: root/lang/perl58
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-12-10 06:01:08 +0000
committerjlam <jlam@pkgsrc.org>2004-12-10 06:01:08 +0000
commitc72bae52362efe3df88d762846ce8aef42fbb23a (patch)
tree030f654e9827f5c3a8ee014db3c57d7b28a6923d /lang/perl58
parent32a3f933dcea2ec8789aae34af23f7187c1ccf47 (diff)
downloadpkgsrc-c72bae52362efe3df88d762846ce8aef42fbb23a.tar.gz
Don't bother with using perl5/module.mk and PERL5_PACKLIST to generate
the PLIST and use custom post-install code instead. This avoids needing to guess at the correct value PERL5_ARCHLIB before perl has been configured and built. This should fix PR pkg/28433.
Diffstat (limited to 'lang/perl58')
-rw-r--r--lang/perl58/Makefile46
-rw-r--r--lang/perl58/PLIST5
2 files changed, 26 insertions, 25 deletions
diff --git a/lang/perl58/Makefile b/lang/perl58/Makefile
index 9062dc41983..ce0e05cd2bd 100644
--- a/lang/perl58/Makefile
+++ b/lang/perl58/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.63 2004/12/10 04:27:39 jlam Exp $
+# $NetBSD: Makefile,v 1.64 2004/12/10 06:01:08 jlam Exp $
# The following two variables should have empty values unless we're
# building a perl snapshot or release candidate.
@@ -43,9 +43,6 @@ CONFLICTS= perl-5.00* perl-base-[0-9]* \
PKG_INSTALLATION_TYPES= overwrite pkgviews
-BUILDING_PERL5= yes
-PERL5_CONFIGURE= no
-
USE_BUILDLINK3= yes
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= ./Configure
@@ -92,17 +89,6 @@ CONFIGURE_ARGS+= -Dsiteman1dir="${VIEWBASE}/man/man1"
# HFS filesystems by using GNUmakefiles, so we need to use GNU make.
#
USE_GNU_TOOLS+= make
-#
-# "installarchlib" and "installsitearch" have different forms between
-# Darwin and NetBSD (and between older and newer versions of Darwin)
-#
-. if ${OS_VERSION:R} >= 7
-PERL5_ARCHLIB= ${PREFIX}/lib/perl5/${PERL5_VERS}/darwin-2level
-PERL5_SITEARCH= ${PREFIX}/lib/perl5/site_perl/${PERL5_VERS}/darwin-2level
-. else
-PERL5_ARCHLIB= ${PREFIX}/lib/perl5/${PERL5_VERS}/darwin
-PERL5_SITEARCH= ${PREFIX}/lib/perl5/site_perl/${PERL5_VERS}/darwin
-. endif
.endif
# Nail down the needed libraries for each platform here to avoid hidden
@@ -156,7 +142,6 @@ PERL5_USE_THREADS?= ${DLOPEN_REQUIRE_PTHREADS}
CONFIGURE_ARGS+= -Uuseithreads
.else
. include "../../mk/pthread.buildlink3.mk"
-PERL5_ARCHLIB= ${PREFIX}/lib/perl5/${PERL5_VERS}/${MACHINE_ARCH}-${LOWER_OPSYS}-thread-multi
CONFIGURE_ARGS+= -Duseithreads
CFLAGS+= ${PTHREAD_CFLAGS}
PERL5_HINTS_LDFLAGS+= ${PTHREAD_LDFLAGS}
@@ -176,12 +161,10 @@ CONFIGURE_ARGS+= -Duse64bitint
PERL5= ${PREFIX}/bin/perl${PERL5_VERS}
PERL5_PRIVLIB?= ${PREFIX}/lib/perl5/${PERL5_VERS}
-PERL5_ARCHLIB?= ${PREFIX}/lib/perl5/${PERL5_VERS}/${MACHINE_ARCH}-${LOWER_OPSYS}
PERL5_SITEPERL?= ${VIEWBASE}/lib/perl5/site_perl
PERL5_SITELIB?= ${VIEWBASE}/lib/perl5/site_perl/${PERL5_VERS}
-PERL5_SITEARCH?= ${VIEWBASE}/lib/perl5/site_perl/${PERL5_VERS}/${MACHINE_ARCH}-${LOWER_OPSYS}
-PERL5_PACKLIST= ${PERL5_ARCHLIB}/.packlist
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,
@@ -232,7 +215,12 @@ pre-configure:
done
.endif
-WRKSRC_PERL5= ${WRKSRC}/perl
+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}," \
post-install:
${RM} -f ${PREFIX}/bin/perl ${PREFIX}/bin/perl${PERL5_VERS}
@@ -244,7 +232,21 @@ post-install:
strip ${PREFIX}/bin/a2p; \
fi
.endif
- ${RMDIR} -p ${PERL5_SITEARCH} 2>/dev/null || ${TRUE}
+ # 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}`; \
+ ${RMDIR} -p $$installsitearch 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; \
+ ${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}
-.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/lang/perl58/PLIST b/lang/perl58/PLIST
index b6dddf103b2..72c35dad6bb 100644
--- a/lang/perl58/PLIST
+++ b/lang/perl58/PLIST
@@ -1,6 +1,5 @@
-@comment $NetBSD: PLIST,v 1.9 2004/12/10 04:27:39 jlam Exp $
-@unexec ${RM} -f %D/${PERL5_SITEARCH}/perllocal.pod
-@unexec ${RMDIR} -p %D/${PERL5_SITEARCH} 2>/dev/null || ${TRUE}
+@comment $NetBSD: PLIST,v 1.10 2004/12/10 06:01:08 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}