diff --git Mk/Scripts/qa.sh Mk/Scripts/qa.sh index aca3df2..ffcb3c4 100644 --- Mk/Scripts/qa.sh +++ Mk/Scripts/qa.sh @@ -255,16 +255,19 @@ libperl() { ;; *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 diff --git Mk/bsd.port.mk Mk/bsd.port.mk index e8fe347..98ac247 100644 --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -1520,6 +1520,7 @@ QA_ENV+= STAGEDIR=${STAGEDIR} \ LOCALBASE=${LOCALBASE} \ "STRIP=${STRIP}" \ TMPPLIST=${TMPPLIST} \ + LDCONFIG_DIR="${LDCONFIG_DIR}" \ PKGBASE=${PKGBASE} .if !empty(USES:Mdesktop-file-utils) QA_ENV+= USESDESKTOPFILEUTILS=yes diff --git lang/perl5-devel/Makefile lang/perl5-devel/Makefile index f845724..9acf3dd 100644 --- lang/perl5-devel/Makefile +++ lang/perl5-devel/Makefile @@ -107,8 +107,11 @@ CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ # 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 diff --git lang/perl5.18/Makefile lang/perl5.18/Makefile index 8ec037e..112fce2 100644 --- lang/perl5.18/Makefile +++ lang/perl5.18/Makefile @@ -98,8 +98,12 @@ CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ # 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="" diff --git lang/perl5.20/Makefile lang/perl5.20/Makefile index 4a49f5f..c2c5372 100644 --- lang/perl5.20/Makefile +++ lang/perl5.20/Makefile @@ -92,8 +92,11 @@ CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ # 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="" \ diff --git lang/perl5.22/Makefile lang/perl5.22/Makefile index ec52c00..5c38922 100644 --- lang/perl5.22/Makefile +++ lang/perl5.22/Makefile @@ -91,8 +91,11 @@ CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ # 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="" \