Index: Mk/Scripts/qa.sh =================================================================== --- Mk/Scripts/qa.sh +++ 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: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ 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: lang/perl5-devel/Makefile =================================================================== --- lang/perl5-devel/Makefile +++ lang/perl5-devel/Makefile @@ -107,12 +107,15 @@ # 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)' # XXX Remove CONFIGURE_ARGS+= -Dusedevel -Uversiononly +# 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: lang/perl5.18/Makefile =================================================================== --- lang/perl5.18/Makefile +++ lang/perl5.18/Makefile @@ -98,8 +98,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="" \ LC_TIME="" Index: lang/perl5.20/Makefile =================================================================== --- lang/perl5.20/Makefile +++ lang/perl5.20/Makefile @@ -91,12 +91,15 @@ # 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)' # When upgrading to 5.22+ remove this. CONFIGURE_ARGS+= \ -Dotherlibdirs=${PREFIX}/lib/perl5/site_perl/${PERL_VER}:${PREFIX}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH} +# 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: lang/perl5.22/Makefile =================================================================== --- lang/perl5.22/Makefile +++ lang/perl5.22/Makefile @@ -91,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="" \