[gentoo-dev] [PATCH 3/3] perl-module.eclass: Add EAPI=8 support

2021-06-19 Thread dilfridge
From: Andreas K. Hüttel 

New features: DIST_WIKI and DIST_MAKE
File permissions are fixed on installation

Bug: https://bugs.gentoo.org/733020
Bug: https://bugs.gentoo.org/554346
Bug: https://bugs.gentoo.org/261375
Signed-off-by: Andreas K. Hüttel 
---
 eclass/perl-module.eclass | 89 +--
 1 file changed, 76 insertions(+), 13 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 3f7e4100db07..6285e9363156 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -7,7 +7,7 @@
 # @AUTHOR:
 # Seemant Kulleen 
 # Andreas K. Hüttel 
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: eclass for installing Perl module distributions
 # @DESCRIPTION:
 # The perl-module eclass is designed to allow easier installation of Perl
@@ -27,6 +27,10 @@ case ${EAPI:-0} in
inherit multiprocessing perl-functions
PERL_EXPF="src_prepare src_configure src_compile src_test 
src_install"
;;
+   8)
+   inherit multiprocessing perl-functions readme.gentoo-r1
+   PERL_EXPF="src_prepare src_configure src_compile src_test 
src_install"
+   ;;
*)
die "EAPI=${EAPI} is not supported by perl-module.eclass"
;;
@@ -99,7 +103,7 @@ case ${EAPI:-0} in
 
EXPORT_FUNCTIONS ${PERL_EXPF}
;;
-   7)
+   *)
[[ ${CATEGORY} == perl-core ]] && \
PERL_EXPF+=" pkg_postinst pkg_postrm"
 
@@ -126,9 +130,6 @@ case ${EAPI:-0} in
 
EXPORT_FUNCTIONS ${PERL_EXPF}
;;
-   *)
-   die "EAPI=${EAPI:-0} is not supported by perl-module.eclass"
-   ;;
 esac
 
 LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
@@ -180,6 +181,25 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
 # 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.
 
+# @ECLASS-VARIABLE: DIST_WIKI
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# (EAPI=8 and later) This variable can be set to contain space-separated 
keywords
+# corresponding to article sections in a maintenance notes wiki article. If a
+# keyword is set, an ebuild phase can output a message and a link to the wiki.
+# Current keywords as of EAPI=8 are:
+# * features: Notes about additional dependencies for optional features
+# * tests:Notes about additional dependencies and preparations needed for 
testing
+
+# @ECLASS-VARIABLE: DIST_MAKE
+# @DESCRIPTION:
+# (EAPI=8 and later) This Bash array contains parameters to the make call
+# from ExtUtils::MakeMaker. Replaces mymake in EAPI=7 and earlier.
+# Defaults to ( OPTIMIZE="${CFLAGS}" )
+if [[ $(declare -p DIST_MAKE 2>&-) != "declare -a DIST_MAKE="* ]]; then
+   DIST_MAKE=( OPTIMIZE="${CFLAGS}" )
+fi
+
 
 if [[ ${EAPI:-0} == 5 ]]; then
if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
@@ -343,11 +363,18 @@ perl-module_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
+   case ${EAPI} in
+   5|6|7)
+   if [[ $(declare -p mymake 2>&-) != "declare -a 
mymake="* ]]; then
+   local mymake_local=(${mymake})
+   else
+   local mymake_local=("${mymake[@]}")
+   fi
+   ;;
+   *)
+   local mymake_local=("${DIST_MAKE[@]}")
+   ;;
+   esac
 
if [[ -f Build ]] ; then
./Build build \
@@ -396,7 +423,7 @@ perl-module_src_test() {
local my_test_control
local my_test_verbose
 
-   if [[ ${EAPI:-0} == 5 ]] ; then
+   if [[ ${EAPI} == 5 ]] ; then
my_test_control=${SRC_TEST}
my_test_verbose=${TEST_VERBOSE:-0}
if has 'do' ${my_test_control} || has 'parallel' 
${my_test_control} ; then
@@ -434,6 +461,18 @@ perl-module_src_test() {
fi
fi
 
+   case ${EAPI} in
+   5|6|7)
+   ;;
+   *)
+   if has 'tests' ${DIST_WIKI} ; then
+   ewarn "This package may require additional 
dependencies and/or preparation steps for"
+   ewarn "comprehensive testing. For details, see:"
+   ewarn "$(perl_get_wikiurl_tests)"
+   fi
+   ;;
+   esac
+
perl_set_version
if [[ -f Build ]] ; then
./Build test verbose=${my_test_verbose} || die "test failed"
@@ -473,9 +512,17 @@ 

[gentoo-dev] [PATCH 2/3] perl-functions.eclass: Add new helpers for EAPI=8 ...

2021-06-19 Thread dilfridge
From: Andreas K. Hüttel 

... and fix an existing one.

fperms works on ${D} by default, so we can give it / to operate on.

Bug: https://bugs.gentoo.org/554346
Bug: https://bugs.gentoo.org/733020
Signed-off-by: Andreas K. Hüttel 
---
 eclass/perl-functions.eclass | 35 ---
 1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 8633f384f1bf..d0a082797265 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -8,7 +8,7 @@
 # Seemant Kulleen 
 # Andreas K. Huettel 
 # Kent Fredric 
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7 8
 # @BLURB: helper functions eclass for perl modules
 # @DESCRIPTION:
 # The perl-functions eclass is designed to allow easier installation of perl
@@ -19,7 +19,7 @@
 [[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
 
 case "${EAPI:-0}" in
-   5|6|7)
+   5|6|7|8)
;;
*)
die "EAPI=${EAPI} is not supported by perl-functions.eclass"
@@ -134,7 +134,8 @@ perl_delete_emptybsdir() {
 perl_fix_permissions() {
debug-print-function $FUNCNAME "$@"
perl_set_version
-   fperms -R u+w "${D}"
+   einfo Fixing installed file permissions
+   fperms -R u+w /
 }
 
 # @FUNCTION: perl_fix_packlist
@@ -596,3 +597,31 @@ perl_domodule() {
insinto "/${target#/}"
doins "${doins_opts[@]}" "${files[@]}"
 }
+
+# @FUNCTION: perl_get_wikiurl
+# @DESCRIPTION:
+# Convenience helper for returning the Gentoo Wiki maintenance page URL of a
+# package. Optionally a suffix can be passed for an in-page anchor.
+#
+# Example:
+# @CODE
+# my_url="$(perl_get_wikiurl Testing)"
+# @CODE
+
+perl_get_wikiurl() {
+   debug-print-function $FUNCNAME "$@"
+
+   if [[ "" == ${1} ]]; then
+   echo 
"https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN};
+   else
+   echo 
"https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}#${1};
+   fi
+}
+
+perl_get_wikiurl_features() {
+   perl_get_wikiurl Optional_Features
+}
+
+perl_get_wikiurl_tests() {
+   perl_get_wikiurl Testing
+}
-- 
2.31.1




[gentoo-dev] [PATCH 1/3] readme.gentoo-r1.eclass: works just fine with EAPI=8

2021-06-19 Thread dilfridge
From: Andreas K. Hüttel 

Signed-off-by: Andreas K. Hüttel 
---
 eclass/readme.gentoo-r1.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index dfa3b52b6765..ce492b900104 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -6,7 +6,7 @@
 # Pacho Ramos 
 # @AUTHOR:
 # Author: Pacho Ramos 
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 4 5 6 7 8
 # @BLURB: install a doc file shown via elog messages
 # @DESCRIPTION:
 # An eclass for installing a README.gentoo doc file recording tips
@@ -24,7 +24,7 @@ case "${EAPI:-0}" in
0|1|2|3)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;;
-   4|5|6|7)
+   4|5|6|7|8)
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
-- 
2.31.1




[gentoo-dev] [PATCH] perl-module.eclass: Also populate BDEPEND in EAPI=7

2019-08-14 Thread dilfridge
From: Andreas K. Hüttel 

In addition, no slot op in DEPEND.

Signed-off-by: Andreas K. Hüttel 
---
 eclass/perl-module.eclass | 31 +--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 81f79992d766..e1fb97df3260 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -72,13 +72,13 @@ case ${EAPI:-0} in
;;
esac
;;
-   6|7)
+   6)
[[ ${CATEGORY} == perl-core ]] && \
PERL_EXPF+=" pkg_postinst pkg_postrm"
 
case "${GENTOO_DEPEND_ON_PERL:-yes}" in
yes)
-   DEPEND="dev-lang/perl:="
+   DEPEND="dev-lang/perl"
RDEPEND="dev-lang/perl:="
;;
noslotop)
@@ -97,6 +97,33 @@ case ${EAPI:-0} in
die"phase functions, perl-functions.eclass if not."
fi
 
+   EXPORT_FUNCTIONS ${PERL_EXPF}
+   ;;
+   7)
+   [[ ${CATEGORY} == perl-core ]] && \
+   PERL_EXPF+=" pkg_postinst pkg_postrm"
+
+   case "${GENTOO_DEPEND_ON_PERL:-yes}" in
+   yes)
+   DEPEND="dev-lang/perl"
+   BDEPEND="dev-lang/perl"
+   RDEPEND="dev-lang/perl:="
+   ;;
+   noslotop)
+   DEPEND="dev-lang/perl"
+   BDEPEND="dev-lang/perl"
+   RDEPEND="dev-lang/perl"
+   ;;
+   esac
+
+   if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then
+   die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in 
EAPI=6 and later."
+   fi
+
+   if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then
+   die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 
and later."
+   fi
+
EXPORT_FUNCTIONS ${PERL_EXPF}
;;
*)
-- 
2.22.0




[gentoo-dev] [PATCH 1/4] package.mask: Move ICU-59 mask from main package.mask to base profile mask

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

---
 profiles/base/package.mask | 6 ++
 profiles/package.mask  | 6 --
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/profiles/base/package.mask b/profiles/base/package.mask
index 320a6bbb1a0c..6fa75c0ec35a 100644
--- a/profiles/base/package.mask
+++ b/profiles/base/package.mask
@@ -1,2 +1,8 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Hüttel  (27 May 2017)
+# This release and later require C++11 or C++14
+# So we mask it here, and unmask in 17.0 release profiles
+>=dev-libs/icu-59
+>=dev-libs/icu-layoutex-59
diff --git a/profiles/package.mask b/profiles/package.mask
index df1f6d7ce5a3..113cb93fdcdd 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -454,12 +454,6 @@ sci-chemistry/mead
 # dependencies. See #594134. To be removed in 30 days.
 sys-fabric/libibvpp
 
-# Andreas K. Hüttel  (13 May 2017)
-# This release breaks lots of reverse deps because of conflicting types.
-# So let's get it in the tree, mask it and test.
-=dev-libs/icu-59*
-=dev-libs/icu-layoutex-59*
-
 # Michael Orlitzky  (11 May 2017)
 # Neither of these packages has a clear license, and both are
 # unmaintained (and probably unused). No reverse dependencies,
-- 
2.13.1




[gentoo-dev] [PATCH 4/4] package.use.mask: Mask ICU supprt of Qt:4 on 17.0 profiles

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

---
 profiles/releases/17.0/package.use.mask | 5 +
 1 file changed, 5 insertions(+)

diff --git a/profiles/releases/17.0/package.use.mask 
b/profiles/releases/17.0/package.use.mask
index 8eefcfe631ea..9a6609274ad1 100644
--- a/profiles/releases/17.0/package.use.mask
+++ b/profiles/releases/17.0/package.use.mask
@@ -4,3 +4,8 @@
 # Andreas K. Hüttel  (27 May 2017)
 # Unmask default-PIE on 17.0 profiles.
 sys-devel/gcc -pie
+
+# Andreas K. Hüttel  (7 June 2017)
+# Qt-4 will never work with >=icu-59, see bug 618638 and bug 618640
+dev-qt/qtcore:4 icu
+dev-qt/qtwebkit:4 icu
-- 
2.13.1




[gentoo-dev] [PATCH 3/4] profiles: Add amd64 17.0 profiles (identical to 13.0 except for one parent entry)

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

---
 profiles/default/linux/amd64/17.0/desktop/eapi  | 1 +
 profiles/default/linux/amd64/17.0/desktop/gnome/eapi| 1 +
 profiles/default/linux/amd64/17.0/desktop/gnome/parent  | 2 ++
 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi| 1 +
 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent  | 2 ++
 profiles/default/linux/amd64/17.0/desktop/parent| 2 ++
 profiles/default/linux/amd64/17.0/desktop/plasma/eapi   | 1 +
 profiles/default/linux/amd64/17.0/desktop/plasma/parent | 2 ++
 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi   | 1 +
 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent | 2 ++
 profiles/default/linux/amd64/17.0/developer/eapi| 1 +
 profiles/default/linux/amd64/17.0/developer/make.defaults   | 7 +++
 profiles/default/linux/amd64/17.0/developer/parent  | 2 ++
 profiles/default/linux/amd64/17.0/eapi  | 1 +
 profiles/default/linux/amd64/17.0/no-multilib/eapi  | 1 +
 profiles/default/linux/amd64/17.0/no-multilib/parent| 2 ++
 profiles/default/linux/amd64/17.0/parent| 2 ++
 profiles/default/linux/amd64/17.0/selinux/eapi  | 1 +
 profiles/default/linux/amd64/17.0/selinux/parent| 2 ++
 profiles/default/linux/amd64/17.0/systemd/eapi  | 1 +
 profiles/default/linux/amd64/17.0/systemd/parent| 2 ++
 profiles/default/linux/amd64/17.0/x32/eapi  | 1 +
 profiles/default/linux/amd64/17.0/x32/make.defaults | 4 
 profiles/default/linux/amd64/17.0/x32/parent| 2 ++
 24 files changed, 44 insertions(+)
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/parent
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi
 create mode 100644 
profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/parent
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/parent
 create mode 100644 
profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi
 create mode 100644 
profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent
 create mode 100644 profiles/default/linux/amd64/17.0/developer/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/developer/make.defaults
 create mode 100644 profiles/default/linux/amd64/17.0/developer/parent
 create mode 100644 profiles/default/linux/amd64/17.0/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/parent
 create mode 100644 profiles/default/linux/amd64/17.0/parent
 create mode 100644 profiles/default/linux/amd64/17.0/selinux/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/selinux/parent
 create mode 100644 profiles/default/linux/amd64/17.0/systemd/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/systemd/parent
 create mode 100644 profiles/default/linux/amd64/17.0/x32/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/x32/make.defaults
 create mode 100644 profiles/default/linux/amd64/17.0/x32/parent

diff --git a/profiles/default/linux/amd64/17.0/desktop/eapi 
b/profiles/default/linux/amd64/17.0/desktop/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/eapi 
b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/parent 
b/profiles/default/linux/amd64/17.0/desktop/gnome/parent
new file mode 100644
index ..6589a0e01478
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/parent
@@ -0,0 +1,2 @@
+..
+../../../../../../targets/desktop/gnome
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi 
b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent 
b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent
new file mode 100644
index ..44f88d3e2df0
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent
@@ -0,0 +1,2 @@
+..
+../../../../../../../targets/systemd
diff 

[gentoo-dev] [PATCH 2/4] profiles: Add 17.0 release profile

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

* Require >=gcc-6 with PIE forced on
* Unmask ICU-59 and later
---
 profiles/releases/17.0/eapi  | 1 +
 profiles/releases/17.0/make.defaults | 5 +
 profiles/releases/17.0/package.mask  | 6 ++
 profiles/releases/17.0/package.unmask| 9 +
 profiles/releases/17.0/package.use.force | 6 ++
 profiles/releases/17.0/package.use.mask  | 6 ++
 profiles/releases/17.0/parent| 1 +
 7 files changed, 34 insertions(+)
 create mode 100644 profiles/releases/17.0/eapi
 create mode 100644 profiles/releases/17.0/make.defaults
 create mode 100644 profiles/releases/17.0/package.mask
 create mode 100644 profiles/releases/17.0/package.unmask
 create mode 100644 profiles/releases/17.0/package.use.force
 create mode 100644 profiles/releases/17.0/package.use.mask
 create mode 100644 profiles/releases/17.0/parent

diff --git a/profiles/releases/17.0/eapi b/profiles/releases/17.0/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/releases/17.0/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/releases/17.0/make.defaults 
b/profiles/releases/17.0/make.defaults
new file mode 100644
index ..475e60c7d655
--- /dev/null
+++ b/profiles/releases/17.0/make.defaults
@@ -0,0 +1,5 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Adding this one, since it makes sense.
+USE="bzip2"
diff --git a/profiles/releases/17.0/package.mask 
b/profiles/releases/17.0/package.mask
new file mode 100644
index ..943ae2b6a65c
--- /dev/null
+++ b/profiles/releases/17.0/package.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Huettel  (27 May 2017)
+# Require a gcc here that uses C++14 or later as default setting
+ (27 May 2017)
+# We can unmask ICU 59 and later now we for sure have a recent GCC
+# Note: "and later" is safe here since the profiles/package.mask
+# still overrides.
+>=dev-libs/icu-59
+>=dev-libs/icu-layoutex-59
diff --git a/profiles/releases/17.0/package.use.force 
b/profiles/releases/17.0/package.use.force
new file mode 100644
index ..e0b6784ee1e7
--- /dev/null
+++ b/profiles/releases/17.0/package.use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Hüttel  (27 May 2017)
+# Force default-PIE build on 17.0 profiles.
+sys-devel/gcc pie
diff --git a/profiles/releases/17.0/package.use.mask 
b/profiles/releases/17.0/package.use.mask
new file mode 100644
index ..8eefcfe631ea
--- /dev/null
+++ b/profiles/releases/17.0/package.use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Hüttel  (27 May 2017)
+# Unmask default-PIE on 17.0 profiles.
+sys-devel/gcc -pie
diff --git a/profiles/releases/17.0/parent b/profiles/releases/17.0/parent
new file mode 100644
index ..f3229c5b9876
--- /dev/null
+++ b/profiles/releases/17.0/parent
@@ -0,0 +1 @@
+..
-- 
2.13.1




[gentoo-dev] [PATCH 1/4] package.mask: Move ICU-59 mask from main package.mask to base profile mask

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

---
 profiles/base/package.mask | 6 ++
 profiles/package.mask  | 6 --
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/profiles/base/package.mask b/profiles/base/package.mask
index 320a6bbb1a0c..6fa75c0ec35a 100644
--- a/profiles/base/package.mask
+++ b/profiles/base/package.mask
@@ -1,2 +1,8 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Hüttel  (27 May 2017)
+# This release and later require C++11 or C++14
+# So we mask it here, and unmask in 17.0 release profiles
+>=dev-libs/icu-59
+>=dev-libs/icu-layoutex-59
diff --git a/profiles/package.mask b/profiles/package.mask
index df1f6d7ce5a3..113cb93fdcdd 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -454,12 +454,6 @@ sci-chemistry/mead
 # dependencies. See #594134. To be removed in 30 days.
 sys-fabric/libibvpp
 
-# Andreas K. Hüttel  (13 May 2017)
-# This release breaks lots of reverse deps because of conflicting types.
-# So let's get it in the tree, mask it and test.
-=dev-libs/icu-59*
-=dev-libs/icu-layoutex-59*
-
 # Michael Orlitzky  (11 May 2017)
 # Neither of these packages has a clear license, and both are
 # unmaintained (and probably unused). No reverse dependencies,
-- 
2.13.1




[gentoo-dev] [PATCH 2/4] profiles: Add 17.0 release profile

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

* Require >=gcc-6 with PIE forced on
* Unmask ICU-59 and later
---
 profiles/releases/17.0/eapi  | 1 +
 profiles/releases/17.0/make.defaults | 5 +
 profiles/releases/17.0/package.mask  | 6 ++
 profiles/releases/17.0/package.unmask| 9 +
 profiles/releases/17.0/package.use.force | 6 ++
 profiles/releases/17.0/package.use.mask  | 6 ++
 profiles/releases/17.0/parent| 1 +
 7 files changed, 34 insertions(+)
 create mode 100644 profiles/releases/17.0/eapi
 create mode 100644 profiles/releases/17.0/make.defaults
 create mode 100644 profiles/releases/17.0/package.mask
 create mode 100644 profiles/releases/17.0/package.unmask
 create mode 100644 profiles/releases/17.0/package.use.force
 create mode 100644 profiles/releases/17.0/package.use.mask
 create mode 100644 profiles/releases/17.0/parent

diff --git a/profiles/releases/17.0/eapi b/profiles/releases/17.0/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/releases/17.0/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/releases/17.0/make.defaults 
b/profiles/releases/17.0/make.defaults
new file mode 100644
index ..475e60c7d655
--- /dev/null
+++ b/profiles/releases/17.0/make.defaults
@@ -0,0 +1,5 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Adding this one, since it makes sense.
+USE="bzip2"
diff --git a/profiles/releases/17.0/package.mask 
b/profiles/releases/17.0/package.mask
new file mode 100644
index ..943ae2b6a65c
--- /dev/null
+++ b/profiles/releases/17.0/package.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Huettel  (27 May 2017)
+# Require a gcc here that uses C++14 or later as default setting
+ (27 May 2017)
+# We can unmask ICU 59 and later now we for sure have a recent GCC
+# Note: "and later" is safe here since the profiles/package.mask
+# still overrides.
+>=dev-libs/icu-59
+>=dev-libs/icu-layoutex-59
diff --git a/profiles/releases/17.0/package.use.force 
b/profiles/releases/17.0/package.use.force
new file mode 100644
index ..e0b6784ee1e7
--- /dev/null
+++ b/profiles/releases/17.0/package.use.force
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Hüttel  (27 May 2017)
+# Force default-PIE build on 17.0 profiles.
+sys-devel/gcc pie
diff --git a/profiles/releases/17.0/package.use.mask 
b/profiles/releases/17.0/package.use.mask
new file mode 100644
index ..8eefcfe631ea
--- /dev/null
+++ b/profiles/releases/17.0/package.use.mask
@@ -0,0 +1,6 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Andreas K. Hüttel  (27 May 2017)
+# Unmask default-PIE on 17.0 profiles.
+sys-devel/gcc -pie
diff --git a/profiles/releases/17.0/parent b/profiles/releases/17.0/parent
new file mode 100644
index ..f3229c5b9876
--- /dev/null
+++ b/profiles/releases/17.0/parent
@@ -0,0 +1 @@
+..
-- 
2.13.1




[gentoo-dev] [PATCH 4/4] package.use.mask: Mask ICU supprt of Qt:4 on 17.0 profiles

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

---
 profiles/releases/17.0/package.use.mask | 5 +
 1 file changed, 5 insertions(+)

diff --git a/profiles/releases/17.0/package.use.mask 
b/profiles/releases/17.0/package.use.mask
index 8eefcfe631ea..9a6609274ad1 100644
--- a/profiles/releases/17.0/package.use.mask
+++ b/profiles/releases/17.0/package.use.mask
@@ -4,3 +4,8 @@
 # Andreas K. Hüttel  (27 May 2017)
 # Unmask default-PIE on 17.0 profiles.
 sys-devel/gcc -pie
+
+# Andreas K. Hüttel  (7 June 2017)
+# Qt-4 will never work with >=icu-59, see bug 618638 and bug 618640
+dev-qt/qtcore:4 icu
+dev-qt/qtwebkit:4 icu
-- 
2.13.1




[gentoo-dev] [PATCH 3/4] profiles: Add amd64 17.0 profiles (identical to 13.0 except for one parent entry)

2017-06-07 Thread dilfridge
From: Andreas K. Hüttel 

---
 profiles/default/linux/amd64/17.0/desktop/eapi  | 1 +
 profiles/default/linux/amd64/17.0/desktop/gnome/eapi| 1 +
 profiles/default/linux/amd64/17.0/desktop/gnome/parent  | 2 ++
 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi| 1 +
 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent  | 2 ++
 profiles/default/linux/amd64/17.0/desktop/parent| 2 ++
 profiles/default/linux/amd64/17.0/desktop/plasma/eapi   | 1 +
 profiles/default/linux/amd64/17.0/desktop/plasma/parent | 2 ++
 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi   | 1 +
 profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent | 2 ++
 profiles/default/linux/amd64/17.0/developer/eapi| 1 +
 profiles/default/linux/amd64/17.0/developer/make.defaults   | 7 +++
 profiles/default/linux/amd64/17.0/developer/parent  | 2 ++
 profiles/default/linux/amd64/17.0/eapi  | 1 +
 profiles/default/linux/amd64/17.0/no-multilib/eapi  | 1 +
 profiles/default/linux/amd64/17.0/no-multilib/parent| 2 ++
 profiles/default/linux/amd64/17.0/parent| 2 ++
 profiles/default/linux/amd64/17.0/selinux/eapi  | 1 +
 profiles/default/linux/amd64/17.0/selinux/parent| 2 ++
 profiles/default/linux/amd64/17.0/systemd/eapi  | 1 +
 profiles/default/linux/amd64/17.0/systemd/parent| 2 ++
 profiles/default/linux/amd64/17.0/x32/eapi  | 1 +
 profiles/default/linux/amd64/17.0/x32/make.defaults | 4 
 profiles/default/linux/amd64/17.0/x32/parent| 2 ++
 24 files changed, 44 insertions(+)
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/parent
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi
 create mode 100644 
profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/parent
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/desktop/plasma/parent
 create mode 100644 
profiles/default/linux/amd64/17.0/desktop/plasma/systemd/eapi
 create mode 100644 
profiles/default/linux/amd64/17.0/desktop/plasma/systemd/parent
 create mode 100644 profiles/default/linux/amd64/17.0/developer/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/developer/make.defaults
 create mode 100644 profiles/default/linux/amd64/17.0/developer/parent
 create mode 100644 profiles/default/linux/amd64/17.0/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/no-multilib/parent
 create mode 100644 profiles/default/linux/amd64/17.0/parent
 create mode 100644 profiles/default/linux/amd64/17.0/selinux/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/selinux/parent
 create mode 100644 profiles/default/linux/amd64/17.0/systemd/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/systemd/parent
 create mode 100644 profiles/default/linux/amd64/17.0/x32/eapi
 create mode 100644 profiles/default/linux/amd64/17.0/x32/make.defaults
 create mode 100644 profiles/default/linux/amd64/17.0/x32/parent

diff --git a/profiles/default/linux/amd64/17.0/desktop/eapi 
b/profiles/default/linux/amd64/17.0/desktop/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/eapi 
b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/parent 
b/profiles/default/linux/amd64/17.0/desktop/gnome/parent
new file mode 100644
index ..6589a0e01478
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/parent
@@ -0,0 +1,2 @@
+..
+../../../../../../targets/desktop/gnome
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi 
b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi
new file mode 100644
index ..7ed6ff82de6b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent 
b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent
new file mode 100644
index ..44f88d3e2df0
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/desktop/gnome/systemd/parent
@@ -0,0 +1,2 @@
+..
+../../../../../../../targets/systemd
diff 

[gentoo-dev] [PATCH 06/15] perl-module.eclass: Introduce MODULE_NAME and MODULE_P while still keeping existing weirdness compatible

2015-12-11 Thread dilfridge
From: Andreas K. Hüttel 

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 9d87b17..6a5f2ff 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -106,13 +106,15 @@ 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="${MY_P:-${P}}.${MODULE_A_EXT:-tar.gz}"
+   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/${MY_PN:-${PN}}/;
+   HOMEPAGE="http://search.cpan.org/dist/${MODULE_NAME}/;
 
 SRC_PREP="no"
 SRC_TEST="skip"
-- 
2.6.3




[gentoo-dev] [PATCH 04/15] perl-module.eclass: Use default unpacking from EAPI=6 on

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 734de11..8caa981 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -15,9 +15,20 @@
 # All exported functions from perl-functions.eclass (inherited here)
 # explicitly also belong to the interface of perl-module.eclass.
 
-inherit eutils multiprocessing unpacker perl-functions
+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 eutils 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
 
-PERL_EXPF="src_unpack src_prepare src_configure src_compile src_test 
src_install"
 
 case "${EAPI:-0}" in
5)
@@ -116,7 +127,7 @@ pm_echovar=""
 # This function is to be called during the ebuild src_unpack() phase.
 perl-module_src_unpack() {
debug-print-function $FUNCNAME "$@"
-
+   [[ ${EAPI}==5 ]] || die "perl-module_src_unpack is banned in EAPI=6 or 
later"
unpacker_src_unpack
 }
 
-- 
2.6.3




[gentoo-dev] [PATCH 02/15] perl-module.eclass: Remove references to perlinfo_done

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 82c72fc..78fa01d 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -108,7 +108,6 @@ SRC_TEST="skip"
 PREFER_BUILDPL="yes"
 
 pm_echovar=""
-perlinfo_done=false
 
 # @FUNCTION: perl-module_src_unpack
 # @USAGE: perl-module_src_unpack
@@ -271,7 +270,7 @@ perl-module_src_test() {
export HARNESS_OPTIONS=j$(makeopts_jobs)
einfo "Test::Harness Jobs=$(makeopts_jobs)"
fi
-   ${perlinfo_done} || perl_set_version
+   perl_set_version
if [[ -f Build ]] ; then
./Build test verbose=${TEST_VERBOSE:-0} || die "test 
failed"
elif [[ -f Makefile ]] ; then
-- 
2.6.3




[gentoo-dev] [PATCH 05/15] perl-module.eclass: Use eapply from EAPI=6 on and always call eapply_user

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 8caa981..9d87b17 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -138,9 +138,17 @@ perl-module_src_unpack() {
 # This function is to be called during the ebuild src_prepare() phase.
 perl-module_src_prepare() {
debug-print-function $FUNCNAME "$@"
-   [[ ${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
+   [[ ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+   debug-print "$FUNCNAME: applying user patches"
+   eapply_user
+   fi
+
if [[ ${PERL_RM_FILES[@]} ]]; then
debug-print "$FUNCNAME: stripping unneeded files"
perl_rm_files "${PERL_RM_FILES[@]}"
-- 
2.6.3




[gentoo-dev] [PATCH 01/15] perl-module.eclass: Allow EAPI=6, ban PERL_EXPORT_PHASE_FUNCTIONS there, simplify perl dependency

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 5a476d2..82c72fc 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -37,21 +37,55 @@ case "${EAPI:-0}" in
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
;;
-   *)
-   die "EAPI=${EAPI} is not supported by perl-module.eclass"
-   ;;
-esac
+   6)
+   [[ ${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:="
+   ;;
+   *)
+   DEPEND="dev-lang/perl"
+   ;;
+   esac
+   RDEPEND="${DEPEND}"
+   ;;
+   esac
+
+   case "${PERL_EXPORT_PHASE_FUNCTIONS:-undefined}" in
+   yes)
+   die "PERL_EXPORT_PHASE_FUNCTIONS is banned in 
EAPI=6. It defaults to yes anyway."
+   ;;
+   no)
+   die "PERL_EXPORT_PHASE_FUNCTIONS is banned in 
EAPI=6. Inherit perl-functions.eclass instead."
+   ;;
+   undefined)
+   ;;
+   *)
+   die "PERL_EXPORT_PHASE_FUNCTIONS is banned in 
EAPI=6."
+   ;;
+   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"
+   die "EAPI=${EAPI} is not supported by perl-module.eclass"
;;
 esac
 
-- 
2.6.3




[gentoo-dev] [PATCH 09/15] perl-module.eclass: Use DIST_ prefix instead of MODULE_ prefix in EAPI=6 for control variables.

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

This is more consistent with upstream terminology and avoids clashes in case of 
kernel modules.
---
 eclass/perl-module.eclass | 52 +++
 1 file changed, 30 insertions(+), 22 deletions(-)

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 82707fe..efcc47c 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -114,30 +114,31 @@ esac
 
 LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
 
-# @ECLASS-VARIABLE: MODULE_NAME
+# @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: MODULE_VERSION
+# @ECLASS-VARIABLE: DIST_VERSION
 # @DESCRIPTION:
-# This variable provides a way to override PV for the calculation of S and 
SRC_URI.
+# (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: MODULE_A_EXT
+# @ECLASS-VARIABLE: DIST_A_EXT
 # @DESCRIPTION:
-# This variable provides a way to override the distfile extension for the 
calculation of
-# SRC_URI. Defaults to tar.gz
+# (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: MODULE_A
+# @ECLASS-VARIABLE: DIST_A
 # @DESCRIPTION:
-# This variable provides a way to override the distfile name for the 
calculation of
-# SRC_URI. Defaults to ${MODULE_NAME}-${MODULE_VERSION}.${MODULE_A_EXT}
+# (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.
 
-# @ECLASS-VARIABLE: MODULE_AUTHOR
+# @ECLASS-VARIABLE: DIST_AUTHOR
 # @DESCRIPTION:
-# This variable sets the module author name for the calculation of
-# SRC_URI.
+# (EAPI=6) This variable sets the module author name for the calculation of
+# SRC_URI. Named MODULE_AUTHOR in EAPI=5.
 
 if [[ ${EAPI:-0} = 5 ]] ; then
if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
@@ -146,19 +147,26 @@ if [[ ${EAPI:-0} = 5 ]] ; then
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}/;
 else
-   MODULE_NAME=${MODULE_NAME:-${PN}}
-   MODULE_P=${MODULE_NAME}-${MODULE_VERSION:-${PV}}
-   S=${WORKDIR}/${MODULE_P}
+   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
 
-[[ -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_PREP="no"
 SRC_TEST="skip"
 PREFER_BUILDPL="yes"
-- 
2.6.3




[gentoo-dev] [PATCH 10/15] perl-module.eclass: Rename SRC_TEST to DIST_TEST in EAPI=6 and default to "do parallel"

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index efcc47c..0d428d2 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -154,6 +154,8 @@ if [[ ${EAPI:-0} = 5 ]] ; then

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}}
@@ -168,7 +170,6 @@ else
 fi
 
 SRC_PREP="no"
-SRC_TEST="skip"
 PREFER_BUILDPL="yes"
 
 pm_echovar=""
@@ -315,6 +316,18 @@ perl-module_src_compile() {
fi
 }
 
+# @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"
+# In EAPI=5 the variable is called SRC_TEST and defaults to "skip".
+# All of the following have been tested to work:
+#  DIST_TEST="do parallel"
+#  DIST_TEST="parallel"
+#  DIST_TEST="parallel do"
+#  DIST_TEST=parallel
+#  DIST_TEST=skip
+
 # @FUNCTION: perl-module_src-test
 # @USAGE: perl-module_src_test()
 # @DESCRIPTION:
@@ -323,24 +336,17 @@ perl-module_src_compile() {
 #
 # If you want more verbose testing, set TEST_VERBOSE=1
 # in your bashrc | /etc/portage/make.conf | ENV
-#
-# or 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
-#
 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
+   local my_test_control
+   if [[ ${EAPI:-0} = 5 ]] ; then
+   my_test_control=${SRC_TEST}
+   else
+   my_test_control=${DIST_TEST:-do parallel}
+   fi
+
+   if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; 
then
+   if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' 
${my_test_control} ; then
export HARNESS_OPTIONS=j$(makeopts_jobs)
einfo "Test::Harness Jobs=$(makeopts_jobs)"
fi
-- 
2.6.3




[gentoo-dev] [PATCH 13/15] perl-module.eclass: Make some former warnings fatal to get rid of PERLQAFATAL, eqawarn, and (in EAPI=6) eutils.eclass

2015-12-11 Thread dilfridge
From: Andreas K. Hüttel 

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 86c0a48..faa8a34 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -24,7 +24,7 @@ case "${EAPI:-0}" in
PERL_EXPF="src_unpack src_prepare src_configure src_compile 
src_test src_install"
;;
6)
-   inherit eutils multiprocessing perl-functions
+   inherit multiprocessing perl-functions
PERL_EXPF="src_prepare src_configure src_compile src_test 
src_install"
;;
*)
@@ -211,7 +211,6 @@ perl-module_src_prepare() {
perl_rm_files "${PERL_RM_FILES[@]}"
fi
perl_fix_osx_extra
-   esvn_clean
 }
 
 # @FUNCTION: perl-module_src_configure
@@ -245,22 +244,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!"
-   if [[ -n ${PERLQAFATAL} ]]; then
-   eerror "Bailing out due to 
PERLQAFATAL=1";
-   die
-   fi
+   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!"
-   if [[ -n ${PERLQAFATAL} ]]; then
-   eerror "Bailing out due to 
PERLQAFATAL=1";
-   die
-   fi
+   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 -- \
@@ -425,9 +416,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."
-   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
 }
@@ -442,9 +432,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."
-   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
 }
-- 
2.6.3




[gentoo-dev] [PATCH 08/15] perl-module.eclass: Document variables available in EAPI=6

2015-12-11 Thread dilfridge
From: Andreas K. Hüttel 

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 7434bcf..82707fe 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -29,6 +29,18 @@ case "${EAPI:-0}" in
;;
 esac
 
+# @ECLASS-VARIABLE: GENTOO_DEPEND_ON_PERL
+# @DESCRIPTION:
+# This variable controls whether a runtime and build time dependency on
+# dev-lang/perl is automatically added by the eclass. It defaults to yes.
+# Set to no to disable.
+
+# @ECLASS-VARIABLE: GENTOO_DEPEND_ON_PERL_SUBSLOT
+# @DESCRIPTION:
+# This variable controls whether the dependency on dev-lang/perl added by
+# the eclass contains a := slot operator. Defaults to yes, set to no to
+# disable the slot operator. All packages installing into the vendor_perl
+# path must use yes here.
 
 case "${EAPI:-0}" in
5)
@@ -102,6 +114,31 @@ esac
 
 LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
 
+# @ECLASS-VARIABLE: MODULE_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: MODULE_VERSION
+# @DESCRIPTION:
+# 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.
+
+# @ECLASS-VARIABLE: MODULE_A_EXT
+# @DESCRIPTION:
+# This variable provides a way to override the distfile extension for the 
calculation of
+# SRC_URI. Defaults to tar.gz
+
+# @ECLASS-VARIABLE: MODULE_A
+# @DESCRIPTION:
+# This variable provides a way to override the distfile name for the 
calculation of
+# SRC_URI. Defaults to ${MODULE_NAME}-${MODULE_VERSION}.${MODULE_A_EXT}
+
+# @ECLASS-VARIABLE: MODULE_AUTHOR
+# @DESCRIPTION:
+# This variable sets the module author name for the calculation of
+# SRC_URI.
+
 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
-- 
2.6.3




[gentoo-dev] [PATCH 03/15] perl-module.eclass: Just go ahead when calling configure twice in EAPI=6

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

---
 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 78fa01d..734de11 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -146,7 +146,9 @@ perl-module_src_prepare() {
 perl-module_src_configure() {
debug-print-function $FUNCNAME "$@"
 
-   [[ ${SRC_PREP} = yes ]] && return 0
+   if [[ ${EAPI:-0} = 5 ]]; then
+   [[ ${SRC_PREP} = yes ]] && return 0
+   fi
SRC_PREP="yes"
 
perl_check_env
-- 
2.6.3




[gentoo-dev] [PATCH 07/15] perl-module.eclass: Do not do any magic with MY_... variables in EAPI=6 anymore

2015-12-11 Thread dilfridge
From: Andreas K. Hüttel 

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 6a5f2ff..7434bcf 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -102,12 +102,18 @@ 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}}
+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}}
+else
+   MODULE_NAME=${MODULE_NAME:-${PN}}
+   MODULE_P=${MODULE_NAME}-${MODULE_VERSION:-${PV}}
+   S=${WORKDIR}/${MODULE_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}"
-- 
2.6.3




[gentoo-dev] [PATCH 11/15] perl-module.eclass: Introduce DIST_TEST_OVERRIDE in EAPI=6

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 0d428d2..4dc39eb 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -328,6 +328,14 @@ perl-module_src_compile() {
 #  DIST_TEST=parallel
 #  DIST_TEST=skip
 
+# @ECLASS-VARIABLE: DIST_TEST_OVERRIDE
+# @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
 # @USAGE: perl-module_src_test()
 # @DESCRIPTION:
@@ -342,7 +350,8 @@ perl-module_src_test() {
if [[ ${EAPI:-0} = 5 ]] ; then
my_test_control=${SRC_TEST}
else
-   my_test_control=${DIST_TEST:-do parallel}
+   [[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn DIST_TEST_OVERRIDE is 
set to ${DIST_TEST_OVERRIDE}
+   my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
fi
 
if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; 
then
-- 
2.6.3




[gentoo-dev] [PATCH 15/15] dev-perl/CGI: Add EAPI=6 test ebuild

2015-12-11 Thread dilfridge
From: Andreas K. Hüttel 

Package-Manager: portage-2.2.26
---
 dev-perl/CGI/CGI-4.220.0-r1.ebuild | 33 +
 1 file changed, 33 insertions(+)
 create mode 100644 dev-perl/CGI/CGI-4.220.0-r1.ebuild

diff --git a/dev-perl/CGI/CGI-4.220.0-r1.ebuild 
b/dev-perl/CGI/CGI-4.220.0-r1.ebuild
new file mode 100644
index 000..9d2500e
--- /dev/null
+++ b/dev-perl/CGI/CGI-4.220.0-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+DIST_AUTHOR=LEEJO
+DIST_VERSION=4.22
+inherit perl-module
+
+DESCRIPTION="Simple Common Gateway Interface Class"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd 
~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux 
~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris 
~x64-solaris ~x86-solaris"
+IUSE="test"
+
+RDEPEND="
+   virtual/perl-Carp
+   virtual/perl-Encode
+   virtual/perl-Exporter
+   >=virtual/perl-File-Spec-0.820.0
+   virtual/perl-File-Temp
+   >=dev-perl/HTML-Parser-3.690.0
+   virtual/perl-if
+   >=virtual/perl-parent-0.225.0
+"
+DEPEND="${RDEPEND}
+   virtual/perl-ExtUtils-MakeMaker
+   test? (
+   >=virtual/perl-Test-Simple-0.980.0
+   dev-perl/Test-Warn
+   )
+"
-- 
2.6.3




[gentoo-dev] [PATCH 14/15] perl-module.eclass: Rewrite src_test for EAPI=6

2015-12-11 Thread dilfridge
From: Andreas K. Hüttel 

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index faa8a34..c174d5f 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -314,13 +314,14 @@ perl-module_src_compile() {
 # @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"
-# In EAPI=5 the variable is called SRC_TEST and defaults to "skip".
-# All of the following have been tested to work:
-#  DIST_TEST="do parallel"
-#  DIST_TEST="parallel"
-#  DIST_TEST="parallel do"
-#  DIST_TEST=parallel
-#  DIST_TEST=skip
+# 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
 # @DESCRIPTION:
@@ -333,33 +334,57 @@ perl-module_src_compile() {
 # @FUNCTION: perl-module_src-test
 # @USAGE: perl-module_src_test()
 # @DESCRIPTION:
-# 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/portage/make.conf | ENV
+# 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_control
+   local my_test_verbose
+
if [[ ${EAPI:-0} = 5 ]] ; then
my_test_control=${SRC_TEST}
+   my_test_verbose=${TEST_VERBOSE:-0}
+   if has 'do' ${my_test_control} || has 'parallel' 
${my_test_control} ; then
+   if has "${my_test_verbose}" 0 && has 'parallel' 
${my_test_control} ; then
+   export HARNESS_OPTIONS=j$(makeopts_jobs)
+   einfo "Test::Harness Jobs=$(makeopts_jobs)"
+   fi
+   else
+   einfo Skipping tests due to SRC_TEST=${SRC_TEST}
+   return 0
+   fi
else
[[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn DIST_TEST_OVERRIDE is 
set to ${DIST_TEST_OVERRIDE}
my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
-   fi
 
-   if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; 
then
-   if has "${TEST_VERBOSE:-0}" 0 && has 'parallel' 
${my_test_control} ; then
+   if ! has 'do' ${my_test_control} && ! has 'parallel' 
${my_test_control} ; then
+   einfo Skipping tests due to DIST_TEST=${my_test_control}
+   return 0
+   fi
+
+   if has verbose ${my_test_control} ; then
+   my_test_verbose=1
+   else
+   my_test_verbose=0
+   fi
+
+   if has parallel ${my_test_control} ; then
export HARNESS_OPTIONS=j$(makeopts_jobs)
einfo "Test::Harness Jobs=$(makeopts_jobs)"
fi
-   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"
+
+   # this might sometimes work...
+   if ! has network ${my_test_control} ; then
+   export NO_NETWORK_TESTING=1
fi
fi
+
+   perl_set_version
+   if [[ -f Build ]] ; then
+   ./Build test verbose=${my_test_verbose} || die "test failed"
+   elif [[ -f Makefile ]] ; then
+   emake test TEST_VERBOSE=${my_test_verbose} || die "test failed"
+   fi
 }
 
 # @FUNCTION: perl-module_src_install
-- 
2.6.3




[gentoo-dev] [PATCH 12/15] perl-module.eclass: Minor docu improvements

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" <dilfri...@gentoo.org>

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

diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 4dc39eb..86c0a48 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -7,13 +7,16 @@
 # p...@gentoo.org
 # @AUTHOR:
 # Seemant Kulleen <seem...@gentoo.org>
-# Andreas K. Huettel <dilfri...@gentoo.org>
-# @BLURB: eclass for perl modules
+# Andreas K. Hüttel <dilfri...@gentoo.org>
+# @BLURB: eclass for installing Perl module distributions
 # @DESCRIPTION:
-# The perl-module eclass is designed to allow easier installation of perl
-# modules, and their incorporation into the Gentoo Linux system.
+# The perl-module eclass is designed to allow easier installation of Perl
+# module distributions, and their incorporation into the Gentoo Linux system.
 # All exported functions from perl-functions.eclass (inherited here)
 # explicitly also belong to the interface of perl-module.eclass.
+# If your package does not use any Perl-specific build system (as, e.g.,
+# ExtUtils::MakeMaker or Module::Build), we recommend to use 
perl-functions.eclass
+# instead.
 
 case "${EAPI:-0}" in
5)
-- 
2.6.3