public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2011-02-04  8:15 tove
  0 siblings, 0 replies; 59+ messages in thread
From: tove @ 2011-02-04  8:15 UTC (permalink / raw
  To: gentoo-commits

commit:     1d7d7418693faa3fb69789901fccd3105799db0b
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  4 08:14:51 2011 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Fri Feb  4 08:14:51 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=1d7d7418693faa3fb69789901fccd3105799db0b

[fix] PERL_MM_USE_DEFAULT suppressed pm_echovar in perl-module.eclass

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 82cc1f6..24a6eec 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -101,7 +101,7 @@ perl-module_src_prep() {
 	perl_set_version
 	perl_set_eprefix
 
-	export PERL_MM_USE_DEFAULT=1
+	[[ -z ${pm_echovar} ]] && export PERL_MM_USE_DEFAULT=1
 	# Disable ExtUtils::AutoInstall from prompting
 	export PERL_EXTUTILS_AUTOINSTALL="--skipdeps"
 



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2011-04-24  8:37 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2011-04-24  8:37 UTC (permalink / raw
  To: gentoo-commits

commit:     e22558827558eb65687996f18e629e38c88f7be4
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 24 07:55:06 2011 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Sun Apr 24 08:20:12 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=e2255882

Add perl-virtual.eclass

---
 eclass/perl-virtual.eclass |   46 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/eclass/perl-virtual.eclass b/eclass/perl-virtual.eclass
new file mode 100644
index 0000000..9d7e69a
--- /dev/null
+++ b/eclass/perl-virtual.eclass
@@ -0,0 +1,46 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# @ECLASS: perl-virtual.eclass
+# @MAINTAINER:
+# perl@gentoo.org
+# @BLURB: Set up virtuals for perl modules more easily
+# @DESCRIPTION:
+# The perl-virtual.eclass sets all possible ebuild variables. It uses the
+# PM_PROVIDER array to set the any-of-many runtime dependencies.
+# @EXAMPLE:
+# An ebuild might look like this:
+#
+# @CODE
+#
+# PM_PROVIDER+=( "~dev-lang/perl-5.12.3" )
+# PM_PROVIDER+=( "5.10.1" )
+# inherit perl-virtual
+# KEYWORDS="~amd64 ~x86"
+# IUSE=""
+#
+# @CODE
+
+# @ECLASS-VARIABLE: PM_PROVIDER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# The array should list the providers to be added to RDEPEND
+# with preference from highest to lowest.
+# If an element starts with "5", it is considered a ~dev-lang/perl version.
+# If PM_PROVIDER is not defined, RDEPEND isn't set.
+# ~perl-core/${PN#perl-}-${PV} is added at the end automatically.
+
+DESCRIPTION="Virtual for ${PN#perl-}"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE=""
+SLOT="0"
+IUSE=""
+
+if [[ $(declare -p PM_PROVIDER 2>&-) != "declare -a PM_PROVIDER="* ]] ; then
+	RDEPEND="~perl-core/${PN#perl-}-${PV}"
+elif [[ ${#PM_PROVIDER[*]} -gt 0 ]] ; then
+	RDEPEND="|| ( ${PM_PROVIDER[@]/#5/~dev-lang/perl-5} ~perl-core/${PN#perl-}-${PV} )"
+fi



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2011-08-16 17:02 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2011-08-16 17:02 UTC (permalink / raw
  To: gentoo-commits

commit:     26f17d4081d7cd3a1b02172cb6a10b17e88754bb
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 07:25:50 2011 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 07:25:50 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=26f17d40

[sync] perl-module.eclass with ::gentoo

---
 eclass/perl-module.eclass |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 24a6eec..0af963e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -371,19 +371,23 @@ perl_link_duallife_scripts() {
 	local i ff
 	if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then
 		for i in "${DUALLIFESCRIPTS[@]}" ; do
-			alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
-			ff=`echo "${EROOT}"/usr/share/man/man1/${i}-${PV}-${P}.1*`
+			alternatives_auto_makesym "/${i}" "/${i}-[0-9]*"
+		done
+		for i in "${DUALLIFEMAN[@]}" ; do
+			ff=`echo "${EROOT}"/${i%.1}-${PV}-${P}.1*`
 			ff=${ff##*.1}
-			alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
+			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
 			mv ${i}{,-${PV}-${P}} || die
-			DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
-			if [[ -f usr/share/man/man1/${i##*/}.1 ]] ; then
-				mv usr/share/man/man1/${i##*/}{.1,-${PV}-${P}.1} || die
-			fi
+			#DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
+			DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i}
+		done
+		for i in $(find usr/share/man/man1 -maxdepth 1 -type f 2>/dev/null) ; do
+			mv ${i} ${i%.1}-${PV}-${P}.1 || die
+			DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i}
 		done
 		popd > /dev/null
 	fi



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-04-23 13:04 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-04-23 13:04 UTC (permalink / raw
  To: gentoo-commits

commit:     ca34c6b978cb153ff179669a060e369f46bbca81
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 23 11:59:39 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Mon Apr 23 12:19:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=ca34c6b9

perl-module.eclass: Warn if a ./Build file is found in EUMM case (#386685)

---
 eclass/perl-module.eclass |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 0a80a99..a4d0191 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -132,6 +132,10 @@ perl-module_src_prep() {
 				|| die "Unable to build!"
 	elif [[ -f Makefile.PL ]] ; then
 		einfo "Using ExtUtils::MakeMaker"
+		if [[ -f Build && ${PERL_NO_BUILD_WARNING} != "true" ]] ; then
+			ewarn "Using ExtUtils::MakeMaker but found a ./Build script!"
+			ewarn "Shit happens NOW!"
+		fi
 		set -- \
 			PREFIX=${EPREFIX}/usr \
 			INSTALLDIRS=vendor \
@@ -160,7 +164,7 @@ perl-module_src_compile() {
 		local mymake_local=("${mymake[@]}")
 	fi
 
-	if [[ -f Build ]] ; then
+	if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile ) && -f Build ]] ; then
 		./Build build \
 			|| die "Compilation failed"
 	elif [[ -f Makefile ]] ; then



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-04-23 13:04 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-04-23 13:04 UTC (permalink / raw
  To: gentoo-commits

commit:     14b720dbd54ee634a0912e99ccb382c3149f7e2c
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 23 11:23:49 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Mon Apr 23 12:19:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=14b720db

perl-module.eclass: Check if MODULE_VERSION and PV match

---
 eclass/perl-module.eclass |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 4bb37ff..0a80a99 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -281,12 +281,25 @@ perlinfo() {
 	perl_set_version
 }
 
+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 [[ ${REAL_PV} != ${PV} ]] ; then
+		eqawarn "QA Notice: Based on MODULE_VERSION=${MODULE_VERSION} the ebuild version ${PV} is wrong!"
+		eqawarn "           The ebuild version should be ${REAL_PV}"
+	fi
+}
+
 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}



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-04-23 13:04 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-04-23 13:04 UTC (permalink / raw
  To: gentoo-commits

commit:     b5401f55ebb49e4d216b1a77690a895eed4c41ff
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 23 12:18:55 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Mon Apr 23 12:19:29 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=b5401f55

perl-module.eclass: merge ::gentoo changes

---
 eclass/perl-module.eclass |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 0af963e..4bb37ff 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,12 +1,12 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.126 2010/07/15 11:44:48 tove Exp $
-#
-# Author: Seemant Kulleen <seemant@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.132 2012/04/15 20:15:39 vapier Exp $
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
 # perl@gentoo.org
+# @AUTHOR:
+# Seemant Kulleen <seemant@gentoo.org>
 # @BLURB: eclass for perl modules
 # @DESCRIPTION:
 # The perl-module eclass is designed to allow easier installation of perl
@@ -199,8 +199,8 @@ 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$(echo -j1 ${MAKEOPTS} | sed -r "s/.*(-j\s*|--jobs=)([0-9]+).*/\2/" )
-			einfo "Test::Harness Jobs=${HARNESS_OPTIONS}"
+			export HARNESS_OPTIONS=j$(makeopts_jobs)
+			einfo "Test::Harness Jobs=$(makeopts_jobs)"
 		fi
 		${perlinfo_done} || perl_set_version
 		if [[ -f Build ]] ; then



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-06-05 18:22 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-06-05 18:22 UTC (permalink / raw
  To: gentoo-commits

commit:     d1606e0e72565de8b26cc098033f52e97ccc311a
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  5 18:19:42 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Tue Jun  5 18:19:42 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=d1606e0e

Use EBUILD_DEATH_HOOKS

This should probably improved:
- perl-info should be maintained better
- Version-Requirements returns a deprecation warning

---
 eclass/perl-module.eclass |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 76ba26c..23c6809 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -285,6 +285,40 @@ perlinfo() {
 	perl_set_version
 }
 
+has perl_diagnostics ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" perl_diagnostics"
+
+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 2>&1
+		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)"



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-06-05 18:22 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-06-05 18:22 UTC (permalink / raw
  To: gentoo-commits

commit:     0387240fea13ec8b8e2fa4d5e0480986a8b32a3c
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  5 18:18:23 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Tue Jun  5 18:18:23 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=0387240f

[fix] no version warnings if gentoo-perlmod-version.pl can't run

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index a4d0191..76ba26c 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -290,7 +290,7 @@ perl_check_module_version() {
 	local gpmv="$(type -p gentoo-perlmod-version.pl)"
 	[[ -n ${MODULE_VERSION} && -n ${gpmv} && -x ${gpmv} ]] || return
 	REAL_PV=$( ${gpmv} --oneshot "${MODULE_VERSION}" )
-	if [[ ${REAL_PV} != ${PV} ]] ; then
+	if [[ -n ${REAL_PV} && ${REAL_PV} != ${PV} ]] ; then
 		eqawarn "QA Notice: Based on MODULE_VERSION=${MODULE_VERSION} the ebuild version ${PV} is wrong!"
 		eqawarn "           The ebuild version should be ${REAL_PV}"
 	fi



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-06-07  6:06 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-06-07  6:06 UTC (permalink / raw
  To: gentoo-commits

commit:     3744af8da3d6957eaf01fbddb16886c2c5fa2013
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  7 06:06:41 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Thu Jun  7 06:06:41 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=3744af8d

[fix] Inherit new multiprocessing.eclass for makeopts_jobs

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 23c6809..67f662a 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -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
+inherit eutils base multiprocessing
 [[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
 
 PERL_EXPF="src_unpack src_compile src_test src_install"



^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2012-09-15 16:58 Torsten Veller
  0 siblings, 0 replies; 59+ messages in thread
From: Torsten Veller @ 2012-09-15 16:58 UTC (permalink / raw
  To: gentoo-commits

commit:     acd89f0dd2ab6092d5c4417f0a48a800068b737e
Author:     Torsten Veller <tove <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 15 16:57:09 2012 +0000
Commit:     Torsten Veller <tove <AT> gentoo <DOT> org>
CommitDate: Sat Sep 15 16:58:06 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=acd89f0d

Remove redundant DESCRIPTION variable settings

---
 eclass/perl-declaredeps.eclass |    2 --
 eclass/perl-module.eclass      |    6 ++----
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/eclass/perl-declaredeps.eclass b/eclass/perl-declaredeps.eclass
index e28877d..8c9d1fe 100644
--- a/eclass/perl-declaredeps.eclass
+++ b/eclass/perl-declaredeps.eclass
@@ -33,8 +33,6 @@
 # *perl* dependencies and *module* names instead of package names, 
 # and have it just magically work somehow.
 
-DESCRIPTION="Based on the ${ECLASS} eclass";
-
 # At present, its EAPI=4 only, because without EAPI4, theres
 # implicit DEPEND=RDEPEND :(
 

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 67f662a..8f78ecb 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.132 2012/04/15 20:15:39 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.134 2012/09/15 16:16:53 zmedico Exp $
 
 # @ECLASS: perl-module.eclass
 # @MAINTAINER:
@@ -50,8 +50,6 @@ case "${PERL_EXPORT_PHASE_FUNCTIONS:-yes}" in
 		;;
 esac
 
-DESCRIPTION="Based on the $ECLASS eclass"
-
 LICENSE="${LICENSE:-|| ( Artistic GPL-1 GPL-2 GPL-3 )}"
 
 if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2013-04-28 16:53 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2013-04-28 16:53 UTC (permalink / raw
  To: gentoo-commits

commit:     02042ae27d49efefe1aad683748b6a90d635221c
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Apr 28 16:50:16 2013 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Apr 28 16:50:16 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=02042ae2

[eclass] add perl-mb-tiny.eclass : Only EAPI5 + Module::Build::Tiny supported

---
 eclass/perl-mb-tiny.eclass |  177 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 177 insertions(+), 0 deletions(-)

diff --git a/eclass/perl-mb-tiny.eclass b/eclass/perl-mb-tiny.eclass
new file mode 100644
index 0000000..35d87c1
--- /dev/null
+++ b/eclass/perl-mb-tiny.eclass
@@ -0,0 +1,177 @@
+# Copyright 1999-2012 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 $
+
+# @ECLASS: perl-mb-tiny.eclass
+# @MAINTAINER:
+# perl@gentoo.org
+# @AUTHOR:
+# Kent Fredric <kentnl@cpan.org>
+# Seemant Kulleen <seemant@gentoo.org>
+# @BLURB: eclass for perl modules
+# @DESCRIPTION:
+# The perl-module eclass is designed to allow easier installation of perl
+# modules, and their incorporation into the Gentoo Linux system.
+
+inherit perl-module
+
+PERLMB_EXPF="src_unpack src_compile src_test src_install src_prepare src_configure"
+
+case "${EAPI:-0}" in
+	5)
+		;;
+	*)
+		die "EAPI=${EAPI} is not supported by perl-mb-tiny.eclass"
+		;;
+esac
+
+EXPORT_FUNCTIONS ${PERLMB_EXPF};
+
+
+perl-mb-tiny_src_unpack() {
+	debug-print-function $FUNCNAME "$@"
+	base_src_unpack
+}
+
+perl-mb-tiny_src_prepare() {
+	debug-print-function $FUNCNAME "$@"
+	base_src_prepare
+	perl_fix_osx_extra
+	esvn_clean
+}
+
+perl-mb-tiny_src_configure() {
+	debug-print-function $FUNCNAME "$@"
+
+	perl_set_version
+	perl_set_eprefix
+
+	# Disable ExtUtils::AutoInstall from prompting
+	export PERL_EXTUTILS_AUTOINSTALL="--skipdeps"
+
+	if [[ $(declare -p myconf 2>&-) != "declare -a myconf="* ]]; then
+		local myconf_local=(${myconf})
+	else
+		local myconf_local=("${myconf[@]}")
+	fi
+
+	if [[ ! -f Build.PL ]] ; then
+		die "Not Build.PL, is not a Module::Build::Tiny dist";
+	fi
+	if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} !=	Module-Build-Tiny ]]; then
+		die "Package MUST depend on Module::Build::Tiny";
+	fi
+	einfo "Using Module::Build::Tiny"
+	set -- \
+		--installdirs=vendor \
+		--destdir="${D}" \
+		"${myconf_local[@]}"
+	einfo "perl Build.PL" "$@"
+	perl Build.PL "$@" <<< "${pm_echovar}" \
+		|| die "Unable to build!"
+}
+
+perl-mb-tiny_src_compile() {
+	debug-print-function $FUNCNAME "$@"
+	perl_set_version
+
+	if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
+		local mymake_local=(${mymake})
+	else
+		local mymake_local=("${mymake[@]}")
+	fi
+
+	if [[ ! -f Build.PL ]] ; then
+		die "Not Build.PL, is not a Module::Build::Tiny dist";
+	fi
+
+	./Build build || die "Compilation failed"
+}
+
+# For testers:
+#  This code attempts to work out your threadingness from MAKEOPTS
+#  and apply them to Test::Harness.
+#
+#  If you want more verbose testing, set TEST_VERBOSE=1
+#  in your bashrc | /etc/make.conf | ENV
+#
+# Additionally, you can add support for a few additional situations:
+#
+#   1. GENTOO_PERL_TESTS="network" will enable running tests that require
+#   network connectivity.
+#
+#   2. GENTOO_PERL_TESTS="broken" will enable running tests that we have marked
+#   as broken.
+#
+#   3. GENTOO_PERL_TESTS="undefined" will make all packages using the
+#   perl-module eclass to behave as if somebody had put a SRC_TEST stanza in it.
+#
+# For ebuild writers:
+#  If you wish to enable default tests w/ 'make test' ,
+#
+#   SRC_TEST="do"
+#
+#  If you wish to have threads run in parallel ( using the users makeopts )
+#  all of the following have been tested to work.
+#
+#   SRC_TEST="do parallel"
+#   SRC_TEST="parallel"
+#   SRC_TEST="parallel do"
+#   SRC_TEST=parallel
+#
+#  If your ebuild has tests, but they require networking to work, you can
+#  disable tests by adding "network" in your SRC_TEST string.
+#
+#  If your ebuild has tests, but they are broken, you can disable them
+#  with SRC_TEST="broken"
+#
+
+perl-mb-tiny_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
+		
+		./Build test verbose=${TEST_VERBOSE:-0} || die "test failed"
+	fi
+}
+
+perl-mb-tiny_src_install() {
+	debug-print-function $FUNCNAME "$@"
+
+	perl_set_version
+	perl_set_eprefix
+
+	local f
+
+	if [[ -z ${mytargets} ]] ; then
+		case "${CATEGORY}" in
+			dev-perl|perl-core) mytargets="install" ;;
+			*)                  mytargets="install" ;;
+		esac
+	fi
+
+	if [[ $(declare -p myinst 2>&-) != "declare -a myinst="* ]]; then
+		local myinst_local=(${myinst})
+	else
+		local myinst_local=("${myinst[@]}")
+	fi
+
+	./Build ${mytargets} || die "./Build ${mytargets} failed"
+
+	perl_delete_module_manpages
+	perl_delete_localpod
+	perl_delete_packlist
+	perl_remove_temppath
+
+	for f in Change* CHANGES README* TODO FAQ ${mydoc}; do
+		[[ -s ${f} ]] && dodoc ${f}
+	done
+
+	perl_link_duallife_scripts
+}
+
+


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2013-09-17  4:28 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2013-09-17  4:28 UTC (permalink / raw
  To: gentoo-commits

commit:     679face1ae917d2e441e654186403e5e0b5c51c8
Author:     Grzegorz Dzięgielewski <jabbas <AT> jabbas <DOT> eu>
AuthorDate: Fri Sep  6 09:38:52 2013 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Sep 17 04:27:58 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=679face1

changed DEPEND for new dev-lang/perl ebuilds without "build" flag

---
 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 537af3d..120b94b 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -28,7 +28,7 @@ case "${EAPI:-0}" in
 
 		case "${GENTOO_DEPEND_ON_PERL:-yes}" in
 			yes)
-				DEPEND="dev-lang/perl[-build]"
+				DEPEND="( >=dev-lang/perl-5.16 <dev-lang/perl-5.16[-build] )"
 				RDEPEND="${DEPEND}"
 				;;
 		esac


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2013-09-17  4:35 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2013-09-17  4:35 UTC (permalink / raw
  To: gentoo-commits

commit:     d5402d8c16e4f2fa5bdf107958240ccebcc05925
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Sep 17 04:32:51 2013 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Sep 17 04:33:35 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=d5402d8c

perl-module.class: fix absence of ||()

---
 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 120b94b..320a43e 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -28,7 +28,7 @@ case "${EAPI:-0}" in
 
 		case "${GENTOO_DEPEND_ON_PERL:-yes}" in
 			yes)
-				DEPEND="( >=dev-lang/perl-5.16 <dev-lang/perl-5.16[-build] )"
+				DEPEND="|| ( >=dev-lang/perl-5.16 <dev-lang/perl-5.16[-build] )"
 				RDEPEND="${DEPEND}"
 				;;
 		esac


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-04-04 23:09 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-04-04 23:09 UTC (permalink / raw
  To: gentoo-commits

commit:     964110878b9ba9d5f9616e11279ee2cd3cb2ab66
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Fri Apr  4 23:07:51 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Fri Apr  4 23:08:52 2014 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-08-20 13:24 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-08-20 13:24 UTC (permalink / raw
  To: gentoo-commits

commit:     ec11189f5b792e021ccf8e461ca237f3a8be7e41
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Wed Aug 20 11:25:22 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Wed Aug 20 11:37:55 2014 +0000
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 0000000..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 <kentfredric@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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-08-24 13:56 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-08-24 13:56 UTC (permalink / raw
  To: gentoo-commits

commit:     2b3eb8fa5687ff501687e12d1c133eccc6e3670e
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Aug 24 12:29:14 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Aug 24 12:29:14 2014 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-08-26 19:06 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-08-26 19:06 UTC (permalink / raw
  To: gentoo-commits

commit:     ff64744a2fdeb36717c350eea48cd4a46fa4f049
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Aug 26 18:54:49 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Aug 26 18:54:49 2014 +0000
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() {


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-10-11 18:46 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-10-11 18:46 UTC (permalink / raw
  To: gentoo-commits

commit:     d709c163243c21f1338ede069911aa9906fd0c87
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Oct 11 17:19:49 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Oct 11 17:19:49 2014 +0000
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)


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-10-11 18:46 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-10-11 18:46 UTC (permalink / raw
  To: gentoo-commits

commit:     fa40465a56e6b0f5484c8a1994d3270ee0316d38
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Oct 11 18:09:17 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Oct 11 18:09:17 2014 +0000
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 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
+		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
+
+	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
 }
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-10-11 18:46 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-10-11 18:46 UTC (permalink / raw
  To: gentoo-commits

commit:     1def0baf7b39421cef041897d5e276f5064a515f
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Oct 11 17:13:12 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Oct 11 17:13:12 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=1def0baf

[eclass] perl-virtual-(2), Remove these eclasses, they are a bad idea.

If you still need these, get them out of git and put them in your own
overlay and support them yourself.

---
 eclass/perl-virtual-2.eclass | 139 -------------------------------------------
 eclass/perl-virtual.eclass   |  46 --------------
 2 files changed, 185 deletions(-)

diff --git a/eclass/perl-virtual-2.eclass b/eclass/perl-virtual-2.eclass
deleted file mode 100644
index 4bcce30..0000000
--- a/eclass/perl-virtual-2.eclass
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-#
-# Original Author: Kent Fredric <kentfredric@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

diff --git a/eclass/perl-virtual.eclass b/eclass/perl-virtual.eclass
deleted file mode 100644
index 9d7e69a..0000000
--- a/eclass/perl-virtual.eclass
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# @ECLASS: perl-virtual.eclass
-# @MAINTAINER:
-# perl@gentoo.org
-# @BLURB: Set up virtuals for perl modules more easily
-# @DESCRIPTION:
-# The perl-virtual.eclass sets all possible ebuild variables. It uses the
-# PM_PROVIDER array to set the any-of-many runtime dependencies.
-# @EXAMPLE:
-# An ebuild might look like this:
-#
-# @CODE
-#
-# PM_PROVIDER+=( "~dev-lang/perl-5.12.3" )
-# PM_PROVIDER+=( "5.10.1" )
-# inherit perl-virtual
-# KEYWORDS="~amd64 ~x86"
-# IUSE=""
-#
-# @CODE
-
-# @ECLASS-VARIABLE: PM_PROVIDER
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The array should list the providers to be added to RDEPEND
-# with preference from highest to lowest.
-# If an element starts with "5", it is considered a ~dev-lang/perl version.
-# If PM_PROVIDER is not defined, RDEPEND isn't set.
-# ~perl-core/${PN#perl-}-${PV} is added at the end automatically.
-
-DESCRIPTION="Virtual for ${PN#perl-}"
-HOMEPAGE=""
-SRC_URI=""
-
-LICENSE=""
-SLOT="0"
-IUSE=""
-
-if [[ $(declare -p PM_PROVIDER 2>&-) != "declare -a PM_PROVIDER="* ]] ; then
-	RDEPEND="~perl-core/${PN#perl-}-${PV}"
-elif [[ ${#PM_PROVIDER[*]} -gt 0 ]] ; then
-	RDEPEND="|| ( ${PM_PROVIDER[@]/#5/~dev-lang/perl-5} ~perl-core/${PN#perl-}-${PV} )"
-fi


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-12-23 14:43 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-12-23 14:43 UTC (permalink / raw
  To: gentoo-commits

commit:     47a31f879a0c5d3a25621cde73d4a8539ef0a02c
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Dec 23 14:41:59 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Dec 23 14:41:59 2014 +0000
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.
 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:
+# This function is to be called during the pkg_postinst() phase. It only does
+# useful things for the perl-core category, where it handles the file renaming and symbolic
+# links that prevent file collisions for dual-life packages installing scripts.
+# In any other category it immediately exits.
 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."
+		return 0
+	fi
 	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:
+# This function is to be called during the pkg_postrm() phase. It only does
+# useful things for the perl-core category, where it handles the file renaming and symbolic
+# links that prevent file collisions for dual-life packages installing scripts.
+# In any other category it immediately exits.
 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."
+		return 0
+	fi
 	perl_link_duallife_scripts
 }
 
-perlinfo() {
-	debug-print-function $FUNCNAME "$@"
-	perl_set_version
-}
-
 has perl_diagnostics ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" perl_diagnostics"
 
 perl_diagnostics() {
@@ -389,6 +463,16 @@ perl_check_module_version() {
 	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}"
@@ -407,11 +491,24 @@ perl_set_version() {
 	VENDOR_ARCH=${installvendorarch}
 }
 
-fixlocalpod() {
+# @FUNCTION: perlinfo
+# @USAGE: perlinfo
+# @DESCRIPTION:
+# This function is deprecated.
+#
+# Please use the function above instead, perl_set_version().
+perlinfo() {
 	debug-print-function $FUNCNAME "$@"
-	perl_delete_localpod
+	ewarn "perl-modules.eclass: perlinfo is deprecated and will be removed. Please use perl_set_version instead."
+	perl_set_version
 }
 
+# @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 "$@"
 
@@ -419,6 +516,22 @@ perl_delete_localpod() {
 	find "${D}" -depth -mindepth 1 -type d -empty -delete
 }
 
+# @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
+}
+
+# @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 "$@"
 
@@ -436,6 +549,11 @@ perl_fix_osx_extra() {
 	done
 }
 
+# @FUNCTION: perl_delete_module_manpages
+# @USAGE: perl_delete_module_manpages
+# @DESCRIPTION:
+# Bump off manpages installed by the current module such as *.3pm files as well
+# as empty directories.
 perl_delete_module_manpages() {
 	debug-print-function $FUNCNAME "$@"
 
@@ -448,7 +566,11 @@ perl_delete_module_manpages() {
 	fi
 }
 
-
+# @FUNCTION: perl_delete_packlist
+# @USAGE: perl_delete_packlist
+# @DESCRIPTION:
+# Look through ${D} for .packlist files, empty .bs files and empty directories,
+# and get rid of items found.
 perl_delete_packlist() {
 	debug-print-function $FUNCNAME "$@"
 	perl_set_version
@@ -459,6 +581,11 @@ perl_delete_packlist() {
 	fi
 }
 
+# @FUNCTION: perl_remove_temppath
+# @USAGE: perl_remove_temppath
+# @DESCRIPTION:
+# Look through ${D} for text files containing the temporary installation
+# folder (i.e. ${D}). If the pattern is found (i.e. " text"), replace it with `/'.
 perl_remove_temppath() {
 	debug-print-function $FUNCNAME "$@"
 
@@ -506,6 +633,12 @@ perl_rm_files() {
 	IFS="$oldifs"
 }
 
+# @FUNCTION: perl_link_duallife_scripts
+# @USAGE: perl_link_duallife_scripts
+# @DESCRIPTION:
+# Moves files and generates symlinks so dual-life packages installing scripts do not
+# lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and makes
+# only sense for perl-core packages.
 perl_link_duallife_scripts() {
 	debug-print-function $FUNCNAME "$@"
 	if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-12-23 18:19 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-12-23 18:19 UTC (permalink / raw
  To: gentoo-commits

commit:     c008440b0904162ae204b26c98e9bd07f958a107
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Dec 23 17:44:36 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Dec 23 17:46:06 2014 +0000
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."
 			eqawarn "           Add 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."
 		eqawarn "   This 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."
 		eqawarn "   This 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!"
 		eqawarn "           The 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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2014-12-23 18:19 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2014-12-23 18:19 UTC (permalink / raw
  To: gentoo-commits

commit:     49ec79fcc3863ca26369ceb1ded509c0cdc36165
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Tue Dec 23 17:50:54 2014 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Tue Dec 23 18:01:25 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/perl-overlay.git;a=commit;h=49ec79fc

perl-module.eclass: Unify Module::Build and MBTiny logic with --pure parameter, improving QA checks in the process

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 70f7d0f..593a030 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -145,11 +145,20 @@ perl-module_src_configure() {
 	fi
 
 	if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then
-		einfo "Using Module::Build"
-		if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${PN} != Module-Build ]] ; then
-			eqawarn "QA Notice: The ebuild uses Module::Build but doesn't depend on it."
-			eqawarn "           Add virtual/perl-Module-Build to DEPEND!"
-			perl_qafatal "modulebuild"
+		if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then
+			einfo "Using Module::Build::Tiny"
+			if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then
+				eqawarn "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it."
+				eqawarn "           Add dev-perl/Module-Build-Tiny to DEPEND!"
+				perl_qafatal "modulebuildtiny"
+			fi
+		else
+			einfo "Using Module::Build"
+			if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${PN} != Module-Build ]] ; then
+				eqawarn "QA Notice: The ebuild uses Module::Build but doesn't depend on it."
+				eqawarn "           Add virtual/perl-Module-Build to DEPEND!"
+				perl_qafatal "modulebuild"
+			fi
 		fi
 		set -- \
 			--installdirs=vendor \
@@ -317,23 +326,22 @@ perl-module_src_install() {
 
 	local f
 
-	if [[ -z ${mytargets} ]] ; then
+	if [[ -f Build ]]; then
+		mytargets="${mytargets:-install}"
+		mbparams="${mbparams:---pure}"
+		einfo "./Build ${mytargets} ${mbparams}"
+		./Build ${mytargets} ${mbparams} \
+			|| die "./Build ${mytargets} ${mbparams} failed"
+	elif [[ -f Makefile ]]; then
 		case "${CATEGORY}" in
 			dev-perl|perl-core) mytargets="pure_install" ;;
 			*)                  mytargets="install" ;;
 		esac
-	fi
-
-	if [[ $(declare -p myinst 2>&-) != "declare -a myinst="* ]]; then
-		local myinst_local=(${myinst})
-	else
-		local myinst_local=("${myinst[@]}")
-	fi
-
-	if [[ -f Build ]] ; then
-		./Build ${mytargets} \
-			|| die "./Build ${mytargets} failed"
-	elif [[ -f Makefile ]] ; then
+		if [[ $(declare -p myinst 2>&-) != "declare -a myinst="* ]]; then
+			local myinst_local=(${myinst})
+		else
+			local myinst_local=("${myinst[@]}")
+		fi
 		emake "${myinst_local[@]}" ${mytargets} \
 			|| die "emake ${myinst_local[@]} ${mytargets} failed"
 	fi


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-03-15  5:10 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-03-15  5:10 UTC (permalink / raw
  To: gentoo-commits

commit:     5f8e66084195ff46a00c8e86fe0ce9c734e026e9
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Mar 15 05:04:24 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Mar 15 05:04:24 2015 +0000
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."
 				eqawarn "           Add 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."
 				eqawarn "           Add 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."
 		eqawarn "   This 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."
 		eqawarn "   This 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!"
 		eqawarn "           The 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
 		for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do
-			mv ${i}{,-${PV}-${P}} || die
+			mkdir -p "${D}/${execdir}" || die
+			mv ${i} "${D}/${execdir}/${i##*/}" || die
 			#DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
 			DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i}
 		done
 		for i in $(find usr/share/man/man1 -maxdepth 1 -type f 2>/dev/null) ; do
-			mv ${i} ${i%.1}-${PV}-${P}.1 || die
+			mkdir -p "${D}/${mandir}" || die
+			mv ${i} "${D}/${mandir}/${i##*/}" || die
 			DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i}
 		done
+
+		einfo "Cleaning empty directories"
+		perl_trim_empty_dirs "${EROOT}/usr/bin"
+
 		popd > /dev/null
 	fi
 }
 
 # @FUNCTION: perl_qafatal
-# @USAGE: perl_qafatal TYPE
+# @USAGE: perl_qafatal TYPE "Die reason"
 # @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.
@@ -702,17 +718,18 @@ perl_link_duallife_scripts() {
 #  has "$type" 	- Fatal for "$type"
 perl_qafatal() {
 	local failtype=$1
+	local failreason=$2
 	if [[ "${PERLQAFATAL:-0}" == 1 ]]; then
 		eerror "Bailing out due to PERLQAFATAL including $failtype (==1)";
-		die;
+		die "$failtype: $failreason"
 	fi
 	if has 'all' ${PERLQAFATAL}; then
 		eerror "Bailing out due to PERLQAFATAL including $failtype (all)";
-		die;
+		die "$failtype: $failreason"
 	fi
 	if has $failtype ${PERLQAFATAL}; then
 		eerror "Bailing out due to PERLQAFATAL including $1";
-		die;
+		die "$failtype: $failreason"
 	fi
 }
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-03-15  5:10 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-03-15  5:10 UTC (permalink / raw
  To: gentoo-commits

commit:     4abc0cf75db47cf0389e3bd126487168e5ded370
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Mar 15 03:28:14 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Mar 15 03:32:17 2015 +0000
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"
+}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-03-15 17:06 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-03-15 17:06 UTC (permalink / raw
  To: gentoo-commits

commit:     2ffb3fed8273157c85bbb4eb0ff1577393b77fe9
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Mar 15 16:29:13 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Mar 15 16:29:13 2015 +0000
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..000071f 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."
 }


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-03-26 12:14 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-03-26 12:14 UTC (permalink / raw
  To: gentoo-commits

commit:     065a21548221b32109f3567c95c5a5ef02b25ec2
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Thu Mar 26 12:12:52 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Thu Mar 26 12:12:52 2015 +0000
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";


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-20 22:13 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-20 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     b335766ad3ded55d068fb863672e45a22f0d6b85
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Jun 20 20:40:08 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Jun 20 20:40:08 2015 +0000
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
-}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-20 22:13 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-20 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     35ef1cad1e30d52dcf72550460433478f2506c07
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Jun 20 21:32:05 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Jun 20 21:32:05 2015 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-20 22:13 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-20 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     294fb5f3cba60c3bb656dc4e1d478873b9c015ca
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Jun 20 20:39:15 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Jun 20 20:39:15 2015 +0000
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"


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-20 22:13 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-20 22:13 UTC (permalink / raw
  To: gentoo-commits

commit:     6a6f9cad155f25b3a6bcdb9cf12df83cd057aac9
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sat Jun 20 20:30:29 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sat Jun 20 20:30:29 2015 +0000
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 0000000..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:
+# perl@gentoo.org
+# Seemant Kulleen <seemant@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 2>&1
+		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!"
+		eqawarn "           The 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: perl_delete_module_manpages
+# @DESCRIPTION:
+# Bump off manpages installed by the current module such as *.3pm files as well
+# as empty directories.
+perl_delete_module_manpages() {
+	debug-print-function $FUNCNAME "$@"
+
+	perl_set_eprefix
+
+	if [[ -d "${ED}"/usr/share/man ]] ; then
+#		einfo "Cleaning out stray man files"
+		find "${ED}"/usr/share/man -type f -name "*.3pm" -delete
+		find "${ED}"/usr/share/man -depth -type d -empty -delete
+	fi
+}
+
+# @FUNCTION: perl_delete_packlist
+# @USAGE: perl_delete_packlist
+# @DESCRIPTION:
+# Look through ${D} for .packlist files, empty .bs files and empty directories,
+# and get rid of items found.
+perl_delete_packlist() {
+	debug-print-function $FUNCNAME "$@"
+	perl_set_version
+	if [[ -d ${D}/${VENDOR_ARCH} ]] ; then
+		find "${D}/${VENDOR_ARCH}" -type f -a \( -name .packlist \
+			-o \( -name '*.bs' -a -empty \) \) -delete
+		find "${D}" -depth -mindepth 1 -type d -empty -delete
+	fi
+}
+
+# @FUNCTION: perl_remove_temppath
+# @USAGE: perl_remove_temppath
+# @DESCRIPTION:
+# Look through ${D} for text files containing the temporary installation
+# folder (i.e. ${D}). If the pattern is found (i.e. " text"), replace it with `/'.
+perl_remove_temppath() {
+	debug-print-function $FUNCNAME "$@"
+
+	find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do
+		if file "${f}" | grep -q -i " text" ; then
+			grep -q "${D}" "${f}" && ewarn "QA: File contains a temporary path ${f}"
+			sed -i -e "s:${D}:/:g" "${f}"
+		fi
+	done
+}
+
+# @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="${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 -f "${S}/${filename}"
+		[[ -e "${manifile}" ]] && echo "${filename}" >> "${skipfile}"
+	done
+	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"
+}
+
+# @FUNCTION: perl_link_duallife_scripts
+# @USAGE: perl_link_duallife_scripts
+# @DESCRIPTION:
+# Moves files and generates symlinks so dual-life packages installing scripts do not
+# lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and makes
+# only sense for perl-core packages.
+perl_link_duallife_scripts() {
+	debug-print-function $FUNCNAME "$@"
+	if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then
+		return 0
+	fi
+
+	perl_set_eprefix
+
+	local i ff 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
+			# 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%.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
+		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
+			#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
+			DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i}
+		done
+
+		einfo "Cleaning empty directories"
+		perl_trim_empty_dirs "${EROOT}/usr/bin"
+
+		popd > /dev/null
+	fi
+}
+
+# @FUNCTION: perl_qafatal
+# @USAGE: perl_qafatal TYPE "Die reason"
+# @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
+	local failreason=$2
+	if [[ "${PERLQAFATAL:-0}" == 1 ]]; then
+		eerror "Bailing out due to PERLQAFATAL including $failtype (==1)";
+		die "$failtype: $failreason"
+	fi
+	if has 'all' ${PERLQAFATAL}; then
+		eerror "Bailing out due to PERLQAFATAL including $failtype (all)";
+		die "$failtype: $failreason"
+	fi
+	if has $failtype ${PERLQAFATAL}; then
+		eerror "Bailing out due to PERLQAFATAL including $1";
+		die "$failtype: $failreason"
+	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:
+# 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 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;
+
+	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.
+		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
+		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 [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then
+		elog "Continuing anyway, seems you know what you're doing."
+		return
+	fi
+
+	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."
+}
+

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index d4d73ad..d2e5522 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -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 multiprocessing unpacker
+inherit eutils multiprocessing unpacker perl-functions
 [[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
 
 PERL_EXPF="src_unpack src_compile src_test src_install"
@@ -430,77 +430,6 @@ perl-module_pkg_postrm() {
 
 has perl_diagnostics ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" perl_diagnostics"
 
-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 2>&1
-		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!"
-		eqawarn "           The 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: perlinfo
 # @USAGE: perlinfo
@@ -514,19 +443,6 @@ perlinfo() {
 	perl_set_version
 }
 
-# @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: fixlocalpod
 # @USAGE: fixlocalpod
 # @DESCRIPTION:
@@ -538,260 +454,3 @@ fixlocalpod() {
 	ewarn "perl-modules.eclass: fixlocalpod is deprecated and will be removed. Please use perl_delete_localpod instead."
 	perl_delete_localpod
 }
-
-# @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: perl_delete_module_manpages
-# @DESCRIPTION:
-# Bump off manpages installed by the current module such as *.3pm files as well
-# as empty directories.
-perl_delete_module_manpages() {
-	debug-print-function $FUNCNAME "$@"
-
-	perl_set_eprefix
-
-	if [[ -d "${ED}"/usr/share/man ]] ; then
-#		einfo "Cleaning out stray man files"
-		find "${ED}"/usr/share/man -type f -name "*.3pm" -delete
-		find "${ED}"/usr/share/man -depth -type d -empty -delete
-	fi
-}
-
-# @FUNCTION: perl_delete_packlist
-# @USAGE: perl_delete_packlist
-# @DESCRIPTION:
-# Look through ${D} for .packlist files, empty .bs files and empty directories,
-# and get rid of items found.
-perl_delete_packlist() {
-	debug-print-function $FUNCNAME "$@"
-	perl_set_version
-	if [[ -d ${D}/${VENDOR_ARCH} ]] ; then
-		find "${D}/${VENDOR_ARCH}" -type f -a \( -name .packlist \
-			-o \( -name '*.bs' -a -empty \) \) -delete
-		find "${D}" -depth -mindepth 1 -type d -empty -delete
-	fi
-}
-
-# @FUNCTION: perl_remove_temppath
-# @USAGE: perl_remove_temppath
-# @DESCRIPTION:
-# Look through ${D} for text files containing the temporary installation
-# folder (i.e. ${D}). If the pattern is found (i.e. " text"), replace it with `/'.
-perl_remove_temppath() {
-	debug-print-function $FUNCNAME "$@"
-
-	find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do
-		if file "${f}" | grep -q -i " text" ; then
-			grep -q "${D}" "${f}" && ewarn "QA: File contains a temporary path ${f}"
-			sed -i -e "s:${D}:/:g" "${f}"
-		fi
-	done
-}
-
-# @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="${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 -f "${S}/${filename}"
-		[[ -e "${manifile}" ]] && echo "${filename}" >> "${skipfile}"
-	done
-	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"
-}
-
-# @FUNCTION: perl_link_duallife_scripts
-# @USAGE: perl_link_duallife_scripts
-# @DESCRIPTION:
-# Moves files and generates symlinks so dual-life packages installing scripts do not
-# lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and makes
-# only sense for perl-core packages.
-perl_link_duallife_scripts() {
-	debug-print-function $FUNCNAME "$@"
-	if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then
-		return 0
-	fi
-
-	perl_set_eprefix
-
-	local i ff 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
-			# 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%.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
-		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
-			#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
-			DUALLIFEMAN[${#DUALLIFEMAN[*]}]=${i}
-		done
-
-		einfo "Cleaning empty directories"
-		perl_trim_empty_dirs "${EROOT}/usr/bin"
-
-		popd > /dev/null
-	fi
-}
-
-# @FUNCTION: perl_qafatal
-# @USAGE: perl_qafatal TYPE "Die reason"
-# @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
-	local failreason=$2
-	if [[ "${PERLQAFATAL:-0}" == 1 ]]; then
-		eerror "Bailing out due to PERLQAFATAL including $failtype (==1)";
-		die "$failtype: $failreason"
-	fi
-	if has 'all' ${PERLQAFATAL}; then
-		eerror "Bailing out due to PERLQAFATAL including $failtype (all)";
-		die "$failtype: $failreason"
-	fi
-	if has $failtype ${PERLQAFATAL}; then
-		eerror "Bailing out due to PERLQAFATAL including $1";
-		die "$failtype: $failreason"
-	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:
-# 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 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;
-
-	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.
-		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
-		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 [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then
-		elog "Continuing anyway, seems you know what you're doing."
-		return
-	fi
-
-	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."
-}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-21  0:39 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-21  0:39 UTC (permalink / raw
  To: gentoo-commits

commit:     94b98bb0d11bfda14193cdb9c01c4c10d6e6f7ba
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Jun 21 00:14:19 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Jun 21 00:23:28 2015 +0000
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 0000000..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:
+# perl@gentoo.org
+# Kent Fredric <kentnl@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
+}
+


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-21  0:39 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-21  0:39 UTC (permalink / raw
  To: gentoo-commits

commit:     4789b645559d63cf8ec771d76cd66f9fd7937db0
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Sun Jun 21 00:24:35 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Sun Jun 21 00:24:35 2015 +0000
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}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2015-06-25  1:26 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2015-06-25  1:26 UTC (permalink / raw
  To: gentoo-commits

commit:     58c48f826fda0d1d65dc0d5ffae7fbcb753a4edf
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Thu Jun 25 01:23:44 2015 +0000
Commit:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
CommitDate: Thu Jun 25 01:23:44 2015 +0000
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
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     47de0a8955d04e02ef2cebd2b574417229c154f1
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:38:48 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:33 2017 +0000
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
 }


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     86642470fc266b5f8a38ad591b67afd6e480e5ad
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:39:17 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:33 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     1c9856f0a34d8538ebb3a20b7936b6a6a99bc200
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:40:31 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:33 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     ca7426cf1432dfc74331d2f106dfe3da2999bed8
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:42:12 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:34 2017 +0000
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}" \


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     7b90583916bc9d40af69abda084341fd2ee9450c
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:37:34 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:33 2017 +0000
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:


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     afb03689efd0c191928ecf021b0f70fca1dce9d4
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 05:47:35 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:32 2017 +0000
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
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     06649f5912fc007c582b782d0455b6a03dedaaf1
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 05:49:45 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:33 2017 +0000
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 tar.gz. Named MODULE_A_EXT in EAPI=5.
+
+# @ECLASS-VARIABLE: DIST_A
+# @DESCRIPTION:
+# (EAPI=6) This variable provides a way to override the distfile name for the calculation of
+# SRC_URI. Defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5.
 
-[[ -n ${MODULE_DZIL_TRIAL} ]] && S="${S%-TRIAL}"
+# @ECLASS-VARIABLE: DIST_AUTHOR
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=6) This variable sets the module author name for the calculation of
+# SRC_URI. Named MODULE_AUTHOR in EAPI=5.
 
-[[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \
-	MODULE_A="${MY_P:-${P}}.${MODULE_A_EXT:-tar.gz}"
-[[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \
-	SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}"
-[[ -z "${HOMEPAGE}" ]] && \
-	HOMEPAGE="http://search.cpan.org/dist/${MY_PN:-${PN}}/"
+# @ECLASS-VARIABLE: DIST_SECTION
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=6) This variable sets the module section for the calculation of
+# SRC_URI. Only required in rare cases for very special snowflakes.
+# Named MODULE_SECTION in EAPI=5.
+
+if [[ ${EAPI:-0} == 5 ]]; then
+	if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
+		: ${MY_P:=${MY_PN:-${PN}}-${MY_PV:-${MODULE_VERSION:-${PV}}}}
+		S=${MY_S:-${WORKDIR}/${MY_P}}
+	fi
+	MODULE_NAME=${MY_PN:-${PN}}
+	MODULE_P=${MY_P:-${P}}
+
+	[[ -z "${SRC_URI}" && -z "${MODULE_A}" ]] && \
+		MODULE_A="${MODULE_P}.${MODULE_A_EXT:-tar.gz}"
+	[[ -z "${SRC_URI}" && -n "${MODULE_AUTHOR}" ]] && \
+		SRC_URI="mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MODULE_SECTION:+${MODULE_SECTION}/}${MODULE_A}"
+	[[ -z "${HOMEPAGE}" ]] && \
+		HOMEPAGE="http://search.cpan.org/dist/${MODULE_NAME}/"
+
+	SRC_TEST="skip"
+else
+	DIST_NAME=${DIST_NAME:-${PN}}
+	DIST_P=${DIST_NAME}-${DIST_VERSION:-${PV}}
+	S=${WORKDIR}/${DIST_P}
+
+	[[ -z "${SRC_URI}" && -z "${DIST_A}" ]] && \
+		DIST_A="${DIST_P}.${DIST_A_EXT:-tar.gz}"
+	[[ -z "${SRC_URI}" && -n "${DIST_AUTHOR}" ]] && \
+		SRC_URI="mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${DIST_SECTION:+${DIST_SECTION}/}${DIST_A}"
+	[[ -z "${HOMEPAGE}" ]] && \
+		HOMEPAGE="http://search.cpan.org/dist/${DIST_NAME}/"
+fi
 
 SRC_PREP="no"
 SRC_TEST="skip"


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     fe459db9888c8b04007820d488349b05edaf3a61
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:41:31 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:34 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     f473f7cbd4bb64ceb543e464565d2b536a3ecc0c
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:40:10 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:33 2017 +0000
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[@]}"


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     73a0bc56fb219717618f974a4f1d96ea9fde69c7
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:45:39 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:35 2017 +0000
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
 }


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     813980f0ceafc5816f556387d4332fdd78b9f2a4
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:46:03 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:35 2017 +0000
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
 }


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     ed840e0aa89638422581bd62a0985ba524873f3d
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 03:56:30 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:38 2017 +0000
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
+}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     827cfafd22e458208ed384e48e71e57c9c333b05
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 06:25:35 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:38 2017 +0000
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
 }
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     8a10fbbec5dcca39cd0680dd47add7925947a208
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 06:25:51 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:35 2017 +0000
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
 }
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     60b86b0b85f41fe4a288410c27f928e27f987c4a
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 03:58:31 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:38 2017 +0000
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: <option name>
+# @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}
+}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     6aad2715aa7be4d95218214023e8730ead0abd1c
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 06:21:04 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:34 2017 +0000
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 -- \


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     eb040de5e03592c3aa264772942612abe67325d2
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:44:52 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:34 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     8d9b2b281577717bb223f50b24f57ed4eaebd56c
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 09:58:36 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:34 2017 +0000
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."
+}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     11e52068ff5158fdf6aaae7482441b306748ef45
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 20:54:10 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:37 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     775dcb129011fbc2b30135ebe963791556fe7232
Author:     Kent Fredric <kentfredric <AT> gmail <DOT> com>
AuthorDate: Mon Apr 11 06:44:02 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:07:34 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     0e14c664b964314a0a4830100ac63b3d604c27ab
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 03:56:30 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:38 2017 +0000
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}"
+}


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     a02c6eaf26f440d9cdca673672f7cccf3fc1535f
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 02:12:17 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:37 2017 +0000
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
+}
+


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     91fd2768eb6b0df7aefdd43b7a41d707ccdb7a55
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 06:33:42 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:39 2017 +0000
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
 }


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     85be8a2170d0a7e948ea1dcc7f8760fc0b63ba4a
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 06:29:27 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:38 2017 +0000
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;


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [gentoo-commits] proj/perl-overlay:master commit in: eclass/
@ 2017-09-17  0:51 Kent Fredric
  0 siblings, 0 replies; 59+ messages in thread
From: Kent Fredric @ 2017-09-17  0:51 UTC (permalink / raw
  To: gentoo-commits

commit:     e7a58393c16d853a165ec56d2637d4c1649ff033
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 21:59:56 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 00:39:39 2017 +0000
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


^ permalink raw reply related	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2017-09-17  0:52 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-23 13:04 [gentoo-commits] proj/perl-overlay:master commit in: eclass/ Torsten Veller
  -- strict thread matches above, loose matches on Subject: below --
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2017-09-17  0:51 Kent Fredric
2015-06-25  1:26 Kent Fredric
2015-06-21  0:39 Kent Fredric
2015-06-21  0:39 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-06-20 22:13 Kent Fredric
2015-03-26 12:14 Kent Fredric
2015-03-15 17:06 Kent Fredric
2015-03-15  5:10 Kent Fredric
2015-03-15  5:10 Kent Fredric
2014-12-23 18:19 Kent Fredric
2014-12-23 18:19 Kent Fredric
2014-12-23 14:43 Kent Fredric
2014-10-11 18:46 Kent Fredric
2014-10-11 18:46 Kent Fredric
2014-10-11 18:46 Kent Fredric
2014-08-26 19:06 Kent Fredric
2014-08-24 13:56 Kent Fredric
2014-08-20 13:24 Kent Fredric
2014-04-04 23:09 Kent Fredric
2013-09-17  4:35 Kent Fredric
2013-09-17  4:28 Kent Fredric
2013-04-28 16:53 Kent Fredric
2012-09-15 16:58 Torsten Veller
2012-06-07  6:06 Torsten Veller
2012-06-05 18:22 Torsten Veller
2012-06-05 18:22 Torsten Veller
2012-04-23 13:04 Torsten Veller
2012-04-23 13:04 Torsten Veller
2011-08-16 17:02 Torsten Veller
2011-04-24  8:37 Torsten Veller
2011-02-04  8:15 tove

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox