Re: [gentoo-dev] News item: Python ABIFLAGS rebuild needed

2015-12-11 Thread Michał Górny
On Fri, 11 Dec 2015 21:48:59 -0500
Mike Gilbert  wrote:

> On Fri, Dec 11, 2015 at 6:48 PM, Ulrich Mueller  wrote:
> >> On Fri, 11 Dec 2015, Mike Gilbert wrote:  
> >  
> >> News-Item-Format: 1.0
> >> Display-If-Installed: >=dev-lang/python-3.3.5-r4:3.3
> >> Display-If-Installed: >=dev-lang/python-3.4.3-r4:3.4
> >> Display-If-Installed: >=dev-lang/python-3.5.0-r3:3.5  
> >
> > Syntax of these headers is limited to EAPI 0, therefore you cannot use
> > slot dependencies there.  
> 
> That sucks.
> 
> How do we change that?
> 
> Any suggestions for how I can adjust my news item in the short term?

=dev-lang/python-3.3.5-r4
=dev-lang/python-3.3.5-r5
...
=dev-lang/python-3.3.5-r99
~dev-lang/python-3.3.6
~dev-lang/python-3.3.7
...
~dev-lang/python-3.3.99

;-D

-- 
Best regards,
Michał Górny



pgp6AZy5NIDy1.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] News item: Python ABIFLAGS rebuild needed

2015-12-11 Thread Mike Gilbert
On Fri, Dec 11, 2015 at 9:48 PM, Mike Gilbert  wrote:
> On Fri, Dec 11, 2015 at 6:48 PM, Ulrich Mueller  wrote:
>>> On Fri, 11 Dec 2015, Mike Gilbert wrote:
>>
>>> News-Item-Format: 1.0
>>> Display-If-Installed: >=dev-lang/python-3.3.5-r4:3.3
>>> Display-If-Installed: >=dev-lang/python-3.4.3-r4:3.4
>>> Display-If-Installed: >=dev-lang/python-3.5.0-r3:3.5
>>
>> Syntax of these headers is limited to EAPI 0, therefore you cannot use
>> slot dependencies there.
>
> That sucks.
>
> How do we change that?

It is worth noting that GLEP 42 makes no mention of EAPI, and current
versions of portage do support slots in dependency atoms used in news
items.

I guess it's a matter of documenting this somewhere. Where would that be?



Re: [gentoo-dev] News item: Python ABIFLAGS rebuild needed

2015-12-11 Thread Mike Gilbert
On Fri, Dec 11, 2015 at 6:48 PM, Ulrich Mueller  wrote:
>> On Fri, 11 Dec 2015, Mike Gilbert wrote:
>
>> News-Item-Format: 1.0
>> Display-If-Installed: >=dev-lang/python-3.3.5-r4:3.3
>> Display-If-Installed: >=dev-lang/python-3.4.3-r4:3.4
>> Display-If-Installed: >=dev-lang/python-3.5.0-r3:3.5
>
> Syntax of these headers is limited to EAPI 0, therefore you cannot use
> slot dependencies there.

That sucks.

How do we change that?

Any suggestions for how I can adjust my news item in the short term?



Re: [gentoo-dev] News item: Python ABIFLAGS rebuild needed

2015-12-11 Thread Ulrich Mueller
> On Fri, 11 Dec 2015, Mike Gilbert wrote:

> News-Item-Format: 1.0
> Display-If-Installed: >=dev-lang/python-3.3.5-r4:3.3
> Display-If-Installed: >=dev-lang/python-3.4.3-r4:3.4
> Display-If-Installed: >=dev-lang/python-3.5.0-r3:3.5

Syntax of these headers is limited to EAPI 0, therefore you cannot use
slot dependencies there.

Ulrich


pgpkR1qrk0oqn.pgp
Description: PGP signature


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

2015-12-11 Thread Ulrich Mueller
> On Fri, 11 Dec 2015, dilfridge  wrote:

> +case "${EAPI:-0}" in

Quotes are not needed here.

>  case "${EAPI:-0}" in

Ditto.

> + [[ ${EAPI}==5 ]] || die "perl-module_src_unpack is banned in EAPI=6 or 
> later"

Without spaces around the operator, this condition will always
evaluate to true. ;-)

Ulrich


pgpKdOmzdVGK1.pgp
Description: PGP signature


[gentoo-dev] Last rites: dev-perl/YAML-Parser-Syck

2015-12-11 Thread Andreas K. Huettel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

# Andreas K. Huettel  (11 Dec 2015)
# Ancient, smells funny, disowned by upstream, needs syck
# Masked for removal in 30 days, bug 565012
dev-perl/YAML-Parser-Syck

- -- 

Andreas K. Huettel
Gentoo Linux developer 
dilfri...@gentoo.org
http://www.akhuettel.de/

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.1

iQJ8BAEBCgBmBQJWa1GOXxSAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0RkJDMzI0NjNBOTIwMDY5MTQ2NkMzNDBF
MTM4NkZEN0VGNEI1Nzc5AAoJEOE4b9fvS1d5+9EP/0Epm0l3dafjdajwB7CEkdCf
A/yhusgQx/MrZWErcz64WnVFdHKuGApWLemK67BM463pJPHz1HyL7dD1R/2rrFiS
eo0BOPAvdYcfp1j+GQ1rjMWfox5mC3aI0lv8tCWk9UbuontOf7X3qXNuiJT+vuzu
3pKn6j8gxAa+yuYOPxEjb3fRSp0Clm6eLoRXcZGmXFzvfncT0JrdTfAaJfiPGURs
Sa+qiADt5YqXoDXogfxJ5hmIkuf/9cLBzniPPq0whcLCBcz9lvbRoleKRlXkprsY
w28IfnP/qqb/oHtoIxq6mY6olqRmMLeYkO+PTzB6GCRtjtVENuQ600EFND4WNIQw
PempnQ5olb2Y2mdR5o8GtgyDYu7DuGJtjGNGRFbjq7Si2mtR/ouQwYLAow98eO89
oOcQKlV15hVFxm5R76vMcbQ8gguH5VY4eKczxn6sS+QvluvYUfTj1hFH2njhPD6j
V0HdGm3RIsrA0aRVRULAqn8adRpG5Ui17xBad8uEREEEw47qrqgw2a1EDYvzXxWm
AsiTRR4MMPVpJYdGJ/FcP+FqMzyXc/GXeuCX83ehZcM13cPxZGEECPBAAQEJ4ukI
q/hYOL+AD+7I2f4zJB4evJM2lHFJ37GNig2XC559SxehDNEnmOAcLoi8n+LFjSMN
vaS0ElP9UjWLt/MVqO0o
=p2g/
-END PGP SIGNATURE-



Re: [gentoo-dev] Re: converting copyright/license information in OpenRC

2015-12-11 Thread Patrick McLean
On Fri, 11 Dec 2015 15:37:48 -0600
William Hubbs  wrote:

> On Fri, Dec 11, 2015 at 09:04:47PM +0100, Ulrich Mueller wrote:
> > > On Fri, 11 Dec 2015, William Hubbs wrote:  
> >   
> Well, the OpenRC project is currently inconsistent about this, so the
> intention is to make it consistent.
> 
>  The .c/.h files have file-scope licenses, but that isn't true for
>  everything in the project.
> 
> I am willing to make the effort to do this, I was just wondering if
> there are any legal pitfalls I need to worry about.
> 
> My theory is I can probably use git to find out who all of the authors
> are, and generate an Authors list from that information and from
> looking at copyright notices.
> 

One concern about this is the possibility of copied code. If OpenRC
ever copied code from other BSD licensed projects, then dropping the
notice from the top of the file would be a violation of the upstream
license.



[gentoo-dev] News for Gentoo CI and pull request CI

2015-12-11 Thread Michał Górny
Hi, everyone.

I'd like to make a short announcement that in the last few days I've
been using my little free time to hack on my CI scripts, and they had
a few major improvements. Most notably:

1. pkgcheck now checks for outdated Manifests. In other words,
gentoo-ci will most likely complain about missing or extraneous
Manifest entries before Infra does, and pull request checks should
complain loudly about them before the PRs are merged.

2. The scripts use XML output of pkgcheck and group issues by packages,
rather than grepping text output for failure indications
and considering successive lines a single failure. Which means better
output, better permalinks, better navigation and a completely new ugly
UI.

3. Most of the persisting issues (like deprecations) are skipped now,
and all the output fits on one page. And that page is usually easier on
the browser than each of the splits were.

4. gentoo-ci compares previous check results correctly, and splits
the output into three groups: new issues, previous issues and fixes
issues.

5. gentoo-ci bisects on new issues, pinpoints the exact commit
introducing the failure and CCs both the author and the committer.
In other words, does the hard work for me and does it more efficiently.
It also has nice bisect caching support which makes bisecting a number
of issues caused by the same commit very fast.

6. pull-request checks now distinguish between issues introduced by PR
and carried over from ::gentoo. Not that you should ignore the latter
entirely since they may hide additional issues from PR.

Most of this fun stuff came from a simple obvious thing that only
recently occurred to me: I don't have to run a full pkgcheck for
bisecting! I just need to check the packages that are failing
in the most recent commit!

Of course, the whole thing is open source:

1. https://bitbucket.org/mgorny/repo-mirror-ci

2. https://bitbucket.org/mgorny/pkgcheck-result-parser

Enjoy!

-- 
Best regards,
Michał Górny



pgpHTItHPlrza.pgp
Description: OpenPGP digital signature


[gentoo-dev] News item: Python ABIFLAGS rebuild needed

2015-12-11 Thread Mike Gilbert
Hi,

Please review the news item below. I would like to send this out early next
week.


Title: Python ABIFLAGS rebuild needed
Author: Mike Gilbert 
Content-Type: text/plain
Posted: 2015-12-11
Revision: 1
News-Item-Format: 1.0
Display-If-Installed: >=dev-lang/python-3.3.5-r4:3.3
Display-If-Installed: >=dev-lang/python-3.4.3-r4:3.4
Display-If-Installed: >=dev-lang/python-3.5.0-r3:3.5

For several years, Gentoo has been patching python3 in a way that is
incompatible with PEP 3149 [1]. Gentoo has been enabling the PyMalloc feature,
but our python packages have not carried the appropriate ABI flag.

We have removed this patch from the most recent dev-lang/python ebuilds at
the time of this writing. One result of this is that any packages which
install python extension modules must be rebuilt.

You should rebuild affected packages using the following command.

emerge -1v $(find /usr/lib*/python3* -name '*cpython-3[3-5].so')

You may experience build failures in related packages until this has been
completed.

References:
[1] https://www.python.org/dev/peps/pep-3149/



Re: [gentoo-dev] Re: converting copyright/license information in OpenRC

2015-12-11 Thread William Hubbs
On Fri, Dec 11, 2015 at 09:04:47PM +0100, Ulrich Mueller wrote:
> > On Fri, 11 Dec 2015, William Hubbs wrote:
> 
> > currently, OpenRC has file-based copyright/licensing information.
> > I would like to centralize all of this information, following the
> > centralized model described here [1].
> 
> > This would mean that, at the top of each file, there would be a
> > copyright notice stating:
> 
> > Copyright  OpenRC authors
> 
> > [with the licensing information from the page I am referring to
> > mentioning the license and a copy of the license at the top level of
> > the distro]
> 
> OpenRC is licensed under BSD-2, right? That license is rather short,
> not much longer than the license notice from [1]. So I wonder if
> centralising this is worth the effort. (It also adds one level of
> indirection.)

Well, the OpenRC project is currently inconsistent about this, so the
intention is to make it consistent.

 The .c/.h files have file-scope licenses, but that isn't true for
 everything in the project.

I am willing to make the effort to do this, I was just wondering if
there are any legal pitfalls I need to worry about.

My theory is I can probably use git to find out who all of the authors
are, and generate an Authors list from that information and from looking
at copyright notices.


William


signature.asc
Description: Digital signature


[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 12/15] perl-module.eclass: Minor docu improvements

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" 

---
 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 
-# Andreas K. Huettel 
-# @BLURB: eclass for perl modules
+# Andreas K. Hüttel 
+# @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




[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 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 11/15] perl-module.eclass: Introduce DIST_TEST_OVERRIDE in EAPI=6

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" 

---
 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 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 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)" 

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)" 

---
 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 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)" 

---
 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 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)" 

---
 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 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)" 

---
 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 04/15] perl-module.eclass: Use default unpacking from EAPI=6 on

2015-12-11 Thread dilfridge
From: "Andreas K. Huettel (dilfridge)" 

---
 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)" 

---
 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] perl-module.eclass EAPI=6 support

2015-12-11 Thread Andreas K. Huettel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512


Hey all, 

as replies to this mail follow proposed updates to perl-module.eclass. 

Basically the plan it to use the EAPI step to sanitize API. This leads to a 
lot of conditionals, which can and will go away again some time after all Perl 
packages are updated to EAPI=6. That is doable; after all, we're EAPI=5 only 
right now already.

The patches can probably be squashed a bit, but I leave them as logical steps 
now. Feel free to criticise my bash, it's definitively not my first language.

Cheers, 
Andreas

About the motivation of the patches:

0001-perl-module.eclass-Allow-EAPI-6-ban-PERL_EXPORT_PHAS.patch
* So far the variable PERL_EXPORT_PHASE_FUNCTIONS (defaulting to yes) could be 
set to "no" to get helper functionality but no phase functions. Instead, now 
inherit perl-functions.eclass.
* The auto-added dependency on Perl drops the [-build(-)] use-flag requirement 
(that useflag has been gone for many years).

0002-perl-module.eclass-Remove-references-to-perlinfo_don.patch
* Doesn't really belong in this patch series; it removes a leftover from the 
perl-module vs perl-functions eclass split. Should not change anything.

0003-perl-module.eclass-Just-go-ahead-when-calling-config.patch
* So far the configure phase could not run twice (for reasons lost in the 
mists of history). Now in EAPI=6 it's just doing what it's told.

0004-perl-module.eclass-Use-default-unpacking-from-EAPI-6.patch
* Don't inherit unpacker.eclass in EAPI=6, use default unpacking code, don't 
export unpack phase and die if someone tries to call it anyway. Nuff said.

0005-perl-module.eclass-Use-eapply-from-EAPI-6-on-and-alw.patch
* From EAPI=6 on use eapply and eapply_user instead of epatch and epatch_user

0006-perl-module.eclass-Introduce-MODULE_NAME-and-MODULE_.patch
* This patch introduces two new variables but should not change behaviour for 
any EAPI. Simplifying the code for later conditionals.

0007-perl-module.eclass-Do-not-do-any-magic-with-MY_.-var.patch
* This eclass is full of magic of the type of "Set MY_xxx before inheriting, 
and I'll automatically use it somehow instead of xxx". I think this is majorly 
silly since 1) MY_xxx is no proper API, and 2) it was never documented anyway.
So, in EAPI=6 ignore MY_PN, MY_P, and MY_S and use MODULE_PN and MODULE_P 
instead.

0008-perl-module.eclass-Document-variables-available-in-E.patch
* Documentation.

0009-perl-module.eclass-Use-DIST_-prefix-instead-of-MODUL.patch
* What we're downloading from CPAN are not actually "modules" (like CGI.pm) 
but "module distributions" (like CGI.tar.gz containg a set of modules). So, 
change all control variables that use the MODULE_ prefix to DIST_

0010-perl-module.eclass-Rename-SRC_TEST-to-DIST_TEST-in-E.patch
* The variable SRC_TEST used to allow some control over the testing phase (run 
it, run tests parallelized, skip it). Named DIST_TEST in EAPI=6 now for 
consistency (and gets more functionality below).

0011-perl-module.eclass-Introduce-DIST_TEST_OVERRIDE-in-E.patch
* Add functionality for ebuild authors: even if the ebuild specifies that e.g. 
tests should not be run or run single-threaded, allow in EAPI=6 to override 
that from make.conf or package.env.

0012-perl-module.eclass-Minor-docu-improvements.patch

0013-perl-module.eclass-Make-some-former-warnings-fatal-t.patch
* Basically, get rid of eutils.eclass in EAPI=6 (and we need to drop eqawarn 
calls)

0014-perl-module.eclass-Rewrite-src_test-for-EAPI-6.patch
* Rewrite of the test phase for EAPI=6. Adds options to control test verbosity 
and switch network tests (something that might or might not work depending on 
upstream cooperativity).

0015-dev-perl-CGI-Add-EAPI-6-test-ebuild.patch
* Example ebuild...


- -- 

Andreas K. Huettel
Gentoo Linux developer 
dilfri...@gentoo.org
http://www.akhuettel.de/

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.1

iQJ8BAEBCgBmBQJWazmVXxSAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0RkJDMzI0NjNBOTIwMDY5MTQ2NkMzNDBF
MTM4NkZEN0VGNEI1Nzc5AAoJEOE4b9fvS1d5/iAQALh2L7WHTVWGcqu2wOI33o3K
A8QnluTpxmYjGNhNz1gBtjPoUQ7AZrtfhIbYCUO6oIQYG3hL2l2wllZQlYBZYEUw
72yAGo6z3FYpQG0S/wBMESNJyRcZ5RnKoLKxPE+k/O8aPqjcS8AuWbJry7FN5eVS
R5BI/jrO2G4wFrAt07sMSNzHGvAcStdGfkE0fWXBTfyJS7mS1X+cobnVLkFYFqF3
Ega390yxQ8kxAO5b0d7l/vXTsn0AcryCK5DajY6DlCkDX+iAuS/5TuGB62OlMJ+d
UZOcNTGwlSqNodxPnbAy0jBMdd6JfCYdYJOT4k1oNBSUgszvm5nzezgy1sV6yGyC
Na8wqYleRpRQdeUDr25SAVnbgjAioG+idbYVSE5WSXP9dO9DNaeX+E+Zk9PXcnNe
jS5og84DSAt774d45i/HhiNzvmhNWIeCD8Kf3Z7M2bTtjinYKV0bgCUOIV0pSJy9
BUtHqcBHRAJSI2ShVh7cNvOj5DV2TbHtQvMRvRjOa/T9yisG6EcFLaF7Q4FIEfSq
JaEzPHqvcpAkWjwedoGYpuMGN6FUFH+pQCkrM0BXED1G/XlN8KLfbSyuYsPlO1Dt
vgZIxzwH1WutBGosN0kGkH53ED5s2nITNhXivezunraRyEw/nwrdVEZBJKYrUztF
uaSTW5wKapK7B9Wnjwli
=Mawt
-END PGP SIGNATURE-



Re: [gentoo-dev] Re: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtkglextmm/, dev-cpp/gtkglextmm/files/

2015-12-11 Thread Andrew Savchenko
On Fri, 11 Dec 2015 20:18:46 +0100 Gilles Dartiguelongue wrote:
> Le vendredi 11 décembre 2015 à 12:17 +, Andrew Savchenko a écrit :
> > commit: fcc5f0fe910ec73b41adf3120255571baf896d4c
> > Author: Andrew Savchenko  gentoo  org>
> > AuthorDate: Fri Dec 11 12:17:20 2015 +
> > Commit: Andrew Savchenko  gentoo  org>
> > CommitDate: Fri Dec 11 12:17:20 2015 +
> > URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcc5
> > f0fe
> > 
> > dev-cpp/gtkglextmm: fix bug 552686
> > 
> > Fix underquoted aclocal definition.
> > 
> > Package-Manager: portage-2.2.26
> > Signed-off-by: Andrew Savchenko  gentoo.org>
> > 
> >  .../files/gtkglextmm-1.2.0-aclocal.patch   | 11 ++
> >  dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild  | 46
> > ++
> >  2 files changed, 57 insertions(+)
> > 
> > diff --git a/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> > b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> > new file mode 100644
> > index 000..32fa489
> > --- /dev/null
> > +++ b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> > @@ -0,0 +1,11 @@
> > +--- gtkglextmm-1.2.0/m4macros/gtkglextmm.m4.orig   2004-05-18
> > 10:29:34.0 +0400
> >  gtkglextmm-1.2.0/m4macros/gtkglextmm.m42015-08-07
> > 17:02:42.324065008 +0300
> > +@@ -222,7 +222,7 @@
> > + dnl AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD([ACTION-IF-SUPPORTED [,
> > ACTION-IF-NOT-SUPPORTED]])
> > + dnl Checks whether gtkglextmm supports multihead.
> > + dnl
> > +-AC_DEFUN(AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD,
> > ++AC_DEFUN([AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD],
> > + [ AC_LANG_SAVE
> > +   AC_LANG_CPLUSPLUS
> > +   AC_CACHE_CHECK([whether gtkglextmm supports multihead],
> > 
> > diff --git a/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild b/dev-
> > cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
> > new file mode 100644
> > index 000..504827e
> > --- /dev/null
> > +++ b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
> > @@ -0,0 +1,46 @@
> > +# Copyright 1999-2015 Gentoo Foundation
> > +# Distributed under the terms of the GNU General Public License v2
> > +# $Id$
> > +
> > +EAPI=5
> > +GCONF_DEBUG="yes"
> > +
> > +inherit eutils gnome2
> > +
> > +DESCRIPTION="C++ bindings for gtkglext"
> > +HOMEPAGE="https://projects.gnome.org/gtkglext/";
> > +SRC_URI="mirror://sourceforge/gtkglext/${P}.tar.bz2"
> > +
> > +KEYWORDS="~amd64 ~ppc ~x86"
> > +IUSE="doc"
> > +SLOT="1.0"
> > +LICENSE="GPL-2 LGPL-2.1"
> > +
> > +RDEPEND="
> > +   >=x11-libs/gtkglext-1
> > +   >=dev-libs/libsigc++-2.0
> > +   >=dev-cpp/glibmm-2.4:2
> > +   >=dev-cpp/gtkmm-2.4:2.4
> > +   virtual/opengl
> > +"
> > +DEPEND="${RDEPEND}
> > +   virtual/pkgconfig"
> > +
> > +src_prepare() {
> > +   # fix underquoted definition, bug 552686
> > +   epatch "${FILESDIR}/${P}-aclocal.patch"
> > +
> > +   # Remove docs from SUBDIRS so that docs are not installed,
> > as
> > +   # we handle it in src_install.
> > +   sed -i -e 's|^\(SUBDIRS =.*\)docs\(.*\)|\1\2|' Makefile.in
> > || \
> > +   die "sed Makefile.in failed"
> > +
> > +   gnome2_src_prepare
> > +}
> > +
> > +src_install() {
> > +   gnome2_src_install
> > +   if use doc; then
> > +   dohtml -r docs/reference/html/*
> > +   fi
> > +}
> 
> Why a revbump for this, it appears to be a build-time fix only.

Becase it fixes file installed on a live filesystem, which affects
global aclocal runs. Without this fix each aclocal run in the
system with this package installed aclocal warning will be
displayed:

/usr/share/aclocal/gtkglextmm-1.2.m4:225: warning: underquoted
definition of
AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD /usr/share/aclocal/gtkglextmm-1.2.m4:225:
run info Automake 'Extending
aclocal' /usr/share/aclocal/gtkglextmm-1.2.m4:225:   or see
http://www.gnu.org/software/automake/manual/automake.html#Extending-aclocal

> Also it
> appears to be missing an autools inherit and eautoreconf call.
 
No, it doesn't. This file is not used during gtkglextmm build, it
is used by packages using gtkglextmm during their aclocal runs.

Best regards,
Andrew Savchenko


pgpQwBqBUOlxi.pgp
Description: PGP signature


[gentoo-dev] Re: converting copyright/license information in OpenRC

2015-12-11 Thread Ulrich Mueller
> On Fri, 11 Dec 2015, William Hubbs wrote:

> currently, OpenRC has file-based copyright/licensing information.
> I would like to centralize all of this information, following the
> centralized model described here [1].

> This would mean that, at the top of each file, there would be a
> copyright notice stating:

> Copyright  OpenRC authors

> [with the licensing information from the page I am referring to
> mentioning the license and a copy of the license at the top level of
> the distro]

OpenRC is licensed under BSD-2, right? That license is rather short,
not much longer than the license notice from [1]. So I wonder if
centralising this is worth the effort. (It also adds one level of
indirection.)

The longest part of BSD-2 is the warranty disclaimer. Not sure if it
would be wise to remove this from individual files. Note that e.g. the
GPL license notice comes with a "no warranty" paragraph.

Ulrich

> [1] 
> https://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html


pgpGU7lrpvyPv.pgp
Description: PGP signature


[gentoo-dev] Re: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtkglextmm/, dev-cpp/gtkglextmm/files/

2015-12-11 Thread Gilles Dartiguelongue
Le vendredi 11 décembre 2015 à 12:17 +, Andrew Savchenko a écrit :
> commit: fcc5f0fe910ec73b41adf3120255571baf896d4c
> Author: Andrew Savchenko  gentoo  org>
> AuthorDate: Fri Dec 11 12:17:20 2015 +
> Commit: Andrew Savchenko  gentoo  org>
> CommitDate: Fri Dec 11 12:17:20 2015 +
> URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcc5
> f0fe
> 
> dev-cpp/gtkglextmm: fix bug 552686
> 
> Fix underquoted aclocal definition.
> 
> Package-Manager: portage-2.2.26
> Signed-off-by: Andrew Savchenko  gentoo.org>
> 
>  .../files/gtkglextmm-1.2.0-aclocal.patch   | 11 ++
>  dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild  | 46
> ++
>  2 files changed, 57 insertions(+)
> 
> diff --git a/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> new file mode 100644
> index 000..32fa489
> --- /dev/null
> +++ b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> @@ -0,0 +1,11 @@
> +--- gtkglextmm-1.2.0/m4macros/gtkglextmm.m4.orig 2004-05-18
> 10:29:34.0 +0400
>  gtkglextmm-1.2.0/m4macros/gtkglextmm.m4  2015-08-07
> 17:02:42.324065008 +0300
> +@@ -222,7 +222,7 @@
> + dnl AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD([ACTION-IF-SUPPORTED [,
> ACTION-IF-NOT-SUPPORTED]])
> + dnl Checks whether gtkglextmm supports multihead.
> + dnl
> +-AC_DEFUN(AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD,
> ++AC_DEFUN([AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD],
> + [ AC_LANG_SAVE
> +   AC_LANG_CPLUSPLUS
> +   AC_CACHE_CHECK([whether gtkglextmm supports multihead],
> 
> diff --git a/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild b/dev-
> cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
> new file mode 100644
> index 000..504827e
> --- /dev/null
> +++ b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
> @@ -0,0 +1,46 @@
> +# Copyright 1999-2015 Gentoo Foundation
> +# Distributed under the terms of the GNU General Public License v2
> +# $Id$
> +
> +EAPI=5
> +GCONF_DEBUG="yes"
> +
> +inherit eutils gnome2
> +
> +DESCRIPTION="C++ bindings for gtkglext"
> +HOMEPAGE="https://projects.gnome.org/gtkglext/";
> +SRC_URI="mirror://sourceforge/gtkglext/${P}.tar.bz2"
> +
> +KEYWORDS="~amd64 ~ppc ~x86"
> +IUSE="doc"
> +SLOT="1.0"
> +LICENSE="GPL-2 LGPL-2.1"
> +
> +RDEPEND="
> + >=x11-libs/gtkglext-1
> + >=dev-libs/libsigc++-2.0
> + >=dev-cpp/glibmm-2.4:2
> + >=dev-cpp/gtkmm-2.4:2.4
> + virtual/opengl
> +"
> +DEPEND="${RDEPEND}
> + virtual/pkgconfig"
> +
> +src_prepare() {
> + # fix underquoted definition, bug 552686
> + epatch "${FILESDIR}/${P}-aclocal.patch"
> +
> + # Remove docs from SUBDIRS so that docs are not installed,
> as
> + # we handle it in src_install.
> + sed -i -e 's|^\(SUBDIRS =.*\)docs\(.*\)|\1\2|' Makefile.in
> || \
> + die "sed Makefile.in failed"
> +
> + gnome2_src_prepare
> +}
> +
> +src_install() {
> + gnome2_src_install
> + if use doc; then
> + dohtml -r docs/reference/html/*
> + fi
> +}

Why a revbump for this, it appears to be a build-time fix only. Also it
appears to be missing an autools inherit and eautoreconf call.

-- 
Gilles Dartiguelongue 
Gentoo




[gentoo-dev] converting copyright/license information in OpenRC

2015-12-11 Thread William Hubbs
Hi all,

currently, OpenRC has file-based copyright/licensing information. I
would like to centralize all of this information, following the
centralized model described here [1].

This would mean that, at the top of each file, there would be a
copyright notice stating:

Copyright  OpenRC authors

[with the licensing information from the page I am referring to
mentioning the license and a copy of the license at the top level of the
distro]

Then there would be a file, Authors, at the top level listing everyone
who has submitted code to the project.

Does anyone see any legal issues I need to worry about in doing this?
The web site seems to advise that it is legal to do this type of
conversion, so I want to find out what others think here as well.

Thanks,

William

[1] https://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html


signature.asc
Description: Digital signature