[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 8d9b2b281577717bb223f50b24f57ed4eaebd56c
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 09:58:36 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:34 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=8d9b2b28

perl-functions.eclass: Add a new (not in ::gentoo) perl_check_eapi function

 eclass/perl-functions.eclass | 54 
 1 file changed, 54 insertions(+)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index b189ff32c..21fe60592 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -686,3 +686,57 @@ perl_domodule() {
insinto "/${target#/}"
doins "${doins_opts[@]}" "${files[@]}"
 }
+
+# @FUNCTION: perl_check_eapi
+# @DESCRIPTION:
+# Checks a blacklist of known-suspect eclass variables which can be 
accidentally set
+# by maintainers, or may be accidentally left residual after an EAPI change.
+#
+# Dies if any of the suspect fields are found, and tell the user that the 
ebuild in question
+# is broken and needs a fix.
+#
+# There's a workaround, but you'll have to read the code for it.
+perl_check_eapi() {
+   local errored value;
+   local suspect_vars=();
+
+   # Secret sauce to inhibit this check
+   [[ -n "${_EAPI_PERL_MODULE_PERMISSIVE}" ]] && return;
+
+   if [[ ${EAPI:-0} == 5 ]]; then
+   suspect_vars=( DIST_TEST DIST_VERSION DIST_NAME DIST_AUTHOR 
DIST_A_EXT DIST_A DIST_SECTION DIST_EXAMPLES );
+   else
+   suspect_vars=( MY_PN MY_PV MODULE_VERSION MY_P MODULE_A 
MODULE_A_EXT MODULE_AUTHOR MODULE_NAME SRC_TEST MODULE_SECTION );
+   fi
+   for i in "${suspect_vars[@]}"; do
+   [[ -v $i ]] || continue;
+
+   # Add heading once and only once
+   if [[ ${errored:-0} == 0 ]]; then
+   if [[ -n "${I_KNOW_WHAT_I_AM_DOING}" ]]; then
+   elog "perl-module.eclass: Suspicious 
EAPI${EAPI:-0} eclass variables found.";
+   else
+   eerror "perl-module.eclass: Suspicious 
EAPI${EAPI:-0} eclass variables found.";
+   fi
+   fi
+
+   errored=1
+   # Print ENV name/value pair
+   if [[ -n "${I_KNOW_WHAT_I_AM_DOING}" ]]; then
+   elog "${i}=\"${!i}\"";
+   else
+   eerror "${i}=\"${!i}\"";
+   fi
+   done
+   # Return if there were no failures
+   [[ ${errored:-0} == 0 ]] && return;
+
+   # Return if user knows what they're doing
+   if [[ -n "${I_KNOW_WHAT_I_AM_DOING}" ]]; then
+   elog "Continuing anyway, seems you know what you're doing."
+   return
+   fi
+
+   eerror "Your ebuild/env contains eclass variables that are known 
invalid/legacy and indicate author oversight."
+   die "Please file a bug for this ebuild as per above details."
+}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: fe459db9888c8b04007820d488349b05edaf3a61
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:41:31 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:34 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=fe459db9

perl-module.eclass: src_configure: remove skip-src-configure logic outside EAPI5

 eclass/perl-module.eclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index aea9a2230..860546698 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -212,7 +212,9 @@ perl-module_src_prepare() {
 perl-module_src_configure() {
debug-print-function $FUNCNAME "$@"
 
-   [[ ${SRC_PREP} = yes ]] && return 0
+   if [[ ${EAPI:-0} == 5 && ${SRC_PREP} == yes ]]; then
+   return 0
+   fi
SRC_PREP="yes"
 
perl_check_env



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: ed840e0aa89638422581bd62a0985ba524873f3d
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 03:56:30 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:38 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=ed840e0a

perl-functions.eclass: Add internal option decoder for eapi6

This is much more like the version in ::gentoo

 eclass/perl-functions.eclass | 44 
 1 file changed, 44 insertions(+)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 28657799f..194bbc820 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -783,3 +783,47 @@ _perl_get_test_opts_eapi5() {
return
 }
 
+# Internal: EAPI6 Implementation of probe, mostly the same mechanics
+# as ::gentoo, with exception of explicit fail for network-required
+_perl_get_test_opts_eapi6() {
+   local can_test=1
+   local is_parallel=1
+   local is_verbose=0
+   local is_network=0
+   local my_test_control
+   debug-print-function $FUNCNAME "$@"
+
+   [[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn DIST_TEST_OVERRIDE is set to 
${DIST_TEST_OVERRIDE}
+   my_test_control="${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}"
+
+   if ! has 'do' ${my_test_control} && ! has 'parallel' 
${my_test_control}; then
+   ewarn "Skipping tests due to DIST_TEST=${my_test_control}"
+   can_test=0
+   elif has 'network-required' ${my_test_control}; then
+   #  "do parallel network-required" -> Bail still , but please 
just write "network-required"
+   #  for compat with ::gentoo
+   ewarn "Skipping tests due to DIST_TEST=${my_test_control}"
+   can_test=0
+   else
+   if ! has 'parallel' ${my_test_control}; then
+   is_parallel=0
+   fi
+   if has 'verbose' ${my_test_control}; then
+   is_verbose=1
+   fi
+   if has 'network' ${my_test_control}; then
+   ewarn "Network tests enabled due to 
DIST_TEST=${my_test_control}"
+   is_network=1
+   fi
+   fi
+   if [[ ${can_test} == 0 ]]; then
+   printf "skip\n"
+   return
+   fi
+   printf "test "
+   [[ ${is_parallel} == 1 ]] && printf "parallel "
+   [[ ${is_verbose}  == 1 ]] && printf "verbose "
+   [[ ${is_network}  == 1 ]] && printf "network "
+   printf "\n"
+   return
+}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 7b90583916bc9d40af69abda084341fd2ee9450c
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:37:34 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:33 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=7b905839

perl-module.eclass: remove defaults for SRC_TEST and perlinfo_done

 eclass/perl-module.eclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 27afac97e..c07599eab 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -169,11 +169,9 @@ else
 fi
 
 SRC_PREP="no"
-SRC_TEST="skip"
 PREFER_BUILDPL="yes"
 
 pm_echovar=""
-perlinfo_done=false
 
 # @FUNCTION: perl-module_src_unpack
 # @DESCRIPTION:



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 11e52068ff5158fdf6aaae7482441b306748ef45
Author: Kent Fredric  gentoo  org>
AuthorDate: Fri Sep 15 20:54:10 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:37 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=11e52068

perl-module.eclass: run perl_check_eapi in src_configure

I had to think long and hard about where to put this :/

Putting it where it should be logically:

* pkg_setup:
Downsides: new phase function people won't expect to be there
Downsides: makes extra work for the common definition of pkg_setup

* src_unpack:
Downsides: Same as pkg_setup

* src_pretend:
Downsides: Too early
Downsides: makes all perl modules slow to install

* global
Downsides: makes metadata collection very slow
Downsides: risks running too much code in global scope

* src_configre:
Downsides: risks only discovering the bug after shipping

However, the case of the last one dictates that the maintainer did
significant changes, and then never even compile tested it.

Maintainer rightly gets a rap over the knuckles and such things should
never be stable

 eclass/perl-module.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 3b4971389..5789d96bf 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -228,6 +228,7 @@ perl-module_src_configure() {
fi
SRC_PREP="yes"
 
+   perl_check_eapi
perl_check_env
 
perl_set_version



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 06649f5912fc007c582b782d0455b6a03dedaaf1
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 05:49:45 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:33 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=06649f59

perl-module.eclass: sync EAPI + GENTOO_DEPEND_ON_PERL and DIST_(X)  logic

 eclass/perl-module.eclass | 147 +++---
 1 file 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 

[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: eb040de5e03592c3aa264772942612abe67325d2
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:44:52 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:34 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=eb040de5

perl-module.eclass: Stop deleting packlists past EAPI5

 eclass/perl-module.eclass | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 864ea8474..18e559d68 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -413,7 +413,12 @@ perl-module_src_install() {
 
perl_delete_module_manpages
perl_delete_localpod
-   perl_delete_packlist
+   if [[ ${EAPI:-0} == 5 ]] ; then
+   perl_delete_packlist
+   else
+   perl_fix_packlist
+   perl_delete_emptybsdir
+   fi
perl_remove_temppath
 
for f in Change* CHANGES README* TODO FAQ ${mydoc}; do



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 0e14c664b964314a0a4830100ac63b3d604c27ab
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 03:56:30 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:38 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=0e14c664

perl-functions.eclass: Add (not in ::gentoo) perl_get_test_opts function

 eclass/perl-functions.eclass | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 194bbc820..1c40dac61 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -827,3 +827,38 @@ _perl_get_test_opts_eapi6() {
printf "\n"
return
 }
+
+# @FUNCTION: perl_get_test_opts
+# @DESCRIPTION:
+# Decodes a dizzying collection of options and returns a list of flags
+# Returns a list of the following possible strings
+#  skip: tests should be skipped
+#  test: tests should run
+#  parallel: tests should run in parallel
+#  verbose : tests should be run verbosely
+#  network : network tests should run
+#
+# On first invocation, any atypical configurations will be ewarn'd about
+# and then cached in perl_test_opts
+#
+# @CODE
+# local opts="$(perl_get_test_opts)"
+# if has verbose ${opts}; then
+# ...
+# fi
+# if has network ${opts}; then
+# ...
+# fi
+# @CODE
+perl_get_test_opts() {
+   debug-print-function $FUNCNAME "$@"
+
+   if [[ ! -v _perl_test_opts ]]; then
+   if [[ ${EAPI:-0} == 5 ]]; then
+   _perl_test_opts="$(_perl_get_test_opts_eapi5)"
+   else
+   _perl_test_opts="$(_perl_get_test_opts_eapi6)"
+   fi
+   fi
+   echo "${_perl_test_opts}"
+}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: afb03689efd0c191928ecf021b0f70fca1dce9d4
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 05:47:35 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:32 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=afb03689

perl-module.eclass: sync EAPI-support and inherit logic

 eclass/perl-module.eclass | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 96d4c587c..9f3f7a28a 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -17,15 +17,17 @@
 # ExtUtils::MakeMaker or Module::Build), we recommend to use 
perl-functions.eclass
 # instead.
 
-inherit eutils multiprocessing unpacker perl-functions
-[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
-
-PERL_EXPF="src_unpack src_compile src_test src_install src_prepare 
src_configure"
-[[ ${CATEGORY} == "perl-core" ]] && PERL_EXPF+=" pkg_postinst pkg_postrm"
-
-case "${EAPI:-0}" in
-   5)  ;;
-   *)  die "EAPI=${EAPI} is not supported by perl-module.eclass"
+case ${EAPI:-0} in
+   5)
+   inherit eutils multiprocessing unpacker perl-functions
+   PERL_EXPF="src_unpack src_prepare src_configure src_compile 
src_test src_install"
+   ;;
+   6)
+   inherit multiprocessing perl-functions
+   PERL_EXPF="src_prepare src_configure src_compile src_test 
src_install"
+   ;;
+   *)
+   die "EAPI=${EAPI} is not supported by perl-module.eclass"
;;
 esac
 



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 827cfafd22e458208ed384e48e71e57c9c333b05
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 06:25:35 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:38 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=827cfafd

perl-module.eclass: Reimplement src_test using perl_has_test_opt

 eclass/perl-module.eclass | 77 ++-
 1 file changed, 43 insertions(+), 34 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 5789d96bf..d94a3d554 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -316,7 +316,8 @@ perl-module_src_compile() {
fi
 }
 
-# Starting 2014-10-12:
+# Historical notes for EAPI5 only on perl-experimental
+# Starting 2014-10-12
 #
 # AUTHORS:
 #
@@ -344,51 +345,59 @@ perl-module_src_compile() {
 # SRC_TEST:
 #No longer used and completely ignored
 
+# @ECLASS-VARIABLE: DIST_TEST
+# @DESCRIPTION:
+# (EAPI=6) Variable that controls if tests are run in the test phase
+# at all, and if yes under which conditions. Defaults to "do parallel"
+# If neither "do" nor "parallel" is recognized, tests are skipped.
+# (In EAPI=5 the variable is called SRC_TEST, defaults to "skip", and
+# recognizes fewer options.)
+# The following space-separated keywords are recognized:
+#   do   : run tests
+#   parallel : run tests in parallel
+#   verbose  : increase test verbosity
+#   network  : do not try to disable network tests
+
+# @ECLASS-VARIABLE: DIST_TEST_OVERRIDE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=6) Variable that controls if tests are run in the test phase
+# at all, and if yes under which conditions. It is intended for use in
+# make.conf or the environment by ebuild authors during testing, and
+# accepts the same values as DIST_TEST. If set, it overrides DIST_TEST
+# completely. DO NOT USE THIS IN EBUILDS!
+
+# @FUNCTION: perl-module_src-test
+# @DESCRIPTION:
+# This code attempts to work out your threadingness and runs tests
+# according to the settings of DIST_TEST using Test::Harness.
 perl-module_src_test() {
debug-print-function $FUNCNAME "$@"
+   local my_test_verbose=0
 
-   # Turn it off globally per user choice.
-   if has 'parallel-test' ${USER_PERL_RESTRICT}; then
-   einfo "Disabling Parallel Testing: 
USER_PERL_RESTRICT=parallel-test";
-   export HARNESS_OPTIONS="";
-
-   # If user has TEST_VERBOSE globally, disable parallelism because 
verboseness
-   # can break parallel testing.
-   elif ! has "${TEST_VERBOSE:-0}" 0; then
-   einfo "Disabling Parallel Testing: 
TEST_VERBOSE=${TEST_VERBOSE}";
-   export HARNESS_OPTIONS="";
-
-   # If ebuild says parallel tests dont work, turn them off.
-   elif has 'parallel-test' ${PERL_RESTRICT}; then
-   einfo "Disabling Parallel Testing: PERL_RESTRICT=parallel-test";
-   export HARNESS_OPTIONS="";
-   else
-   # Default is on.
+
+   if perl_has_test_opt skip; then
+   return;
+   fi
+
+   perl_has_test_opt verbose && my_test_verbose=1
+
+   if perl_has_test_opt parallel; then
einfo "Test::Harness Jobs=$(makeopts_jobs)"
export HARNESS_OPTIONS=j$(makeopts_jobs)
+   else
+   export HARNESS_OPTIONS=""
fi
 
-   # If a user says "USER_PERL_RESTRICT=network-test",
-   # then assume many CPAN dists will respect NO_NETWORK_TESTING and 
friends
-   # even if Gentoo haven't made the entire dist "no network testing"
-   if has 'network-test' ${USER_PERL_RESTRICT}; then
+   if ! perl_has_test_opt network; then
export NO_NETWORK_TESTING=1
fi
 
-   # However, if CPAN don't auto trigger on the above, Gentoo
-   # Can still disable them package wide with PERL_RESTRICT=network-test
-   # But they'll run by default unless USER_PERL_RESTRICT=network-test
-   if has 'network-test' ${USER_PERL_RESTRICT} && has 'network-test' 
${PERL_RESTRICT}; then
-   einfo "Skipping Tests: USER_PERL_RESTRICT=network-test && 
PERL_RESTRICT=network-test";
-   return true;
-   fi
-
-   ${perlinfo_done} || perl_set_version
-
+   perl_set_version
if [[ -f Build ]] ; then
-   ./Build test verbose=${TEST_VERBOSE:-0} || die "test failed"
+   ./Build test verbose=${my_test_verbose} || die "test failed"
elif [[ -f Makefile ]] ; then
-   emake test TEST_VERBOSE=${TEST_VERBOSE:-0} || die "test failed"
+   emake test TEST_VERBOSE=${my_test_verbose} || die "test failed"
fi
 }
 



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: ca7426cf1432dfc74331d2f106dfe3da2999bed8
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:42:12 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:34 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=ca7426cf

perl-module.eclass: Tell Build.PL to create packlists

 eclass/perl-module.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 860546698..31afa6dc8 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -251,7 +251,7 @@ perl-module_src_configure() {
--installdirs=vendor \
--libdoc= \
--destdir="${D}" \
-   --create_packlist=0 \
+   --create_packlist=1 \
"${myconf_local[@]}"
einfo "perl Build.PL" "$@"
perl Build.PL "$@" <<< "${pm_echovar}" \



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: a02c6eaf26f440d9cdca673672f7cccf3fc1535f
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 02:12:17 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:37 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=a02c6eaf

perl-functions.eclass: add internal option-decoder for eapi5

This is an internal function that produces a canonical option string
as per EAPI5 as per the deviated API I introduced on overlay

 eclass/perl-functions.eclass | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 21fe60592..28657799f 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -740,3 +740,46 @@ perl_check_eapi() {
eerror "Your ebuild/env contains eclass variables that are known 
invalid/legacy and indicate author oversight."
die "Please file a bug for this ebuild as per above details."
 }
+
+# Internal: this is specific to EAPI5 on the overlay
+_perl_get_test_opts_eapi5() {
+   local can_test=1
+   local is_parallel=1
+   local is_verbose=0
+   local is_network=1
+   debug-print-function $FUNCNAME "$@"
+
+   if has 'parallel-test' ${USER_PERL_RESTRICT}; then
+   ewarn "Parallel tests disabled via 
USER_PERL_RESTRICT=parallel-test"
+   is_parallel=0
+   elif ! has "${TEST_VERBOSE:-0}" 0; then
+   ewarn "Parallel tests disabled via TEST_VERBOSE=1"
+   ewarn "Verbose tests enabled via TEST_VERBOSE=1"
+   is_verbose=1
+   is_parallel=0
+   elif has 'parallel-test' ${PERL_RESTRICT}; then
+   ewarn "Parallel tests disabled via PERL_RESTRICT=parallel-test"
+   is_parallel=0
+   fi
+
+   if has 'network-test' ${USER_PERL_RESTRICT} && has 'network-test' 
${PERL_RESTRICT}; then
+   ewarn "Tests disabled via USER_PERL_RESTRICT & PERL_RESTRICT = 
network-test"
+   can_test=0
+   elif has 'network-test' ${USER_PERL_RESTRICT}; then
+   ewarn "Network tests disabled via 
USER_PERL_RESTRICT=network-test"
+   is_network=0
+   fi
+
+   if [[ ${can_test} == 0 ]]; then
+   printf "skip\n"
+   return;
+   fi
+
+   printf "test "
+   [[ ${is_parallel} == 1 ]] && printf "parallel "
+   [[ ${is_verbose}  == 1 ]] && printf "verbose "
+   [[ ${is_network}  == 1 ]] && printf "network "
+   printf "\n"
+   return
+}
+



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 813980f0ceafc5816f556387d4332fdd78b9f2a4
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:46:03 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:35 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=813980f0

perl-module.eclass: Fatalize pkg_postrm outside perl-core

 eclass/perl-module.eclass | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index bce191e76..c68d13173 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -452,10 +452,8 @@ perl-module_pkg_postinst() {
 perl-module_pkg_postrm() {
debug-print-function $FUNCNAME "$@"
if [[ ${CATEGORY} != perl-core ]] ; then
-   eqawarn "perl-module.eclass: You are calling 
perl-module_pkg_postrm outside the perl-core category."
-   eqawarn "   This does not do anything; the call can be safely 
removed."
-   perl_qafatal "function" "$FUNCNAME is private to perl-core"
-   return 0
+   eerror "perl-module.eclass: You are calling 
perl-module_pkg_postrm outside the perl-core category."
+   die"   This does not do anything; the call can be removed."
fi
perl_link_duallife_scripts
 }



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 91fd2768eb6b0df7aefdd43b7a41d707ccdb7a55
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 06:33:42 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:39 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=91fd2768

perl-functions.eclass: sync duallife scripts implementation from ::gentoo

 eclass/perl-functions.eclass | 26 +-
 1 file changed, 5 insertions(+), 21 deletions(-)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index ee90324e2..e37cf1e53 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -280,43 +280,27 @@ perl_link_duallife_scripts() {
return 0
fi
 
-   local i ff execdir mandir
-
-   execdir="usr/share/perl-${P}/bin"
-   mandir="usr/share/perl-${P}/man/man1"
-
+   local i ff
if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then
for i in "${DUALLIFESCRIPTS[@]}" ; do
-   alternatives_auto_makesym "/${i}-${PV}" 
"${EROOT}${execdir}/${i##*/}"
alternatives_auto_makesym "/${i}" "/${i}-[0-9]*"
done
for i in "${DUALLIFEMAN[@]}" ; do
-   # Expand $i to a full path as it was installed,
-   # which may add .gz or whatever to the end during 
compress.
-   # then boil it till you just get ".gz"
-   ff="${EROOT}${mandir}/${i##*/}";
-   ff=$( echo ${ff%.1}.1* );
+   ff=`echo "${EROOT}"/${i%.1}-${PV}-${P}.1*`
ff=${ff##*.1}
-   alternatives_auto_makesym "/${i%.1}-${PV}.1${ff}" 
"${EROOT}${mandir}/${i##*/}${ff}"
-   alternatives_auto_makesym "/${i}${ff}" 
"/${i%.1}-[0-9]*.1${ff}"
+   alternatives_auto_makesym "/${i}${ff}" "/${i%.1}-[0-9]*"
done
else
pushd "${ED}" > /dev/null
for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do
-   mkdir -p "${D}/${execdir}" || die
-   mv ${i} "${D}/${execdir}/${i##*/}" || die
+   mv ${i}{,-${PV}-${P}} || die
#DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i}
done
for i in $(find usr/share/man/man1 -maxdepth 1 -type f 
2>/dev/null) ; do
-   mkdir -p "${D}/${mandir}" || die
-   mv ${i} "${D}/${mandir}/${i##*/}" || die
+   mv ${i} ${i%.1}-${PV}-${P}.1 || die
DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i}
done
-
-   einfo "Cleaning empty directories"
-   perl_trim_empty_dirs "${EROOT}/usr/bin"
-
popd > /dev/null
fi
 }



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 6aad2715aa7be4d95218214023e8730ead0abd1c
Author: Kent Fredric  gentoo  org>
AuthorDate: Fri Sep 15 06:21:04 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:34 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=6aad2715

perl-module.eclass: Make Module-Build/Module-Build-Tiny deps fatal

 eclass/perl-module.eclass | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 31afa6dc8..f21e3a684 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -235,16 +235,14 @@ perl-module_src_configure() {
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" "Needs to depend 
on Module-Build-Tiny"
+   eerror "QA Notice: The ebuild uses 
Module::Build::Tiny but doesn't depend on it."
+   die" Add dev-perl/Module-Build-Tiny to 
DEPEND!"
fi
else
einfo "Using Module::Build"
if [[ ${DEPEND} != *virtual/perl-Module-Build* && 
${DEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then
-   eqawarn "QA Notice: The ebuild uses 
Module::Build but doesn't depend on it."
-   eqawarn "   Add dev-perl/Module-Build 
to DEPEND!"
-   perl_qafatal "modulebuild" "Needs to depend on 
Module-Build"
+   eerror "QA Notice: The ebuild uses 
Module::Build but doesn't depend on it."
+   die" Add dev-perl/Module-Build to DEPEND!"
fi
fi
set -- \



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 47de0a8955d04e02ef2cebd2b574417229c154f1
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:38:48 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:33 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=47de0a89

perl-module.eclass: ban direct use of perl-module_src_unpack in EAPI6

 eclass/perl-module.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index c07599eab..6460e874a 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -179,7 +179,7 @@ pm_echovar=""
 # This function is to be called during the ebuild src_unpack() phase.
 perl-module_src_unpack() {
debug-print-function $FUNCNAME "$@"
-
+   [[ ${EAPI:-0} == 5 ]] || die "perl-module_src_unpack is banned in 
EAPI=6 or later"
unpacker_src_unpack
has src_prepare ${PERL_EXPF} || perl-module_src_prepare
 }



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 60b86b0b85f41fe4a288410c27f928e27f987c4a
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 03:58:31 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:38 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=60b86b0b

perl-functions.eclass: add (Not in ::gentoo) perl_has_test_opt function

 eclass/perl-functions.eclass | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 1c40dac61..45d4da617 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -862,3 +862,30 @@ perl_get_test_opts() {
fi
echo "${_perl_test_opts}"
 }
+
+# @FUNCTION: perl_has_test_opt
+# @USAGE: 
+# @DESCRIPTION:
+# Compute if a given test flag is enabled by computing a bunch of environment 
values
+#
+# See perl_get_test_opts for the various values and meanings
+#
+# @CODE
+# src_test() {
+#  if ! perl_has_test_opt network; then
+# ...
+#  fi
+#  perl-module_src_test
+# }
+# @CODE
+perl_has_test_opt() {
+   debug-print-function $FUNCNAME "$@"
+   if [[ ! -v _perl_test_opts ]]; then
+   if [[ ${EAPI:-0} == 5 ]]; then
+   _perl_test_opts="$(_perl_get_test_opts_eapi5)"
+   else
+   _perl_test_opts="$(_perl_get_test_opts_eapi6)"
+   fi
+   fi
+   has "$1" ${_perl_test_opts}
+}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: f473f7cbd4bb64ceb543e464565d2b536a3ecc0c
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:40:10 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:33 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=f473f7cb

perl-module.eclass: src_prepare: use epatch_user in EAPI5, else, call default

 eclass/perl-module.eclass | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 0804c044e..21762adfc 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -189,10 +189,15 @@ perl-module_src_unpack() {
 # This function is to be called during the ebuild src_prepare() phase.
 perl-module_src_prepare() {
debug-print-function $FUNCNAME "$@"
-   has src_prepare ${PERL_EXPF} && \
-   [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
-   debug-print "$FUNCNAME: applying user patches"
-   epatch_user
+
+   if [[ ${EAPI:-0} == 5 ]] ; then
+   [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
+   debug-print "$FUNCNAME: applying user patches"
+   epatch_user
+   else
+   default
+   fi
+
if [[ ${PERL_RM_FILES[@]} ]]; then
debug-print "$FUNCNAME: stripping unneeded files"
perl_rm_files "${PERL_RM_FILES[@]}"



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 775dcb129011fbc2b30135ebe963791556fe7232
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:44:02 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:34 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=775dcb12

perl-module.eclass: Remove fallback src_configure calling because EAPI!=5 is 
gone

 eclass/perl-module.eclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index f21e3a684..864ea8474 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -284,8 +284,6 @@ perl-module_src_compile() {
debug-print-function $FUNCNAME "$@"
perl_set_version
 
-   has src_configure ${PERL_EXPF} || perl-module_src_configure
-
if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
local mymake_local=(${mymake})
else



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 8a10fbbec5dcca39cd0680dd47add7925947a208
Author: Kent Fredric  gentoo  org>
AuthorDate: Fri Sep 15 06:25:51 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:35 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=8a10fbbe

perl-module.eclass: Add DIST_EXAMPLES support to EAPI6

 eclass/perl-module.eclass | 17 +
 1 file changed, 17 insertions(+)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index c68d13173..3b4971389 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -139,6 +139,15 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
 # SRC_URI. Only required in rare cases for very special snowflakes.
 # Named MODULE_SECTION in EAPI=5.
 
+# @ECLASS-VARIABLE: DIST_EXAMPLES
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=6) This Bash array allows passing a list of example files to be 
installed
+# in /usr/share/doc/${PF}/examples. If set before inherit, automatically adds
+# a use-flag examples, if not you'll have to add the useflag in your ebuild.
+# Examples are installed only if the useflag examples exists and is activated.
+
+
 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
@@ -166,6 +175,8 @@ else

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}/;
+
+   [[ -z "${DIST_EXAMPLES}" ]] || IUSE+=" examples"
 fi
 
 SRC_PREP="no"
@@ -425,6 +436,12 @@ perl-module_src_install() {
[[ -s ${f} ]] && dodoc ${f}
done
 
+   if [[ ${EAPI:-0} != 5 ]] ; then
+   if in_iuse examples && use examples ; then
+[[ ${#DIST_EXAMPLES[@]} -eq 0 ]] || perl_doexamples 
"${DIST_EXAMPLES[@]}"
+   fi
+   fi
+
perl_link_duallife_scripts
 }
 



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 73a0bc56fb219717618f974a4f1d96ea9fde69c7
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:45:39 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:35 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=73a0bc56

perl-module.eclass: Fatalize pkg_postinst outside perl-core

 eclass/perl-module.eclass | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 18e559d68..bce191e76 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -437,10 +437,8 @@ perl-module_src_install() {
 perl-module_pkg_postinst() {
debug-print-function $FUNCNAME "$@"
if [[ ${CATEGORY} != perl-core ]] ; then
-   eqawarn "perl-module.eclass: You are calling 
perl-module_pkg_postinst outside the perl-core category."
-   eqawarn "   This does not do anything; the call can be safely 
removed."
-   perl_qafatal "function" "$FUNCNAME is private to perl-core"
-   return 0
+   eerror "perl-module.eclass: You are calling 
perl-module_pkg_postinst outside the perl-core category."
+   die"   This does not do anything; the call can be removed."
fi
perl_link_duallife_scripts
 }



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 86642470fc266b5f8a38ad591b67afd6e480e5ad
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:39:17 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:33 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=86642470

perl-module.eclass: stop calling src_prepare in src_unpack

 eclass/perl-module.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 6460e874a..0804c044e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -181,7 +181,6 @@ perl-module_src_unpack() {
debug-print-function $FUNCNAME "$@"
[[ ${EAPI:-0} == 5 ]] || die "perl-module_src_unpack is banned in 
EAPI=6 or later"
unpacker_src_unpack
-   has src_prepare ${PERL_EXPF} || perl-module_src_prepare
 }
 
 # @FUNCTION: perl-module_src_prepare



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: e7a58393c16d853a165ec56d2637d4c1649ff033
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 21:59:56 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:39 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=e7a58393

perl-functions.eclass: Update check_module_version for EAPI6

 eclass/perl-functions.eclass | 22 +-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index e37cf1e53..da444735b 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -57,7 +57,7 @@ perl_diagnostics() {
eerror
 }
 
-perl_check_module_version() {
+_perl_check_module_version_eapi5() {
local REAL_PV
local gpmv="$(type -p gentoo-perlmod-version.pl)"
[[ -n ${MODULE_VERSION} && -n ${gpmv} && -x ${gpmv} ]] || return
@@ -69,6 +69,26 @@ perl_check_module_version() {
fi
 }
 
+_perl_check_module_version_eapi6() {
+   local REAL_PV
+   local gpmv="$(type -p gentoo-perlmod-version.pl)"
+   [[ -n ${DIST_VERSION} && -n ${gpmv} && -x ${gpmv} ]] || return
+   REAL_PV=$( ${gpmv} --oneshot "${DIST_VERSION}" )
+   if [[ -n ${REAL_PV} && ${REAL_PV} != ${PV} ]] ; then
+   eqawarn "QA Notice: Based on DIST_VERSION=${DIST_VERSION} the 
ebuild version ${PV} is wrong!"
+   eqawarn "   The ebuild version should be ${REAL_PV}"
+   perl_qafatal "version" "${REAL_PV} != ${PV}"
+   fi
+}
+
+perl_check_module_version() {
+   debug-print-function $FUNCNAME "$@"
+   if [[ ${EAPI:-0} == 5 ]]; then
+   _perl_check_module_version_eapi5
+   return
+   fi
+   _perl_check_module_version_eapi6
+}
 perlinfo_done=false
 
 # @FUNCTION: perl_set_version



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 85be8a2170d0a7e948ea1dcc7f8760fc0b63ba4a
Author: Kent Fredric  gentoo  org>
AuthorDate: Sat Sep 16 06:29:27 2017 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:39:38 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=85be8a21

perl-functions.eclass: Make PERL_RESTRICT suspect in EAPI6

 eclass/perl-functions.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 45d4da617..ee90324e2 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -706,7 +706,7 @@ perl_check_eapi() {
if [[ ${EAPI:-0} == 5 ]]; then
suspect_vars=( DIST_TEST DIST_VERSION DIST_NAME DIST_AUTHOR 
DIST_A_EXT DIST_A DIST_SECTION DIST_EXAMPLES );
else
-   suspect_vars=( MY_PN MY_PV MODULE_VERSION MY_P MODULE_A 
MODULE_A_EXT MODULE_AUTHOR MODULE_NAME SRC_TEST MODULE_SECTION );
+   suspect_vars=( MY_PN MY_PV MODULE_VERSION MY_P MODULE_A 
MODULE_A_EXT MODULE_AUTHOR MODULE_NAME SRC_TEST MODULE_SECTION PERL_RESTRICT );
fi
for i in "${suspect_vars[@]}"; do
[[ -v $i ]] || continue;



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2017-09-16 Thread Kent Fredric
commit: 1c9856f0a34d8538ebb3a20b7936b6a6a99bc200
Author: Kent Fredric  gmail  com>
AuthorDate: Mon Apr 11 06:40:31 2016 +
Commit: Kent Fredric  gentoo  org>
CommitDate: Sun Sep 17 00:07:33 2017 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=1c9856f0

perl-module.eclass: src_prepare: stop calling esvn_clean

 eclass/perl-module.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 21762adfc..aea9a2230 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -203,7 +203,6 @@ perl-module_src_prepare() {
perl_rm_files "${PERL_RM_FILES[@]}"
fi
perl_fix_osx_extra
-   esvn_clean
 }
 
 # @FUNCTION: perl-module_src_configure



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-24 Thread Kent Fredric
commit: 58c48f826fda0d1d65dc0d5ffae7fbcb753a4edf
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Thu Jun 25 01:23:44 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Thu Jun 25 01:23:44 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=58c48f82

[eclass] Drop redundant calls to set_eprefix

 eclass/perl-module.eclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 3c7702c..7ad2283 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -123,7 +123,6 @@ perl-module_src_configure() {
perl_check_env
 
perl_set_version
-   perl_set_eprefix
 
[[ -z ${pm_echovar} ]]  export PERL_MM_USE_DEFAULT=1
# Disable ExtUtils::AutoInstall from prompting
@@ -298,7 +297,6 @@ perl-module_src_install() {
debug-print-function $FUNCNAME $@
 
perl_set_version
-   perl_set_eprefix
 
local f
 



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-20 Thread Kent Fredric
commit: 94b98bb0d11bfda14193cdb9c01c4c10d6e6f7ba
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sun Jun 21 00:14:19 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sun Jun 21 00:23:28 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=94b98bb0

[eclass] Add perl-version.eclass which can turn normalised forms into floats

 eclass/perl-version.eclass | 91 ++
 1 file changed, 91 insertions(+)

diff --git a/eclass/perl-version.eclass b/eclass/perl-version.eclass
new file mode 100644
index 000..97022e2
--- /dev/null
+++ b/eclass/perl-version.eclass
@@ -0,0 +1,91 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# @ECLASS: perl-versions.eclass
+# @MAINTAINER:
+# p...@gentoo.org
+# Kent Fredric ken...@cpan.org
+# @BLURB: Perl versioning functions
+# @DESCRIPTION:
+# The perl-version eclass contains an assortment of functions for 
denormalizing versions
+# in order to streamline version bumps and minimise risk of accidental failure 
to update
+# MODULE_VERSION and unify all the ways of turning arbitrary normalised 
versions back into
+# a form used upstream.
+
+# expand-tail 5 = 005
+# expand-tail 5.5 = 005005
+perl-version-expand-tail() {
+   local tail=$1
+   if [ -z ${tail} ]; then
+   echo '000';
+   return;
+   fi
+   # Tail with no segments
+   if [ ${tail%%.*} = ${tail} ]; then
+   printf %03d $tail
+   return;
+   fi
+   local head=${tail%%.*}
+   local rest=$( perl-version-expand-tail ${tail#*.} )
+   printf %03d%s $head $rest;
+   return;
+}
+
+# float 5.1   = 5.001
+# float 5.10  = 5.010
+# float 5.100 = 5.100
+# float 5.1.1 = 5.001001
+perl-version-float() {
+   local version=$1
+   local major=${version%%.*}
+   local tail=${version#*.}
+   if [ $tail = $version ]; then
+   tail=000;
+   else
+   tail=$( perl-version-expand-tail ${tail} )
+   fi
+   printf %s.%s $major $tail;
+   return;
+}
+
+# float_n 5.201.505.200 8 = 5.20150520
+perl-version-float_n() {
+   local version=$1
+   local mantissa=$2
+   local major=${version%%.*}
+   if [ $mantissa -lt 1 ]; then
+   printf %s $major;
+   return;
+   fi
+   local tail=${version#*.}
+   if [ $tail = $version ]; then
+   tail=000;
+   else
+   tail=$( perl-version-expand-tail ${tail} )
+   fi
+   if [ ${#tail} -lt $mantissa ]; then
+   local pad=$(( $mantissa - ${#tail} ));
+   printf %s.%s%0${pad}d ${major} ${tail} 0
+   return
+   fi
+   printf %s.%s ${major} ${tail:0:$mantissa}
+}
+
+# denormalize 5.201.505.200 float_n 8 = 5.20150520
+perl-version-denormalize() {
+   local version=$1;
+   local scheme=$2;
+   shift
+   shift
+   case ${scheme} in
+   float_n)
+   perl-version-float_n $version $@
+   return
+   ;;
+   *)
+   die Unknown version scheme ${scheme}
+   ;;
+   esac
+}
+



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-20 Thread Kent Fredric
commit: 4789b645559d63cf8ec771d76cd66f9fd7937db0
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sun Jun 21 00:24:35 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sun Jun 21 00:24:35 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=4789b645

[eclass] perl-module.eclass can now guess MODULE_VERSION from PV using 
perl-version-denormalize + MODULE_VERSION_SCHEME

 eclass/perl-module.eclass | 5 +
 1 file changed, 5 insertions(+)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index f714e13..3c7702c 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -38,6 +38,11 @@ yes)
;;
 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
+
 case ${PERL_EXPORT_PHASE_FUNCTIONS:-yes} in
yes)
EXPORT_FUNCTIONS ${PERL_EXPF}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-20 Thread Kent Fredric
commit: 294fb5f3cba60c3bb656dc4e1d478873b9c015ca
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sat Jun 20 20:39:15 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sat Jun 20 20:39:15 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=294fb5f3

[eclass] drop support for EAPIs other than 5 and 2 entirely

 eclass/perl-module.eclass | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index d2e5522..c768b43 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -18,12 +18,7 @@ inherit eutils multiprocessing unpacker perl-functions
 PERL_EXPF=src_unpack src_compile src_test src_install
 
 case ${EAPI:-0} in
-   0|1)
-   eqawarn $P: EAPI 0 and 1 are deprecated both in ::gentoo and 
::perl-experimental
-   perl_qafatal eapi EAPI 0 and 1 are deprecated;
-   PERL_EXPF+= pkg_setup pkg_preinst pkg_postinst pkg_prerm 
pkg_postrm
-   ;;
-   2|3|4|5)
+   2|5)
PERL_EXPF+= src_prepare src_configure
[[ ${CATEGORY} == perl-core ]]  \
PERL_EXPF+= pkg_postinst pkg_postrm



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-20 Thread Kent Fredric
commit: 35ef1cad1e30d52dcf72550460433478f2506c07
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sat Jun 20 21:32:05 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sat Jun 20 21:32:05 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=35ef1cad

[eclass] Drop support for all EAPIS under 5

 eclass/perl-functions.eclass | 23 ++-
 eclass/perl-module.eclass| 43 ---
 2 files changed, 22 insertions(+), 44 deletions(-)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index d9a5343..e3a6640 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -11,6 +11,12 @@
 # The perl-functions eclass is a collection of perl-specific utilities
 # that may be useful in non-CPAN based ebuilds.
 
+case ${EAPI:-0} in
+   5)  ;;
+   *)  die EAPI=${EAPI} is not supported by perl-functions.eclass
+   ;;
+esac
+
 perl_diagnostics() {
local d
d=${T}/perl-diagnostics.log
@@ -125,8 +131,6 @@ perl_fix_osx_extra() {
 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
@@ -213,8 +217,6 @@ perl_link_duallife_scripts() {
return 0
fi
 
-   perl_set_eprefix
-
local i ff execdir mandir
 
execdir=usr/share/perl-${P}/bin
@@ -290,19 +292,6 @@ perl_qafatal() {
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
-}
-
 # @FUNCTION: perl_check_env
 # @USAGE: perl_check_env
 # @DESCRIPTION:

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 99171f4..f714e13 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -15,38 +15,27 @@
 inherit eutils multiprocessing unpacker perl-functions
 [[ ${CATEGORY} == perl-core ]]  inherit alternatives
 
-PERL_EXPF=src_unpack src_compile src_test src_install
+PERL_EXPF=src_unpack src_compile src_test src_install src_prepare 
src_configure
+[[ ${CATEGORY} == perl-core ]]  PERL_EXPF+= pkg_postinst pkg_postrm
 
 case ${EAPI:-0} in
-   2|5)
-   PERL_EXPF+= src_prepare src_configure
-   [[ ${CATEGORY} == perl-core ]]  \
-   PERL_EXPF+= pkg_postinst pkg_postrm
-
-   case ${GENTOO_DEPEND_ON_PERL:-yes} in
-   yes)
-   case ${EAPI:-0} in
-   5)
-   case ${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes} in
-   yes)
-   DEPEND=dev-lang/perl:=[-build(-)]
-   ;;
-   *)
-   DEPEND=dev-lang/perl[-build(-)]
-   ;;
-   esac
-   ;;
-   *)
-   DEPEND=|| ( =dev-lang/perl-5.16 
dev-lang/perl-5.16[-build] )
-   ;;
-   esac
-   RDEPEND=${DEPEND}
-   ;;
-   esac
+   5)  ;;
+   *)  die EAPI=${EAPI} is not supported by perl-module.eclass
+   ;;
+esac
+
+case ${GENTOO_DEPEND_ON_PERL:-yes} in
+yes)
+   case ${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes} in
+   yes)
+   DEPEND=dev-lang/perl:=[-build(-)]
;;
*)
-   die EAPI=${EAPI} is not supported by perl-module.eclass
+   DEPEND=dev-lang/perl[-build(-)]
;;
+   esac
+   RDEPEND=${DEPEND}
+   ;;
 esac
 
 case ${PERL_EXPORT_PHASE_FUNCTIONS:-yes} in



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-20 Thread Kent Fredric
commit: 6a6f9cad155f25b3a6bcdb9cf12df83cd057aac9
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sat Jun 20 20:30:29 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sat Jun 20 20:30:29 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=6a6f9cad

[eclass] Split all non-phase functions in use into perl-functions.eclass

 eclass/perl-functions.eclass | 355 +++
 eclass/perl-module.eclass| 343 +
 2 files changed, 356 insertions(+), 342 deletions(-)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
new file mode 100644
index 000..d9a5343
--- /dev/null
+++ b/eclass/perl-functions.eclass
@@ -0,0 +1,355 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# @ECLASS: perl-functions.eclass
+# @MAINTAINER:
+# p...@gentoo.org
+# Seemant Kulleen seem...@gentoo.org
+# @BLURB: perl utility functions
+# @DESCRIPTION:
+# The perl-functions eclass is a collection of perl-specific utilities
+# that may be useful in non-CPAN based ebuilds.
+
+perl_diagnostics() {
+   local d
+   d=${T}/perl-diagnostics.log
+   [[ -e ${d} ]]  return
+   :  $d
+
+   {
+   echo perl: $(type -p perl)
+   echo
+   echo ENV values:
+   env | grep -E '^(PERL|HOME=|MANPATH|PATH|TEST|GENTOO_PERL)'
+   echo
+   echo perl -V:
+   perl -V 21
+   echo
+   if type -p perl-info 2/dev/null ; then
+   echo perl-info output:
+   echo
+   perl-info
+   echo
+   fi
+   echo Corelist Versions:
+   perl -MModule::CoreList -e 'for $mod ( 
Module::CoreList-find_modules(qr/^/) ) { eval require $mod; print q[$mod : ] 
. \$${mod}::VERSION . qq[\n]; 1 or print qq{\e[31mNA: $mod\e[0m\n};}'
+   }  $d
+
+   eerror
+   eerror -- Gentoo Perl Team specific bug reporting request --
+   eerror Please attach the contents of the following file with your bug 
report:
+   eerror  $d
+   eerror
+}
+
+perl_check_module_version() {
+   local REAL_PV
+   local gpmv=$(type -p gentoo-perlmod-version.pl)
+   [[ -n ${MODULE_VERSION}  -n ${gpmv}  -x ${gpmv} ]] || return
+   REAL_PV=$( ${gpmv} --oneshot ${MODULE_VERSION} )
+   if [[ -n ${REAL_PV}  ${REAL_PV} != ${PV} ]] ; then
+   eqawarn QA Notice: Based on MODULE_VERSION=${MODULE_VERSION} 
the ebuild version ${PV} is wrong!
+   eqawarnThe ebuild version should be ${REAL_PV}
+   perl_qafatal version ${REAL_PV} != ${PV}
+   fi
+}
+
+# @FUNCTION: perl_set_version
+# @USAGE: perl_set_version
+# @DESCRIPTION:
+# Extract version information and installation paths from the current Perl
+# interpreter.
+#
+# This sets the following variables: PERL_VERSION, SITE_ARCH, SITE_LIB,
+# ARCH_LIB, VENDOR_LIB, VENDOR_ARCH
+#
+# This function used to be called perlinfo as well.
+perl_set_version() {
+   debug-print-function $FUNCNAME $@
+   debug-print $FUNCNAME: perlinfo_done=${perlinfo_done}
+   ${perlinfo_done}  return 0
+   perlinfo_done=true
+
+   perl_check_module_version
+
+   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}
+}
+
+# @FUNCTION: perl_delete_localpod
+# @USAGE: perl_delete_localpod
+# @DESCRIPTION:
+# Remove stray perllocal.pod files in the temporary install directory D.
+#
+# This function used to be called fixlocalpod as well.
+perl_delete_localpod() {
+   debug-print-function $FUNCNAME $@
+
+   find ${D} -type f -name perllocal.pod -delete
+   find ${D} -depth -mindepth 1 -type d -empty -delete
+}
+
+# @FUNCTION: perl_fix_osx_extra
+# @USAGE: perl_fix_osx_extra
+# @DESCRIPTION:
+# Look through ${S} for AppleDouble encoded files and get rid of them.
+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
+}
+
+# @FUNCTION: perl_delete_module_manpages
+# @USAGE: 

[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-06-20 Thread Kent Fredric
commit: b335766ad3ded55d068fb863672e45a22f0d6b85
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sat Jun 20 20:40:08 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sat Jun 20 20:40:08 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=b335766a

[eclass] Remove redundant and deprecated functions

 eclass/perl-module.eclass | 72 ---
 1 file changed, 72 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index c768b43..99171f4 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -188,21 +188,6 @@ perl-module_src_configure() {
fi
 }
 
-# @FUNCTION: perl-module_src_prep
-# @USAGE: perl-module_src_prep
-# @DESCRIPTION:
-# Configure the ebuild sources (bis).
-#
-# This function is still around for historical reasons
-# and will be soon deprecated.
-#
-# Please use the function above instead, perl-module_src_configure().
-perl-module_src_prep() {
-   debug-print-function $FUNCNAME $@
-   ewarn perl-modules.eclass: perl-module_src_prep is deprecated and will 
be removed. Please use perl-module_src_configure instead.
-   perl-module_src_configure
-}
-
 # @FUNCTION: perl-module_src_compile
 # @USAGE: perl-module_src_compile
 # @DESCRIPTION:
@@ -355,28 +340,6 @@ perl-module_src_install() {
perl_link_duallife_scripts
 }
 
-# @FUNCTION: perl-module_pkg_setup
-# @USAGE: perl-module_pkg_setup
-# @DESCRIPTION:
-# This function was to be called during the pkg_setup() phase.
-# Deprecated, to be removed. Where it is called, place a call to 
perl_set_version instead.
-perl-module_pkg_setup() {
-   debug-print-function $FUNCNAME $@
-   ewarn perl-modules.eclass: perl-module_pkg_setup is deprecated and 
will be removed. Please use perl_set_version instead.
-   perl_set_version
-}
-
-# @FUNCTION: perl-module_pkg_preinst
-# @USAGE: perl-module_pkg_preinst
-# @DESCRIPTION:
-# This function was to be called during the pkg_preinst() phase.
-# Deprecated, to be removed. Where it is called, place a call to 
perl_set_version instead.
-perl-module_pkg_preinst() {
-   debug-print-function $FUNCNAME $@
-   ewarn perl-modules.eclass: perl-module_pkg_preinst is deprecated and 
will be removed. Please use perl_set_version instead.
-   perl_set_version
-}
-
 # @FUNCTION: perl-module_pkg_postinst
 # @USAGE: perl-module_pkg_postinst
 # @DESCRIPTION:
@@ -395,16 +358,6 @@ perl-module_pkg_postinst() {
perl_link_duallife_scripts
 }
 
-# @FUNCTION: perl-module_pkg_prerm
-# @USAGE: perl-module_pkg_prerm
-# @DESCRIPTION:
-# This function was to be called during the pkg_prerm() phase.
-# It does not do anything. Deprecated, to be removed.
-perl-module_pkg_prerm() {
-   debug-print-function $FUNCNAME $@
-   ewarn perl-module.eclass: perl-module_pkg_prerm does not do anything 
and will be removed. Please remove the call.
-}
-
 # @FUNCTION: perl-module_pkg_postrm
 # @USAGE: perl-module_pkg_postrm
 # @DESCRIPTION:
@@ -424,28 +377,3 @@ perl-module_pkg_postrm() {
 }
 
 has perl_diagnostics ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+= 
perl_diagnostics
-
-
-# @FUNCTION: perlinfo
-# @USAGE: perlinfo
-# @DESCRIPTION:
-# This function is deprecated.
-#
-# Please use the function above instead, perl_set_version().
-perlinfo() {
-   debug-print-function $FUNCNAME $@
-   ewarn perl-modules.eclass: perlinfo is deprecated and will be removed. 
Please use perl_set_version instead.
-   perl_set_version
-}
-
-# @FUNCTION: fixlocalpod
-# @USAGE: fixlocalpod
-# @DESCRIPTION:
-# This function is deprecated.
-#
-# Please use the function above instead, perl_delete_localpod().
-fixlocalpod() {
-   debug-print-function $FUNCNAME $@
-   ewarn perl-modules.eclass: fixlocalpod is deprecated and will be 
removed. Please use perl_delete_localpod instead.
-   perl_delete_localpod
-}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-03-26 Thread Kent Fredric
commit: 065a21548221b32109f3567c95c5a5ef02b25ec2
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Thu Mar 26 12:12:52 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Thu Mar 26 12:12:52 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=065a2154

[eclass/perl-declaredeps.eclass] Mark this ancient eclass experiment as 
deprecated and slate for removal

 eclass/perl-declaredeps.eclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eclass/perl-declaredeps.eclass b/eclass/perl-declaredeps.eclass
index 8c9d1fe..f10c1bc 100644
--- a/eclass/perl-declaredeps.eclass
+++ b/eclass/perl-declaredeps.eclass
@@ -38,6 +38,9 @@
 
 case ${EAPI:-0} in
4)
+   eerror perl-declaredeps:THIS ECLASS IS FULLY DEPRECATED and 
will begin fataling after April 10, 2015.
+   eerror If you need it to work after that point, replicate it 
to your overlay
+   eerror  -- in ${CATEGORY}/${PF}
;;
*)
die perl-declaredeps needs EAPI4;



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-03-15 Thread Kent Fredric
commit: 2ffb3fed8273157c85bbb4eb0ff1577393b77fe9
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sun Mar 15 16:29:13 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sun Mar 15 16:29:13 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=2ffb3fed

[perl-module.eclass] Sync with dilfridge's changes from bug 543042

 eclass/perl-module.eclass | 33 -
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index f71753e..71f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.161 
2014/12/17 16:40:53 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.163 
2015/03/14 14:32:10 dilfridge Exp $
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
@@ -752,10 +752,8 @@ perl_set_eprefix() {
 # Checks a blacklist of known-suspect ENV values that can be accidentally set 
by users
 # doing personal perl work, which may accidentally leak into portage and break 
the
 # system perl installaton.
-# Dies if any of the suspect fields are found, and tells users the 
circumvention options
-# for the problem, whether it be unsetting the bad fields, or setting
-# I_KNOW_WHAT_IM_DOING=1
-
+# Dies if any of the suspect fields are found, and tell the user what needs to 
be unset.
+# There's a workaround, but you'll have to read the code for it.
 perl_check_env() {
local errored value;
 
@@ -765,26 +763,35 @@ perl_check_env() {
 
# Warn only once, and warn only when one of the bad values are 
set.
# record failure here.
-   [ ${errored:-0} == 0 ]  \
-   ewarn perl-module.eclass: Suspect ENV values found.;
-
+   if [ ${errored:-0} == 0 ]; then
+   if [ -n ${I_KNOW_WHAT_I_AM_DOING} ]; then
+   elog perl-module.eclass: Suspicious 
environment values found.;
+   else
+   eerror perl-module.eclass: Suspicious 
environment values found.;
+   fi
+   fi
errored=1
 
# Read ENV Value
eval value=\$$i;
 
# Print ENV name/value pair
-   ewarn $i=\$value\;
+   if [ -n ${I_KNOW_WHAT_I_AM_DOING} ]; then
+   elog $i=\$value\;
+   else
+   eerror $i=\$value\;
+   fi
done
 
# Return if there were no failures
[ ${errored:-0} == 0 ]  return;
 
# Return if user knows what they're doing
-   if [ ${I_KNOW_WHAT_IM_DOING:-0} == 1 ]; then
-   ewarn Continuing due to I_KNOW_WHAT_IM_DOING=1
+   if [ -n ${I_KNOW_WHAT_I_AM_DOING} ]; then
+   elog Continuing anyway, seems you know what you're doing.
return
fi
 
-   die Please unset from ENV ( ~/.bashrc, package.env, etc ) or set 
I_KNOW_WHAT_IM_DOING=1
+   eerror Your environment settings may lead to undefined behavior and/or 
build failures.
+   die Please fix your environment ( ~/.bashrc, package.env, ... ), see 
above for details.
 }



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-03-14 Thread Kent Fredric
commit: 5f8e66084195ff46a00c8e86fe0ce9c734e026e9
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sun Mar 15 05:04:24 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sun Mar 15 05:04:24 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=5f8e6608

[perl-module.eclass] make perl_qawarn invocations have clearer errors under 
PERL_QAFATAL

 eclass/perl-module.eclass | 47 ---
 1 file changed, 32 insertions(+), 15 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index dcf8620..f71753e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -20,7 +20,7 @@ PERL_EXPF=src_unpack src_compile src_test src_install
 case ${EAPI:-0} in
0|1)
eqawarn $P: EAPI 0 and 1 are deprecated both in ::gentoo and 
::perl-experimental
-   perl_qafatal eapi;
+   perl_qafatal eapi EAPI 0 and 1 are deprecated;
PERL_EXPF+= pkg_setup pkg_preinst pkg_postinst pkg_prerm 
pkg_postrm
;;
2|3|4|5)
@@ -152,14 +152,14 @@ perl-module_src_configure() {
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.
eqawarnAdd 
dev-perl/Module-Build-Tiny to DEPEND!
-   perl_qafatal modulebuildtiny
+   perl_qafatal modulebuildtiny Needs to depend 
on Module-Build-Tiny
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.
eqawarnAdd 
virtual/perl-Module-Build to DEPEND!
-   perl_qafatal modulebuild
+   perl_qafatal modulebuild Needs to depend on 
Module-Build
fi
fi
set -- \
@@ -394,7 +394,7 @@ perl-module_pkg_postinst() {
if [[ ${CATEGORY} != perl-core ]] ; then
eqawarn perl-module.eclass: You are calling 
perl-module_pkg_postinst outside the perl-core category.
eqawarnThis does not do anything; the call can be safely 
removed.
-   perl_qafatal function
+   perl_qafatal function $FUNCNAME is private to perl-core
return 0
fi
perl_link_duallife_scripts
@@ -422,7 +422,7 @@ perl-module_pkg_postrm() {
if [[ ${CATEGORY} != perl-core ]] ; then
eqawarn perl-module.eclass: You are calling 
perl-module_pkg_postrm outside the perl-core category.
eqawarnThis does not do anything; the call can be safely 
removed.
-   perl_qafatal function
+   perl_qafatal function $FUNCNAME is private to perl-core
return 0
fi
perl_link_duallife_scripts
@@ -470,7 +470,7 @@ perl_check_module_version() {
if [[ -n ${REAL_PV}  ${REAL_PV} != ${PV} ]] ; then
eqawarn QA Notice: Based on MODULE_VERSION=${MODULE_VERSION} 
the ebuild version ${PV} is wrong!
eqawarnThe ebuild version should be ${REAL_PV}
-   perl_qafatal version
+   perl_qafatal version ${REAL_PV} != ${PV}
fi
 }
 
@@ -658,33 +658,49 @@ perl_link_duallife_scripts() {
 
perl_set_eprefix
 
-   local i ff
+   local i ff execdir mandir
+
+   execdir=usr/share/perl-${P}/bin
+   mandir=usr/share/perl-${P}/man/man1
+
if has ${EBUILD_PHASE:-none} postinst postrm ; then
for i in ${DUALLIFESCRIPTS[@]} ; do
+   alternatives_auto_makesym /${i}-${PV} 
${EROOT}${execdir}/${i##*/}
alternatives_auto_makesym /${i} /${i}-[0-9]*
done
for i in ${DUALLIFEMAN[@]} ; do
-   ff=`echo ${EROOT}/${i%.1}-${PV}-${P}.1*`
+   # Expand $i to a full path as it was installed,
+   # which may add .gz or whatever to the end during 
compress.
+   # then boil it till you just get .gz
+   ff=${EROOT}${mandir}/${i##*/};
+   ff=$( echo ${ff%.1}.1* );
ff=${ff##*.1}
-   alternatives_auto_makesym /${i}${ff} /${i%.1}-[0-9]*
+   alternatives_auto_makesym /${i%.1}-${PV}.1${ff} 
${EROOT}${mandir}/${i##*/}${ff}
+   alternatives_auto_makesym /${i}${ff} 
/${i%.1}-[0-9]*.1${ff}
done
else
pushd ${ED}  /dev/null

[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2015-03-14 Thread Kent Fredric
commit: 4abc0cf75db47cf0389e3bd126487168e5ded370
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sun Mar 15 03:28:14 2015 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sun Mar 15 03:32:17 2015 +
URL:https://gitweb.gentoo.org/proj/perl-overlay.git/commit/?id=4abc0cf7

[perl-module.eclass] Add perl_check_env patch re bug 543042

 eclass/perl-module.eclass | 45 +
 1 file changed, 45 insertions(+)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 593a030..dcf8620 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -131,6 +131,8 @@ perl-module_src_configure() {
[[ ${SRC_PREP} = yes ]]  return 0
SRC_PREP=yes
 
+   perl_check_env
+
perl_set_version
perl_set_eprefix
 
@@ -726,3 +728,46 @@ perl_set_eprefix() {
;;
esac
 }
+
+# @FUNCTION: perl_check_env
+# @USAGE: perl_check_env
+# @DESCRIPTION:
+# Checks a blacklist of known-suspect ENV values that can be accidentally set 
by users
+# doing personal perl work, which may accidentally leak into portage and break 
the
+# system perl installaton.
+# Dies if any of the suspect fields are found, and tells users the 
circumvention options
+# for the problem, whether it be unsetting the bad fields, or setting
+# I_KNOW_WHAT_IM_DOING=1
+
+perl_check_env() {
+   local errored value;
+
+   for i in PERL_MM_OPT PERL5LIB PERL5OPT PERL_MB_OPT PERL_CORE 
PERLPREFIX; do
+   # Next unless match
+   [ -v $i ] || continue;
+
+   # Warn only once, and warn only when one of the bad values are 
set.
+   # record failure here.
+   [ ${errored:-0} == 0 ]  \
+   ewarn perl-module.eclass: Suspect ENV values found.;
+
+   errored=1
+
+   # Read ENV Value
+   eval value=\$$i;
+
+   # Print ENV name/value pair
+   ewarn $i=\$value\;
+   done
+
+   # Return if there were no failures
+   [ ${errored:-0} == 0 ]  return;
+
+   # Return if user knows what they're doing
+   if [ ${I_KNOW_WHAT_IM_DOING:-0} == 1 ]; then
+   ewarn Continuing due to I_KNOW_WHAT_IM_DOING=1
+   return
+   fi
+
+   die Please unset from ENV ( ~/.bashrc, package.env, etc ) or set 
I_KNOW_WHAT_IM_DOING=1
+}



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-12-23 Thread Kent Fredric
commit: 47a31f879a0c5d3a25621cde73d4a8539ef0a02c
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Tue Dec 23 14:41:59 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Tue Dec 23 14:41:59 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=47a31f87

perl-module.eclass: Synchronise a lot of changes from ::gentoo

---
 eclass/perl-module.eclass | 165 +-
 1 file changed, 149 insertions(+), 16 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index dd7ffc2..df4f87f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.139 
2014/03/30 19:25:14 zlogene Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.161 
2014/12/17 16:40:53 dilfridge Exp $
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
@@ -65,7 +65,7 @@ case ${PERL_EXPORT_PHASE_FUNCTIONS:-yes} in
;;
 esac
 
-LICENSE=${LICENSE:-|| ( Artistic GPL-1 GPL-2 GPL-3 )}
+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
@@ -88,12 +88,23 @@ PREFER_BUILDPL=yes
 pm_echovar=
 perlinfo_done=false
 
+# @FUNCTION: perl-module_src_unpack
+# @USAGE: perl-module_src_unpack
+# @DESCRIPTION:
+# Unpack the ebuild tarball(s).
+# This function is to be called during the ebuild src_unpack() phase.
 perl-module_src_unpack() {
debug-print-function $FUNCNAME $@
+
unpacker_src_unpack
has src_prepare ${PERL_EXPF} || perl-module_src_prepare
 }
 
+# @FUNCTION: perl-module_src_prepare
+# @USAGE: perl-module_src_prepare
+# @DESCRIPTION:
+# Get the ebuild sources ready.
+# This function is to be called during the ebuild src_prepare() phase.
 perl-module_src_prepare() {
debug-print-function $FUNCNAME $@
has src_prepare ${PERL_EXPF}  \
@@ -108,13 +119,14 @@ perl-module_src_prepare() {
esvn_clean
 }
 
+# @FUNCTION: perl-module_src_configure
+# @USAGE: perl-module_src_configure
+# @DESCRIPTION:
+# Configure the ebuild sources.
+# This function is to be called during the ebuild src_configure() phase.
 perl-module_src_configure() {
debug-print-function $FUNCNAME $@
-   perl-module_src_prep
-}
 
-perl-module_src_prep() {
-   debug-print-function $FUNCNAME $@
[[ ${SRC_PREP} = yes ]]  return 0
SRC_PREP=yes
 
@@ -172,11 +184,31 @@ perl-module_src_prep() {
fi
 }
 
+# @FUNCTION: perl-module_src_prep
+# @USAGE: perl-module_src_prep
+# @DESCRIPTION:
+# Configure the ebuild sources (bis).
+#
+# This function is still around for historical reasons
+# and will be soon deprecated.
+#
+# Please use the function above instead, perl-module_src_configure().
+perl-module_src_prep() {
+   debug-print-function $FUNCNAME $@
+   ewarn perl-modules.eclass: perl-module_src_prep is deprecated and will 
be removed. Please use perl-module_src_configure instead.
+   perl-module_src_configure
+}
+
+# @FUNCTION: perl-module_src_compile
+# @USAGE: perl-module_src_compile
+# @DESCRIPTION:
+# Compile the ebuild sources.
+# This function is to be called during the ebuild src_compile() phase.
 perl-module_src_compile() {
debug-print-function $FUNCNAME $@
perl_set_version
 
-   has src_configure ${PERL_EXPF} || perl-module_src_prep
+   has src_configure ${PERL_EXPF} || perl-module_src_configure
 
if [[ $(declare -p mymake 2-) != declare -a mymake=* ]]; then
local mymake_local=(${mymake})
@@ -274,6 +306,11 @@ perl-module_src_test() {
fi
 }
 
+# @FUNCTION: perl-module_src_install
+# @USAGE: perl-module_src_install
+# @DESCRIPTION:
+# Install a Perl ebuild.
+# This function is to be called during the ebuild src_install() phase.
 perl-module_src_install() {
debug-print-function $FUNCNAME $@
 
@@ -315,35 +352,72 @@ perl-module_src_install() {
perl_link_duallife_scripts
 }
 
+# @FUNCTION: perl-module_pkg_setup
+# @USAGE: perl-module_pkg_setup
+# @DESCRIPTION:
+# This function was to be called during the pkg_setup() phase.
+# Deprecated, to be removed. Where it is called, place a call to 
perl_set_version instead.
 perl-module_pkg_setup() {
debug-print-function $FUNCNAME $@
+   ewarn perl-modules.eclass: perl-module_pkg_setup is deprecated and 
will be removed. Please use perl_set_version instead.
perl_set_version
 }
 
+# @FUNCTION: perl-module_pkg_preinst
+# @USAGE: perl-module_pkg_preinst
+# @DESCRIPTION:
+# This function was to be called during the pkg_preinst() phase.
+# Deprecated, to be removed. Where it is called, place a call to 
perl_set_version instead.
 

[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-12-23 Thread Kent Fredric
commit: c008440b0904162ae204b26c98e9bd07f958a107
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Tue Dec 23 17:44:36 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Tue Dec 23 17:46:06 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=c008440b

perl-module.eclass: move PERLQAFATAL handling to its own function and extend 
its featureset

---
 eclass/perl-module.eclass | 42 ++
 1 file changed, 38 insertions(+), 4 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index df4f87f..70f7d0f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -20,6 +20,7 @@ PERL_EXPF=src_unpack src_compile src_test src_install
 case ${EAPI:-0} in
0|1)
eqawarn $P: EAPI 0 and 1 are deprecated both in ::gentoo and 
::perl-experimental
+   perl_qafatal eapi;
PERL_EXPF+= pkg_setup pkg_preinst pkg_postinst pkg_prerm 
pkg_postrm
;;
2|3|4|5)
@@ -148,10 +149,7 @@ perl-module_src_configure() {
if [[ ${DEPEND} != *virtual/perl-Module-Build*  ${PN} != 
Module-Build ]] ; then
eqawarn QA Notice: The ebuild uses Module::Build but 
doesn't depend on it.
eqawarnAdd virtual/perl-Module-Build to 
DEPEND!
-   if [[ -n ${PERLQAFATAL} ]]; then
-   eerror Bailing out due to PERLQAFATAL=1;
-   die;
-   fi
+   perl_qafatal modulebuild
fi
set -- \
--installdirs=vendor \
@@ -386,6 +384,7 @@ perl-module_pkg_postinst() {
if [[ ${CATEGORY} != perl-core ]] ; then
eqawarn perl-module.eclass: You are calling 
perl-module_pkg_postinst outside the perl-core category.
eqawarnThis does not do anything; the call can be safely 
removed.
+   perl_qafatal function
return 0
fi
perl_link_duallife_scripts
@@ -413,6 +412,7 @@ perl-module_pkg_postrm() {
if [[ ${CATEGORY} != perl-core ]] ; then
eqawarn perl-module.eclass: You are calling 
perl-module_pkg_postrm outside the perl-core category.
eqawarnThis does not do anything; the call can be safely 
removed.
+   perl_qafatal function
return 0
fi
perl_link_duallife_scripts
@@ -460,6 +460,7 @@ perl_check_module_version() {
if [[ -n ${REAL_PV}  ${REAL_PV} != ${PV} ]] ; then
eqawarn QA Notice: Based on MODULE_VERSION=${MODULE_VERSION} 
the ebuild version ${PV} is wrong!
eqawarnThe ebuild version should be ${REAL_PV}
+   perl_qafatal version
fi
 }
 
@@ -672,6 +673,39 @@ perl_link_duallife_scripts() {
fi
 }
 
+# @FUNCTION: perl_qafatal
+# @USAGE: perl_qafatal TYPE
+# @DESCRIPTION:
+# Invoking this method after eqawarn's allows an entry point for the eclass to 
trigger
+# a fatal exit if the user has PERL_QAFATAL set.
+#
+# The value TYPE will be used to optionally allow the user to filter certain 
QA Types.
+# TYPE = eapi   : Legacy EAPI warnings
+# TYPE = modulebuild: Failure to include Module-Build as a dependency.
+# TYPE = modulebuildtiny : Failure to include Module-Build-Tiny as a dependency
+# TYPE = function   : Use of a deprecated function
+# TYPE = version: version and expected version missmatch
+#
+# PERL_QAFATAL:
+#  == 1  - Fatal for all types
+#  has all   - Fatal for all types
+#  has $type - Fatal for $type
+perl_qafatal() {
+   local failtype=$1
+   if [[ ${PERLQAFATAL:-0} == 1 ]]; then
+   eerror Bailing out due to PERLQAFATAL including $failtype 
(==1);
+   die;
+   fi
+   if has 'all' ${PERLQAFATAL}; then
+   eerror Bailing out due to PERLQAFATAL including $failtype 
(all);
+   die;
+   fi
+   if has $failtype ${PERLQAFATAL}; then
+   eerror Bailing out due to PERLQAFATAL including $1;
+   die;
+   fi
+}
+
 perl_set_eprefix() {
debug-print-function $FUNCNAME $@
case ${EAPI:-0} in



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-12-23 Thread Kent Fredric
commit: 49ec79fcc3863ca26369ceb1ded509c0cdc36165
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Tue Dec 23 17:50:54 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Tue Dec 23 18:01:25 2014 +
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.
-   eqawarnAdd 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.
+   eqawarnAdd 
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.
+   eqawarnAdd 
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



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-10-11 Thread Kent Fredric
commit: d709c163243c21f1338ede069911aa9906fd0c87
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sat Oct 11 17:19:49 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sat Oct 11 17:19:49 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=d709c163

[eclass] perl-module.eclass: EQAWarn on EAPI0 and 1

---
 eclass/perl-module.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 1dc824e..a61f6d1 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -19,6 +19,7 @@ PERL_EXPF=src_unpack src_compile src_test src_install
 
 case ${EAPI:-0} in
0|1)
+   eqawarn $P: EAPI 0 and 1 are deprecated both in ::gentoo and 
::perl-experimental
PERL_EXPF+= pkg_setup pkg_preinst pkg_postinst pkg_prerm 
pkg_postrm
;;
2|3|4|5)



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-10-11 Thread Kent Fredric
commit: fa40465a56e6b0f5484c8a1994d3270ee0316d38
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sat Oct 11 18:09:17 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sat Oct 11 18:09:17 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=fa40465a

[eclass] perl-module.eclass: default tests and parallel testing to ON.

This is a respectable change that needs much testing, and is a staging
test for ::gentoo to see how it works out.

Gentoo has only planned to phase in this kind of behaviour in, or after,
   EAPI6, so I'm chasing the concepts tail to make sure it will
   work.

Thus, the behaviour is now On by default in **all** EAPIs.

Things that break, please file bugs to have RESTRICT=test,
   PERL_RESTRICT=parallel-test or PERL_RESTRICT=network-test where
   applicable.

Also, there's a new user ENV control flag for those who want it,
  USER_PERL_RESTRICT.

  Adding parallel-test to this will disable parallel testing globally
  if its too much of a problem for you.

  Adding network-test will make Gentoo do their best to skip testing
  where network interaction is involved.

Enjoy.

---
 eclass/perl-module.eclass | 89 ++-
 1 file changed, 64 insertions(+), 25 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index a61f6d1..dd7ffc2 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -198,40 +198,79 @@ perl-module_src_compile() {
fi
 }
 
-# For testers:
-#  This code attempts to work out your threadingness from MAKEOPTS
-#  and apply them to Test::Harness.
+# Starting 2014-10-12:
 #
-#  If you want more verbose testing, set TEST_VERBOSE=1
-#  in your bashrc | /etc/make.conf | ENV
+# AUTHORS:
 #
-# For ebuild writers:
-#  If you wish to enable default tests w/ 'make test' ,
+# - src_test is enabled by default
+# - if tests dont work or should not be run, modify your ebuild to use 
RESTRICT=test
+# - parallel testing is enabled by default
+# - if parallel testing breaks an ebuild, turn it off with 
PERL_RESTRICT=parallel-test
+# - if your ebuild calls out to network, set PERL_RESTRICT=network-test and it 
will normally do nothing different.
 #
-#   SRC_TEST=do
+# USERS:
 #
-#  If you wish to have threads run in parallel ( using the users makeopts )
-#  all of the following have been tested to work.
+# If you get sick of parallel tests, set USER_PERL_RESTRICT=parallel-test, and 
it will go away.
+# If your environment means you can't run tests that require the network, set 
USER_PERL_RESTRICT=network-test and they'll stop being run
+#  if an author is nice enough to set PERL_RESTRICT=network-test.
 #
-#   SRC_TEST=do parallel
-#   SRC_TEST=parallel
-#   SRC_TEST=parallel do
-#   SRC_TEST=parallel
 #
+# VARIABLES:
+#
+# PERL_RESTRICT:
+#parallel-test - parallel testing is unsupported
+#network-test  - a test requires network access ( File Bugs upstream 
to use NO_NETWORK_TESTING )
+# USER_PERL_RESTRICT:
+#parallel-test - never do parallel testing
+#network-test  - never run tests that require network access
+# SRC_TEST:
+#No longer used and completely ignored
 
 perl-module_src_test() {
debug-print-function $FUNCNAME $@
-   if has 'do' ${SRC_TEST} || has 'parallel' ${SRC_TEST} ; then
-   if has ${TEST_VERBOSE:-0} 0  has 'parallel' ${SRC_TEST} ; 
then
-   export HARNESS_OPTIONS=j$(makeopts_jobs)
-   einfo Test::Harness Jobs=$(makeopts_jobs)
-   fi
-   ${perlinfo_done} || perl_set_version
-   if [[ -f Build ]] ; then
-   ./Build test verbose=${TEST_VERBOSE:-0} || die test 
failed
-   elif [[ -f Makefile ]] ; then
-   emake test TEST_VERBOSE=${TEST_VERBOSE:-0} || die test 
failed
-   fi
+
+   # Turn it off globally per user choice.
+   if has 'parallel-test' ${USER_PERL_RESTRICT}; then
+   einfo Disabling Parallel Testing: 
USER_PERL_RESTRICT=parallel-test;
+   export HARNESS_OPTIONS=;
+
+   # If user has TEST_VERBOSE globally, disable parallelism because 
verboseness
+   # can break parallel testing.
+   elif ! has ${TEST_VERBOSE:-0} 0; then
+   einfo Disabling Parallel Testing: 
TEST_VERBOSE=${TEST_VERBOSE};
+   export HARNESS_OPTIONS=;
+
+   # If ebuild says parallel tests dont work, turn them off.
+   elif has 'parallel-test' ${PERL_RESTRICT}; then
+   einfo Disabling Parallel Testing: PERL_RESTRICT=parallel-test;
+   export HARNESS_OPTIONS=;
+   else
+   # Default is on.
+   einfo Test::Harness Jobs=$(makeopts_jobs)
+   export HARNESS_OPTIONS=j$(makeopts_jobs)
+   fi
+
+   # If a user says USER_PERL_RESTRICT=network-test,
+   # then assume many CPAN 

[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-08-26 Thread Kent Fredric
commit: ff64744a2fdeb36717c350eea48cd4a46fa4f049
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Tue Aug 26 18:54:49 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Tue Aug 26 18:54:49 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=ff64744a

perl-module.eclass: Fix a bunch of bugs in perl_rm_files function. Add 
PERL_RM_FILES bash array to ebuilds that gets pruned automatically during 
src_prepare if defined

---
 eclass/perl-module.eclass | 26 ++
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 6f7b5f4..1dc824e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -99,6 +99,10 @@ perl-module_src_prepare() {
[[ ${PATCHES[@]} ]]  epatch ${PATCHES[@]}
debug-print $FUNCNAME: applying user patches
epatch_user
+   if [[ ${PERL_RM_FILES[@]} ]]; then
+   debug-print $FUNCNAME: stripping unneeded files
+   perl_rm_files ${PERL_RM_FILES[@]}
+   fi
perl_fix_osx_extra
esvn_clean
 }
@@ -442,18 +446,24 @@ perl_remove_temppath() {
 # users about files missing from their kit.
 perl_rm_files() {
debug-print-function $FUNCNAME $@
-   local skipfile=${S}/.gentoo_makefile_skip
-   local manifile=${S}/MANIFEST
-   local manitemp=${S}/.gentoo_manifest_temp
+   local skipfile=${T}/.gentoo_makefile_skip
+   local manifile=${S}/MANIFEST
+   local manitemp=${T}/.gentoo_manifest_temp
+   oldifs=$IFS
+   IFS=\n
for filename in $@; do
einfo Removing un-needed ${filename};
# Remove the file
-   rm ${S}/$filename
-   echo ${filename}  ${skipfile}
+   rm -f ${S}/${filename}
+   [[ -e ${manifile} ]]  echo ${filename}  ${skipfile}
done
-   grep -v -F -f $skipfile $manifile  $manitemp
-   mv $manitemp $manifile
-   rm $skipfile;
+   if [[ -e ${manifile}  -e ${skipfile} ]]; then
+   einfo Fixing Manifest
+   grep -v -F -f ${skipfile} ${manifile}  ${manitemp}
+   mv -f -- ${manitemp} ${manifile}
+   rm -- ${skipfile};
+   fi
+   IFS=$oldifs
 }
 
 perl_link_duallife_scripts() {



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-08-24 Thread Kent Fredric
commit: 2b3eb8fa5687ff501687e12d1c133eccc6e3670e
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Sun Aug 24 12:29:14 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Sun Aug 24 12:29:14 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=2b3eb8fa

add perl_rm_files function to perl-module.eclass ( bug #520756 )

---
 eclass/perl-module.eclass | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index b1d4c2e..6f7b5f4 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -426,6 +426,36 @@ perl_remove_temppath() {
done
 }
 
+# @FUNCTION: perl_rm_files
+# @USAGE: perl_rm_files file_1 file_2
+# @DESCRIPTION:
+# Remove certain files from a Perl release and remove them from the MANIFEST
+# while we're there.
+#
+# Most useful in src_prepare for nuking bad tests, and is highly recommended
+# for any tests like 'pod.t', 'pod-coverage.t' or 'kwalitee.t', as what they
+# test is completely irrelevant to end users, and frequently fail simply
+# because the authors of Test::Pod... changed their recommendations, and thus
+# failures are only useful feedback to Authors, not users.
+#
+# Removing from MANIFEST also avoids needless log messages warning
+# users about files missing from their kit.
+perl_rm_files() {
+   debug-print-function $FUNCNAME $@
+   local skipfile=${S}/.gentoo_makefile_skip
+   local manifile=${S}/MANIFEST
+   local manitemp=${S}/.gentoo_manifest_temp
+   for filename in $@; do
+   einfo Removing un-needed ${filename};
+   # Remove the file
+   rm ${S}/$filename
+   echo ${filename}  ${skipfile}
+   done
+   grep -v -F -f $skipfile $manifile  $manitemp
+   mv $manitemp $manifile
+   rm $skipfile;
+}
+
 perl_link_duallife_scripts() {
debug-print-function $FUNCNAME $@
if [[ ${CATEGORY} != perl-core ]] || ! has_version 
=dev-lang/perl-5.8.8-r8 ; then



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-08-20 Thread Kent Fredric
commit: ec11189f5b792e021ccf8e461ca237f3a8be7e41
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Wed Aug 20 11:25:22 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Wed Aug 20 11:37:55 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=ec11189f

add new experimental perl-virtual-2.eclass as experimental simplification

---
 eclass/perl-virtual-2.eclass | 139 +++
 1 file changed, 139 insertions(+)

diff --git a/eclass/perl-virtual-2.eclass b/eclass/perl-virtual-2.eclass
new file mode 100644
index 000..4bcce30
--- /dev/null
+++ b/eclass/perl-virtual-2.eclass
@@ -0,0 +1,139 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+#
+# Original Author: Kent Fredric kentfred...@gmail.com
+# Purpose: Experimental virtuals for gentoo perl
+# Reason: 
http://wiki.gentoo.org/wiki/Project:Perl/Ongoing_tasks#Updating_the_virtuals
+
+
+# usage:
+#
+# EAPI=5
+# ON_CPAN=1
+# inherit perl-virtual-2
+#
+# EAPI=5
+# ON_CPAN=1
+# PERL_VERSIONS=5.18
+# inherit perl-virtual-2
+#
+# EAPI=5
+# PERL_VERSIONS=5.18
+# inherit perl-virtual-2
+
+
+case ${EAPI:0} in
+   5)
+
+   ;;
+   *)
+   die EAPI=${EAPI} is not supported by perl-virtual-2.eclass;
+   ;;
+esac
+
+DESCRIPTION=Virtual for perl-core/${PN#perl-}
+# Note: This has to be blank, repoman doesn't like it.
+# But otherwise we'd link to 
http://wiki.gentoo.org/wiki/Project:Perl/Ongoing_tasks#Updating_the_virtuals
+HOMEPAGE=
+SRC_URI=
+LICENSE=
+IUSE=
+
+[[ ${ON_CPAN} ]] || ON_CPAN=
+ON_PERL=1
+
+[[ ${PERL_VERSIONS} ]] || ON_PERL=;
+
+[[ ${ON_CPAN} || ${ON_PERL} ]] || die One of ON_CPAN or PERL_VERSIONS must be 
specified for perl-virtual-2.eclass;
+
+# CPAN + Perl =
+# perl_5_18 ? ( =perl-5.18* , !perl-core/ )
+# perl_5_16 ? ( =perl-5.16* , !perl-core/ )
+# !perl_5_18? ( !perl_5_16? (
+#   || ( =perl-5.18* =perl-5.18* =perl-core/ )
+#  !perl-core/...$PV !perl-core/..$PV
+# ))
+if [[ ${ON_CPAN}  ${ON_PERL} ]]; then
+   PL_DEPS=;
+   EXCL_DEPS=;
+   NEXCL_START=;
+   NEXCL_STOP=;
+   NPLS=0;
+   OLDIFS=$IFS;
+   IFS= ;
+   for i in ${PERL_VERSIONS}; do
+   IUSE=$IUSE perl_${i//./_}
+   EXCL_DEPS=$EXCL_DEPS perl_${i//./_}? ( =dev-lang/perl-${i}* 
!perl-core/${PN#perl-} )
+   NEXCL_START=$NEXCL_START !perl_${i//./_}? (
+   NEXCL_STOP=) $NEXCL_STOP
+   PL_DEPS=$PL_DEPS =dev-lang/perl-${i}*
+   NPLS=$(( $NPLS + 1 ));
+   done
+   IFS=$OLDIFS;
+   RDEPEND=
+   $EXCL_DEPS
+   $NEXCL_START
+   || ( $PL_DEPS ~perl-core/${PN#perl-}-${PV} )
+   !perl-core/${PN#perl-}-${PV}
+   !perl-core/${PN#perl-}-${PV}-r999
+   $NEXCL_STOP
+fi
+
+# CPAN + !Perl =
+#   =perl-core/..$PV
+#
+if [[ ${ON_CPAN}  ! ${ON_PERL} ]]; then
+   RDEPEND=~perl-core/${PN#perl-}-${PV}
+fi
+
+# !CPAN + Perl =
+#   
+# either:
+#   =perl-5.18
+#   !perl-core/..
+#
+# or
+#
+# perl_5_18? ( =perl-5.18* )
+# perl_5_16? ( =perl-5.16* )
+# !perl_5_18? ( !perl_5_16? (
+#|| ( =perl-5.18* =perl-5.16* )
+# ))
+# !perl-core/
+#
+if [[ ! ${ON_CPAN}  ${ON_PERL} ]]; then
+   PL_DEPS=;
+   NPLS=0;
+   EXCL_DEPS=;
+   NEXCL_START=;
+   NEXCL_STOP=;
+   XIUSE=;
+   OLDIFS=$IFS;
+   IFS= ;
+   for i in ${PERL_VERSIONS}; do
+   XIUSE=$XIUSE perl_${i//./_}
+   EXCL_DEPS=$EXCL_DEPS perl_${i//./_}? ( =dev-lang/perl-${i}* )
+   NEXCL_START=$NEXCL_START !perl_${i//./_}? (
+   NEXCL_STOP=) $NEXCL_STOP
+   PL_DEPS=$PL_DEPS =dev-lang/perl-${i}*
+   NPLS=$(( $NPLS + 1 ));
+   done
+   IFS=$OLDIFS;
+   if [[ $NPLS  1 ]]; then
+   IUSE=$IUSE ${XIUSE};
+   RDEPEND=
+   $EXCL_DEPS
+   $NEXCL_START
+   || ( $PL_DEPS )
+   $NEXCL_STOP
+   !perl-core/${PN#perl-}
+   
+   else
+   RDEPEND=
+   $PL_DEPS
+   !perl-core/${PN#perl-}
+   
+   fi
+fi



[gentoo-commits] proj/perl-overlay:master commit in: eclass/

2014-04-04 Thread Kent Fredric
commit: 964110878b9ba9d5f9616e11279ee2cd3cb2ab66
Author: Kent Fredric kentfredric AT gmail DOT com
AuthorDate: Fri Apr  4 23:07:51 2014 +
Commit: Kent Fredric kentfredric AT gmail DOT com
CommitDate: Fri Apr  4 23:08:52 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=96411087

eclass: Sync base.eclass consumption/EAPI5 Subslots difference with Gentoo

---
 eclass/perl-module.eclass | 33 +
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 320a43e..b1d4c2e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.134 
2012/09/15 16:16:53 zmedico Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.139 
2014/03/30 19:25:14 zlogene Exp $
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
@@ -12,7 +12,7 @@
 # The perl-module eclass is designed to allow easier installation of perl
 # modules, and their incorporation into the Gentoo Linux system.
 
-inherit eutils base multiprocessing
+inherit eutils multiprocessing unpacker
 [[ ${CATEGORY} == perl-core ]]  inherit alternatives
 
 PERL_EXPF=src_unpack src_compile src_test src_install
@@ -27,10 +27,24 @@ case ${EAPI:-0} in
PERL_EXPF+= pkg_postinst pkg_postrm
 
case ${GENTOO_DEPEND_ON_PERL:-yes} in
-   yes)
+   yes)
+   case ${EAPI:-0} in
+   5)
+   case ${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes} in
+   yes)
+   DEPEND=dev-lang/perl:=[-build(-)]
+   ;;
+   *)
+   DEPEND=dev-lang/perl[-build(-)]
+   ;;
+   esac
+   ;;
+   *)
DEPEND=|| ( =dev-lang/perl-5.16 
dev-lang/perl-5.16[-build] )
-   RDEPEND=${DEPEND}
;;
+   esac
+   RDEPEND=${DEPEND}
+   ;;
esac
;;
*)
@@ -75,13 +89,16 @@ perlinfo_done=false
 
 perl-module_src_unpack() {
debug-print-function $FUNCNAME $@
-   base_src_unpack
+   unpacker_src_unpack
has src_prepare ${PERL_EXPF} || perl-module_src_prepare
 }
 
 perl-module_src_prepare() {
debug-print-function $FUNCNAME $@
-   has src_prepare ${PERL_EXPF}  base_src_prepare
+   has src_prepare ${PERL_EXPF}  \
+   [[ ${PATCHES[@]} ]]  epatch ${PATCHES[@]}
+   debug-print $FUNCNAME: applying user patches
+   epatch_user
perl_fix_osx_extra
esvn_clean
 }
@@ -162,7 +179,7 @@ perl-module_src_compile() {
local mymake_local=(${mymake[@]})
fi
 
-   if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile )  -f Build ]] ; 
then
+   if [[ -f Build ]] ; then
./Build build \
|| die Compilation failed
elif [[ -f Makefile ]] ; then