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.
This commit is contained in:
parent
32a3f933dc
commit
c72bae5236
2 changed files with 26 additions and 25 deletions
|
@ -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"
|
||||
|
|
|
@ -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}
|
||||
|
|
Loading…
Reference in a new issue