commit:     4126f7aa2ec132ce4237e4f631ccd067349913ba
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  2 22:41:41 2016 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Tue Aug  2 22:43:43 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4126f7aa

dev-perl/Test-Deep: Weaken dependency on dev-perl/Test-Tester

Without this fix, Test-Deep effectively needs perl-5.22
stabilized in order to satisfy Test-Tester from Perl-5.22

However, satisfying Test-Tester from a mechanism other than Perl-5.22
confuses portages dependency resolver, and confuses portage to not be able
to upgrade perl, and not being able to upgrade perl means perl can't be
stabilized, invoking a stabilization-needs-stabilization bug.

Hence, the choice here optimises for assuming stabilization will
happen/has happened, and removes any dependency on Test::Tester, assuming
portage will eventually provide it for you.

And just to be sure, we use perl before the test phase executes
to determine if Test::Tester was /actually/ installed and then only run tests
if it was.

This means before stabilization, some people *might* install this and not have
tests run, but everyone *will* get tests working after stabilization, as
opposed to the opposite occurring and stabilization being blocked.

Bug: https://bugs.gentoo.org/584238

Package-Manager: portage-2.3.0
RepoMan-Options: --include-arches="alpha amd64 amd64-fbsd arm arm64 hppa ia64 
m68k mips nios2 ppc ppc64 riscv s390 sh sparc sparc-fbsd x86 x86-fbsd"

 dev-perl/Test-Deep/Test-Deep-1.120.0.ebuild | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/dev-perl/Test-Deep/Test-Deep-1.120.0.ebuild 
b/dev-perl/Test-Deep/Test-Deep-1.120.0.ebuild
index 18203ba..85759f8 100644
--- a/dev-perl/Test-Deep/Test-Deep-1.120.0.ebuild
+++ b/dev-perl/Test-Deep/Test-Deep-1.120.0.ebuild
@@ -22,9 +22,16 @@ DEPEND="${RDEPEND}
        virtual/perl-ExtUtils-MakeMaker
        test? (
                >=virtual/perl-Test-Simple-0.880.0
-               || (
-                       >=virtual/perl-Test-Simple-1.1.10
-                       ( <virtual/perl-Test-Simple-1.1.10 
>=dev-perl/Test-Tester-0.40.0 )
-               )
        )
 "
+
+src_test() {
+       # Bug 584238 Avoidance
+       if perl -e 'exit ( eval { require Test::Tester; 
Test::Tester->VERSION(0.04); 1 } ? 0 : 1 )'; then
+               perl-module_src_test
+       else
+               einfo "Test phase skipped: Test::Tester required for tests"
+               einfo "Please upgrade to >=dev-lang/perl-5.22.0 or 
>=virtual/perl-Test-Simple-1.1.10"
+               einfo "if you want this tested"
+       fi
+}

Reply via email to