Index: head/Mk/Scripts/qa.sh =================================================================== --- head/Mk/Scripts/qa.sh +++ head/Mk/Scripts/qa.sh @@ -255,16 +255,19 @@ ;; *0) has_some_libperl_so=1 - case "${found}" in - *1?) - warn "${f} does not have a rpath to ${LIBPERL}, not respecting lddlflags?" - ;; - esac - case "${found}" in - 1??) - warn "${f} does not have a runpath to ${LIBPERL}, not respecting lddlflags?" - ;; - esac + # Older Perl did not USE_LDCONFIG. + if [ ! -f ${LOCALBASE}/${LDCONFIG_DIR}/perl5 ]; then + case "${found}" in + *1?) + warn "${f} does not have a rpath to ${LIBPERL}, not respecting lddlflags?" + ;; + esac + case "${found}" in + 1??) + warn "${f} does not have a runpath to ${LIBPERL}, not respecting lddlflags?" + ;; + esac + fi ;; esac # Use heredoc to avoid losing rc from find|while subshell Index: head/Mk/bsd.port.mk =================================================================== --- head/Mk/bsd.port.mk +++ head/Mk/bsd.port.mk @@ -1520,6 +1520,7 @@ LOCALBASE=${LOCALBASE} \ "STRIP=${STRIP}" \ TMPPLIST=${TMPPLIST} \ + LDCONFIG_DIR="${LDCONFIG_DIR}" \ PKGBASE=${PKGBASE} .if !empty(USES:Mdesktop-file-utils) QA_ENV+= USESDESKTOPFILEUTILS=yes Index: head/lang/perl5-devel/Makefile =================================================================== --- head/lang/perl5-devel/Makefile +++ head/lang/perl5-devel/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= perl -PORTREVISION= 0 +PORTREVISION= 1 # XXX Remove second line, uncomment first #DISTVERSION= ${PERL_VERSION} DISTVERSION= ${GH_TAGNAME:C/^v//:C/-g[0-9a-f]*$//} @@ -109,8 +109,11 @@ # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. # XXX change the soname to $$(LIBPERL:R) CONFIGURE_ARGS+= \ - -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ - -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL)' + -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ + -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL)' + +# Give a hint of where libperl.so can be found. +USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE # XXX Remove CONFIGURE_ARGS+= -Dusedevel -Uversiononly Index: head/lang/perl5.18/Makefile =================================================================== --- head/lang/perl5.18/Makefile +++ head/lang/perl5.18/Makefile @@ -3,7 +3,7 @@ PORTNAME= perl PORTVERSION= ${PERL_VERSION} -PORTREVISION= 21 +PORTREVISION= 22 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN/../../src/5.0 DIST_SUBDIR= perl @@ -98,8 +98,12 @@ # lddlflags is used for all .so linking # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. CONFIGURE_ARGS+= \ - -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ - -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' + -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ + -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' + +# Give a hint of where libperl.so can be found. +USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE + LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \ LC_TIME="" Index: head/lang/perl5.20/Makefile =================================================================== --- head/lang/perl5.20/Makefile +++ head/lang/perl5.20/Makefile @@ -3,7 +3,7 @@ PORTNAME= perl PORTVERSION= ${PERL_VERSION} -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN/../../src/5.0 DIST_SUBDIR= perl @@ -92,8 +92,11 @@ # lddlflags is used for all .so linking # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. CONFIGURE_ARGS+= \ - -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ - -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' + -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ + -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' + +# Give a hint of where libperl.so can be found. +USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \ Index: head/lang/perl5.22/Makefile =================================================================== --- head/lang/perl5.22/Makefile +++ head/lang/perl5.22/Makefile @@ -3,6 +3,7 @@ PORTNAME= perl DISTVERSION= ${PERL_VERSION} +PORTREVISION= 1 CATEGORIES= lang devel perl5 MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/S/SH/SHAY DIST_SUBDIR= perl @@ -90,8 +91,11 @@ # lddlflags is used for all .so linking # shrpldflags is used for libperl.so, so remove all the extra bits inherited from lddlflags. CONFIGURE_ARGS+= \ - -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ - -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' + -Alddlflags='-L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -lperl' \ + -Dshrpldflags='$$(LDDLFLAGS:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-lperl) -Wl,-soname,$$(LIBPERL:R)' + +# Give a hint of where libperl.so can be found. +USE_LDCONFIG= ${PREFIX}/${_ARCH_LIB}/CORE LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \ LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \