commit: 49ec79fcc3863ca26369ceb1ded509c0cdc36165 Author: Kent Fredric <kentfredric <AT> gmail <DOT> com> AuthorDate: Tue Dec 23 17:50:54 2014 +0000 Commit: Kent Fredric <kentfredric <AT> gmail <DOT> com> CommitDate: Tue Dec 23 18:01:25 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=49ec79fc
perl-module.eclass: Unify Module::Build and MBTiny logic with --pure parameter, improving QA checks in the process --- eclass/perl-module.eclass | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass index 70f7d0f..593a030 100644 --- a/eclass/perl-module.eclass +++ b/eclass/perl-module.eclass @@ -145,11 +145,20 @@ perl-module_src_configure() { fi if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then - einfo "Using Module::Build" - if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${PN} != Module-Build ]] ; then - eqawarn "QA Notice: The ebuild uses Module::Build but doesn't depend on it." - eqawarn " Add virtual/perl-Module-Build to DEPEND!" - perl_qafatal "modulebuild" + if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then + einfo "Using Module::Build::Tiny" + if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then + eqawarn "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it." + eqawarn " Add dev-perl/Module-Build-Tiny to DEPEND!" + perl_qafatal "modulebuildtiny" + fi + else + einfo "Using Module::Build" + if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${PN} != Module-Build ]] ; then + eqawarn "QA Notice: The ebuild uses Module::Build but doesn't depend on it." + eqawarn " Add virtual/perl-Module-Build to DEPEND!" + perl_qafatal "modulebuild" + fi fi set -- \ --installdirs=vendor \ @@ -317,23 +326,22 @@ perl-module_src_install() { local f - if [[ -z ${mytargets} ]] ; then + if [[ -f Build ]]; then + mytargets="${mytargets:-install}" + mbparams="${mbparams:---pure}" + einfo "./Build ${mytargets} ${mbparams}" + ./Build ${mytargets} ${mbparams} \ + || die "./Build ${mytargets} ${mbparams} failed" + elif [[ -f Makefile ]]; then case "${CATEGORY}" in dev-perl|perl-core) mytargets="pure_install" ;; *) mytargets="install" ;; esac - fi - - if [[ $(declare -p myinst 2>&-) != "declare -a myinst="* ]]; then - local myinst_local=(${myinst}) - else - local myinst_local=("${myinst[@]}") - fi - - if [[ -f Build ]] ; then - ./Build ${mytargets} \ - || die "./Build ${mytargets} failed" - elif [[ -f Makefile ]] ; then + if [[ $(declare -p myinst 2>&-) != "declare -a myinst="* ]]; then + local myinst_local=(${myinst}) + else + local myinst_local=("${myinst[@]}") + fi emake "${myinst_local[@]}" ${mytargets} \ || die "emake ${myinst_local[@]} ${mytargets} failed" fi