summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorKent Fredric <kentfredric@gmail.com>2016-04-11 17:49:45 +1200
committerKent Fredric <kentnl@gentoo.org>2017-09-17 12:07:33 +1200
commit06649f5912fc007c582b782d0455b6a03dedaaf1 (patch)
tree6988df3af9c4492b52313947a15b873d0c0c851a /eclass
parentperl-module.eclass: sync EAPI-support and inherit logic (diff)
downloadperl-overlay-06649f5912fc007c582b782d0455b6a03dedaaf1.tar.gz
perl-overlay-06649f5912fc007c582b782d0455b6a03dedaaf1.tar.bz2
perl-overlay-06649f5912fc007c582b782d0455b6a03dedaaf1.zip
perl-module.eclass: sync EAPI + GENTOO_DEPEND_ON_PERL and DIST_(X) logic
Diffstat (limited to 'eclass')
-rw-r--r--eclass/perl-module.eclass147
1 files changed, 114 insertions, 33 deletions
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 9f3f7a28a..27afac97e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -40,52 +40,133 @@ esac
# slot operator (EAPI=6). All packages installing into the vendor_perl
# path must use yes here.
-case "${GENTOO_DEPEND_ON_PERL:-yes}" in
-yes)
- case "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" in
- yes)
- DEPEND="dev-lang/perl:=[-build(-)]"
- ;;
- *)
- DEPEND="dev-lang/perl[-build(-)]"
+case ${EAPI:-0} in
+ 5)
+ [[ ${CATEGORY} == perl-core ]] && \
+ PERL_EXPF+=" pkg_postinst pkg_postrm"
+
+ case "${GENTOO_DEPEND_ON_PERL:-yes}" in
+ yes)
+ case "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" in
+ yes)
+ DEPEND="dev-lang/perl:=[-build(-)]"
+ ;;
+ *)
+ DEPEND="dev-lang/perl[-build(-)]"
+ ;;
+ esac
+ RDEPEND="${DEPEND}"
+ ;;
+ esac
+
+ case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
+ yes)
+ EXPORT_FUNCTIONS ${PERL_EXPF}
+ ;;
+ no)
+ debug-print "PERL_EXPORT_PHASE_FUNCTIONS=no"
+ ;;
+ *)
+ die "PERL_EXPORT_PHASE_FUNCTIONS=${PERL_EXPORT_PHASE_FUNCTIONS} is not supported by perl-module.eclass"
+ ;;
+ esac
;;
- esac
- RDEPEND="${DEPEND}"
- ;;
-esac
+ 6)
+ [[ ${CATEGORY} == perl-core ]] && \
+ PERL_EXPF+=" pkg_postinst pkg_postrm"
+
+ case "${GENTOO_DEPEND_ON_PERL:-yes}" in
+ yes)
+ DEPEND="dev-lang/perl:="
+ RDEPEND="dev-lang/perl:="
+ ;;
+ noslotop)
+ DEPEND="dev-lang/perl"
+ RDEPEND="dev-lang/perl"
+ ;;
+ esac
-if [[ -z "${MODULE_VERSION}" && -n "${MODULE_VERSION_SCHEME}" ]]; then
- inherit perl-version
- MODULE_VERSION=$( perl-version-denormalize ${MY_PV:-${PV}} $MODULE_VERSION_SCHEME )
-fi
+ if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then
+ eerror "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6. If you don't want a slot operator"
+ die "set GENTOO_DEPEND_ON_PERL=noslotop instead."
+ fi
+
+ if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then
+ eerror "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6. Use perl-module.eclass if you need"
+ die "phase functions, perl-functions.eclass if not."
+ fi
-case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
- yes)
EXPORT_FUNCTIONS ${PERL_EXPF}
;;
- no)
- debug-print "PERL_EXPORT_PHASE_FUNCTIONS=no"
- ;;
*)
- die "PERL_EXPORT_PHASE_FUNCTIONS=${PERL_EXPORT_PHASE_FUNCTIONS} is not supported by perl-module.eclass"
+ die "EAPI=${EAPI:-0} is not supported by perl-module.eclass"
;;
esac
LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
-if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
- : ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}}
- S=${MY_S:-${WORKDIR}/${MY_P}}
-fi
+# @ECLASS-VARIABLE: DIST_NAME
+# @DESCRIPTION:
+# (EAPI=6) This variable provides a way to override PN for the calculation of S,
+# SRC_URI, and HOMEPAGE. Defaults to PN.
+
+# @ECLASS-VARIABLE: DIST_VERSION
+# @DESCRIPTION:
+# (EAPI=6) This variable provides a way to override PV for the calculation of S and SRC_URI.
+# Use it to provide the non-normalized, upstream version number. Defaults to PV.
+# Named MODULE_VERSION in EAPI=5.
+
+# @ECLASS-VARIABLE: DIST_A_EXT
+# @DESCRIPTION:
+# (EAPI=6) This variable provides a way to override the distfile extension for the calculation of
+# SRC_URI. Defaults to tar.gz. Named MODULE_A_EXT in EAPI=5.
+
+# @ECLASS-VARIABLE: DIST_A
+# @DESCRIPTION:
+# (EAPI=6) This variable provides a way to override the distfile name for the calculation of
+# SRC_URI. Defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5.
-[[ -n ${MODULE_DZIL_TRIAL} ]] && S="${S%-TRIAL}"
+# @ECLASS-VARIABLE: DIST_AUTHOR
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=6) This variable sets the module author name for the calculation of
+# SRC_URI. Named MODULE_AUTHOR in EAPI=5.
-[[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \
- MODULE_A="${MY_P:-${P}}.${MODULE_A_EXT:-tar.gz}"
-[[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \
- SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}"
-[[ -z "${HOMEPAGE}" ]] && \
- HOMEPAGE="http://search.cpan.org/dist/${MY_PN:-${PN}}/"
+# @ECLASS-VARIABLE: DIST_SECTION
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=6) This variable sets the module section for the calculation of
+# SRC_URI. Only required in rare cases for very special snowflakes.
+# Named MODULE_SECTION in EAPI=5.
+
+if [[ ${EAPI:-0} == 5 ]]; then
+ if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
+ : ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}}
+ S=${MY_S:-${WORKDIR}/${MY_P}}
+ fi
+ MODULE_NAME=${MY_PN:-${PN}}
+ MODULE_P=${MY_P:-${P}}
+
+ [[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \
+ MODULE_A="${MODULE_P}.${MODULE_A_EXT:-tar.gz}"
+ [[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \
+ SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}"
+ [[ -z "${HOMEPAGE}" ]] && \
+ HOMEPAGE="http://search.cpan.org/dist/${MODULE_NAME}/"
+
+ SRC_TEST="skip"
+else
+ DIST_NAME=${DIST_NAME:-${PN}}
+ DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}}
+ S=${WORKDIR}/${DIST_P}
+
+ [[ -z "${SRC_URI}" && -z "${DIST_A}" ]] && \
+ DIST_A="${DIST_P}.${DIST_A_EXT:-tar.gz}"
+ [[ -z "${SRC_URI}" && -n "${DIST_AUTHOR}" ]] && \
+ SRC_URI="mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${DIST_SECTION:+${DIST_SECTION}/}${DIST_A}"
+ [[ -z "${HOMEPAGE}" ]] && \
+ HOMEPAGE="http://search.cpan.org/dist/${DIST_NAME}/"
+fi
SRC_PREP="no"
SRC_TEST="skip"