diff options
author | Kent Fredric <kentfredric@gmail.com> | 2016-04-11 17:49:45 +1200 |
---|---|---|
committer | Kent Fredric <kentnl@gentoo.org> | 2017-09-17 12:07:33 +1200 |
commit | 06649f5912fc007c582b782d0455b6a03dedaaf1 (patch) | |
tree | 6988df3af9c4492b52313947a15b873d0c0c851a /eclass | |
parent | perl-module.eclass: sync EAPI-support and inherit logic (diff) | |
download | perl-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.eclass | 147 |
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" |