Skip Menu |

This queue is for tickets about the Moo CPAN distribution.

Report information
The Basics
Id: 86889
Status: resolved
Priority: 0/
Queue: Moo

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: 1.002000
Fixed in: (no value)



Subject: Lower prereq versions
Moo's test suite runs without errors if the following versions of the dependencies are installed: Warning: prerequisite Class::Method::Modifiers 1.1 not found. We have 1.05. Warning: prerequisite Devel::GlobalDestruction 0.11 not found. We have 0.02. Warning: prerequisite Module::Runtime 0.012 not found. We have 0.007. Warning: prerequisite Test::More 0.96 not found. We have 0.94. Therefore I believe that the prereq versions may be lowered. Otherwise it's probably a good idea to add tests, or to add a note in Makefile.PL why a minimum version is required. Regards, Slaven
On Fri Jul 12 08:19:51 2013, SREZIC wrote: Show quoted text
> Moo's test suite runs without errors if the following versions of the > dependencies are installed: > > Warning: prerequisite Class::Method::Modifiers 1.1 not found. We have > 1.05. > Warning: prerequisite Devel::GlobalDestruction 0.11 not found. We have > 0.02. > Warning: prerequisite Module::Runtime 0.012 not found. We have 0.007. > Warning: prerequisite Test::More 0.96 not found. We have 0.94. > > Therefore I believe that the prereq versions may be lowered. Otherwise > it's probably a good idea to add tests, or to add a note in > Makefile.PL why a minimum version is required. > > Regards, > Slaven
Devel::GlobalDestruction is required for certain combinations of perl/threads/XS-available. Module::Runtime is required for older versions of perl. Class::Method::Modifiers is required because an intermediate version is broken on some versions of perl. Test::More 0.96 is required for sane subtest support, which is required for the xt tests. I don't think it's worth attempting to lower any of these prerequisite versions, or adding tests for things that are already covered by the prereqs. I can add a comment to the Makefile.PL, but all it will really amount to is "trust us, these are real".
CC: SREZIC [...] cpan.org
Subject: Re: [rt.cpan.org #86889] Lower prereq versions
Date: Sun, 14 Jul 2013 22:16:56 +0200
To: bug-Moo [...] rt.cpan.org
From: Slaven Rezic <slaven [...] rezic.de>
"Graham Knop via RT" <bug-Moo@rt.cpan.org> writes: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=86889 > > > On Fri Jul 12 08:19:51 2013, SREZIC wrote:
>> Moo's test suite runs without errors if the following versions of the >> dependencies are installed: >> >> Warning: prerequisite Class::Method::Modifiers 1.1 not found. We have >> 1.05. >> Warning: prerequisite Devel::GlobalDestruction 0.11 not found. We have >> 0.02. >> Warning: prerequisite Module::Runtime 0.012 not found. We have 0.007. >> Warning: prerequisite Test::More 0.96 not found. We have 0.94. >> >> Therefore I believe that the prereq versions may be lowered. Otherwise >> it's probably a good idea to add tests, or to add a note in >> Makefile.PL why a minimum version is required. >> >> Regards, >> Slaven
> > Devel::GlobalDestruction is required for certain combinations of perl/threads/XS-available.
'Devel::GlobalDestruction' => ($Config{usethreads} eq "define" ? 0.11 : 0) Show quoted text
> Module::Runtime is required for older versions of perl.
'Module::Runtime' => ($] >= ??? ? 0 : 0.012) Show quoted text
> Class::Method::Modifiers is required because an intermediate version is broken on some versions of perl.
'Class::Method::Modifiers' => do { if (eval { require Class::Method::Modifiers; 1 }) { if ($Class::Method::Modifiers::VERSION >= ??? && $Class::Method::Modifiers::VERSION < 1.1) { 1.1; } else { 0; } } else { 0; # would pick the newest } }, Show quoted text
> Test::More 0.96 is required for sane subtest support, which is required for the xt tests.
So add this dependency to the dist_requires or author_requires spec... hmmm, do we have something like this already? Probably best to remove the version here and just fail in the xt tests, at least it's just author tests. Show quoted text
> I don't think it's worth attempting to lower any of these prerequisite versions, or adding tests for things that are already covered by the prereqs. > > I can add a comment to the Makefile.PL, but all it will really amount to is "trust us, these are real".
Your comments above copy'n'pasted would be a start. Regards, Slaven -- Slaven Rezic - slaven <at> rezic <dot> de Berlin Perl Mongers - http://berlin.pm.org
I've lowered the prereq version of Test::More to 0.94 and just removed the one use of subtests. I added notes of RT tickets relating to why the Class::Method::Modifiers, Devel::GlobalDestruction, and Module::Runtime requirements are set the way they are. Attempting to add logic to cover all the reasons why certain versions are needed is way too much complication for very little gain. In addition, one of the goals of Moo is to allow fatpacking scripts that use it. Having module versions installed that will work with all perl versions is an important part of that.
These changes have been released with 1.003000, so I'm considering this resolved.