Add PERL_EXPORT_PHASE_FUNCTIONS and move perl-helper functions back to perl-module
authorTorsten Veller <tove@gentoo.org>
Thu, 22 Apr 2010 11:43:30 +0000 (11:43 +0000)
committerTorsten Veller <tove@gentoo.org>
Thu, 22 Apr 2010 11:43:30 +0000 (11:43 +0000)
eclass/perl-helper.eclass
eclass/perl-module.eclass

index 11cd29ae5ecd2aab16f453873b2e7bf822a0a985..c38e1c79d61bc07e0909a91187477b2e0ecab0d9 100644 (file)
@@ -1,130 +1,8 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-helper.eclass,v 1.1 2010/04/17 19:56:27 tove Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-helper.eclass,v 1.2 2010/04/22 11:43:30 tove Exp $
 
-[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
+# @DEAD
 
-perlinfo() {
-       debug-print-function $FUNCNAME "$@"
-       perl_set_version
-}
-
-perl_set_version() {
-       debug-print-function $FUNCNAME "$@"
-       debug-print "$FUNCNAME: perlinfo_done=${perlinfo_done}"
-       ${perlinfo_done} && return 0
-       perlinfo_done=true
-
-       local f version install{{site,vendor}{arch,lib},archlib}
-       eval "$(perl -V:{version,install{{site,vendor}{arch,lib},archlib}} )"
-       PERL_VERSION=${version}
-       SITE_ARCH=${installsitearch}
-       SITE_LIB=${installsitelib}
-       ARCH_LIB=${installarchlib}
-       VENDOR_LIB=${installvendorlib}
-       VENDOR_ARCH=${installvendorarch}
-}
-
-fixlocalpod() {
-       debug-print-function $FUNCNAME "$@"
-       perl_delete_localpod
-}
-
-perl_delete_localpod() {
-       debug-print-function $FUNCNAME "$@"
-
-       find "${D}" -type f -name perllocal.pod -delete
-       find "${D}" -depth -mindepth 1 -type d -empty -delete
-}
-
-perl_fix_osx_extra() {
-       debug-print-function $FUNCNAME "$@"
-
-       local f
-       find "${S}" -type f -name "._*" -print0 | while read -rd '' f ; do
-               einfo "Removing AppleDouble encoded Macintosh file: ${f#${S}/}"
-               rm -f "${f}"
-               f=${f#${S}/}
-       #       f=${f//\//\/}
-       #       f=${f//\./\.}
-       #       sed -i "/${f}/d" "${S}"/MANIFEST || die
-               grep -q "${f}" "${S}"/MANIFEST && \
-                       elog "AppleDouble encoded Macintosh file in MANIFEST: ${f}"
-       done
-}
-
-perl_delete_module_manpages() {
-       debug-print-function $FUNCNAME "$@"
-
-       perl_set_eprefix
-
-       if [[ -d "${ED}"/usr/share/man ]] ; then
-#              einfo "Cleaning out stray man files"
-               find "${ED}"/usr/share/man -type f -name "*.3pm" -delete
-               find "${ED}"/usr/share/man -depth -type d -empty -delete
-       fi
-}
-
-
-perl_delete_packlist() {
-       debug-print-function $FUNCNAME "$@"
-       perl_set_version
-       if [[ -d ${D}/${VENDOR_LIB} ]] ; then
-               find "${D}/${VENDOR_LIB}" -type f -a \( -name .packlist \
-                       -o \( -name '*.bs' -a -empty \) \) -delete
-               find "${D}/${VENDOR_LIB}" -depth -mindepth 1 -type d -empty -delete
-       fi
-}
-
-perl_remove_temppath() {
-       debug-print-function $FUNCNAME "$@"
-
-       find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do
-               if file "${f}" | grep -q -i " text" ; then
-                       grep -q "${D}" "${f}" && ewarn "QA: File contains a temporary path ${f}"
-                       sed -i -e "s:${D}:/:g" "${f}"
-               fi
-       done
-}
-
-perl_link_duallife_scripts() {
-       debug-print-function $FUNCNAME "$@"
-       if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then
-               return 0
-       fi
-
-       perl_set_eprefix
-
-       local i ff
-       if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then
-               for i in "${DUALLIFESCRIPTS[@]}" ; do
-                       alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
-                       ff=`echo "${EROOT}"/usr/share/man/man1/${i}-${PV}-${P}.1*`
-                       ff=${ff##*.1}
-                       alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
-               done
-       else
-               pushd "${ED}" > /dev/null
-               for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do
-                       mv ${i}{,-${PV}-${P}} || die
-                       DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
-                       if [[ -f usr/share/man/man1/${i##*/}.1 ]] ; then
-                               mv usr/share/man/man1/${i##*/}{.1,-${PV}-${P}.1} || die
-                       fi
-               done
-               popd > /dev/null
-       fi
-}
-
-perl_set_eprefix() {
-       debug-print-function $FUNCNAME "$@"
-       case ${EAPI:-0} in
-               0|1|2)
-                       if ! use prefix; then
-                               EPREFIX=
-                               ED=${D}
-                               EROOT=${ROOT}
-                       fi
-                       ;;
-       esac
-}
+PERL_EXPORT_PHASE_FUNCTIONS=no
+inherit perl-module
index ac46d48ec4726472adb626daacc04062e5456fd9..993e7ddceaba0d994bbc514ffd3583dde3d8bc5a 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.123 2010/04/17 19:56:27 tove Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.124 2010/04/22 11:43:30 tove Exp $
 #
 # Author: Seemant Kulleen <seemant@gentoo.org>
 
 # The perl-module eclass is designed to allow easier installation of perl
 # modules, and their incorporation into the Gentoo Linux system.
 
-inherit perl-helper eutils base
+inherit eutils base
+[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
 
 PERL_EXPF="src_unpack src_compile src_test src_install"
 
 case "${EAPI:-0}" in
        0|1)
-               PERL_EXPF="${PERL_EXPF} pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm"
+               PERL_EXPF+=" pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm"
                ;;
        2|3)
-               PERL_EXPF="${PERL_EXPF} src_prepare src_configure"
+               PERL_EXPF+=" src_prepare src_configure"
                [[ ${CATEGORY} == "perl-core" ]] && \
-                       PERL_EXPF="${PERL_EXPF} pkg_postinst pkg_postrm"
+                       PERL_EXPF+=" pkg_postinst pkg_postrm"
 
                case "${GENTOO_DEPEND_ON_PERL:-yes}" in
                        yes)
@@ -37,7 +38,17 @@ case "${EAPI:-0}" in
                ;;
 esac
 
-EXPORT_FUNCTIONS ${PERL_EXPF}
+case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
+       yes)
+               EXPORT_FUNCTIONS ${PERL_EXPF}
+               ;;
+       no)
+               debug-print "PERL_EXPORT_PHASE_FUNCTIONS=no"
+               ;;
+       *)
+               DEPEND+=" PERL_EXPORT_PHASE_FUNCTIONS-UNSUPPORTED"
+               ;;
+esac
 
 DESCRIPTION="Based on the $ECLASS eclass"
 
@@ -232,3 +243,129 @@ perl-module_pkg_postrm() {
        debug-print-function $FUNCNAME "$@"
        perl_link_duallife_scripts
 }
+
+perlinfo() {
+       debug-print-function $FUNCNAME "$@"
+       perl_set_version
+}
+
+perl_set_version() {
+       debug-print-function $FUNCNAME "$@"
+       debug-print "$FUNCNAME: perlinfo_done=${perlinfo_done}"
+       ${perlinfo_done} && return 0
+       perlinfo_done=true
+
+       local f version install{{site,vendor}{arch,lib},archlib}
+       eval "$(perl -V:{version,install{{site,vendor}{arch,lib},archlib}} )"
+       PERL_VERSION=${version}
+       SITE_ARCH=${installsitearch}
+       SITE_LIB=${installsitelib}
+       ARCH_LIB=${installarchlib}
+       VENDOR_LIB=${installvendorlib}
+       VENDOR_ARCH=${installvendorarch}
+}
+
+fixlocalpod() {
+       debug-print-function $FUNCNAME "$@"
+       perl_delete_localpod
+}
+
+perl_delete_localpod() {
+       debug-print-function $FUNCNAME "$@"
+
+       find "${D}" -type f -name perllocal.pod -delete
+       find "${D}" -depth -mindepth 1 -type d -empty -delete
+}
+
+perl_fix_osx_extra() {
+       debug-print-function $FUNCNAME "$@"
+
+       # Remove "AppleDouble encoded Macintosh file"
+       local f
+       find "${S}" -type f -name "._*" -print0 | while read -rd '' f ; do
+               einfo "Removing AppleDouble encoded Macintosh file: ${f#${S}/}"
+               rm -f "${f}"
+               f=${f#${S}/}
+       #       f=${f//\//\/}
+       #       f=${f//\./\.}
+       #       sed -i "/${f}/d" "${S}"/MANIFEST || die
+               grep -q "${f}" "${S}"/MANIFEST && \
+                       elog "AppleDouble encoded Macintosh file in MANIFEST: ${f#${S}/}"
+       done
+}
+
+perl_delete_module_manpages() {
+       debug-print-function $FUNCNAME "$@"
+
+       perl_set_eprefix
+
+       if [[ -d "${ED}"/usr/share/man ]] ; then
+#              einfo "Cleaning out stray man files"
+               find "${ED}"/usr/share/man -type f -name "*.3pm" -delete
+               find "${ED}"/usr/share/man -depth -type d -empty -delete
+       fi
+}
+
+
+perl_delete_packlist() {
+       debug-print-function $FUNCNAME "$@"
+       perl_set_version
+       if [[ -d ${D}/${VENDOR_LIB} ]] ; then
+               find "${D}/${VENDOR_LIB}" -type f -a \( -name .packlist \
+                       -o \( -name '*.bs' -a -empty \) \) -delete
+               find "${D}/${VENDOR_LIB}" -depth -mindepth 1 -type d -empty -delete
+       fi
+}
+
+perl_remove_temppath() {
+       debug-print-function $FUNCNAME "$@"
+
+       find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do
+               if file "${f}" | grep -q -i " text" ; then
+                       grep -q "${D}" "${f}" && ewarn "QA: File contains a temporary path ${f}"
+                       sed -i -e "s:${D}:/:g" "${f}"
+               fi
+       done
+}
+
+perl_link_duallife_scripts() {
+       debug-print-function $FUNCNAME "$@"
+       if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then
+               return 0
+       fi
+
+       perl_set_eprefix
+
+       local i ff
+       if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then
+               for i in "${DUALLIFESCRIPTS[@]}" ; do
+                       alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
+                       ff=`echo "${EROOT}"/usr/share/man/man1/${i}-${PV}-${P}.1*`
+                       ff=${ff##*.1}
+                       alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
+               done
+       else
+               pushd "${ED}" > /dev/null
+               for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do
+                       mv ${i}{,-${PV}-${P}} || die
+                       DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
+                       if [[ -f usr/share/man/man1/${i##*/}.1 ]] ; then
+                               mv usr/share/man/man1/${i##*/}{.1,-${PV}-${P}.1} || die
+                       fi
+               done
+               popd > /dev/null
+       fi
+}
+
+perl_set_eprefix() {
+       debug-print-function $FUNCNAME "$@"
+       case ${EAPI:-0} in
+               0|1|2)
+                       if ! use prefix; then
+                               EPREFIX=
+                               ED=${D}
+                               EROOT=${ROOT}
+                       fi
+                       ;;
+       esac
+}