Skip Menu |

This queue is for tickets about the Geo-Calc-XS CPAN distribution.

Report information
The Basics
Id: 99493
Status: resolved
Priority: 0/
Queue: Geo-Calc-XS

People
Owner: ASP [...] cpan.org
Requestors: mtmail-cpan [...] gmx.net
Cc:
AdminCc:

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



Subject: missing Test::NoWarnings for test suite
$ perl -v This is perl 5, version 16, subversion 2 (v5.16.2) built for darwin-thread-multi-2level $ cpanm FLIMM/Geo-Calc-XS-0.27.tar.gz t/03_properties.t fails with Running Makefile.PL WARNING: TEST_REQUIRES is not a known parameter. Can't locate Test/NoWarnings.pm in @INC The parameter got added in ExtUtils::MakeMaker 6.64 which I traced down to December 2012. Perl 5.16.2 got released in November 2012. My local version is 6.63_02. Can you either * move the dependency into PREREQ_PM * specify a minimum Perl version * add a dependency ExtUtils::MakeMaker 6.64 I installed the latest ExtUtils::MakeMaker (6.98) and then the installation ran fine. http://cpants.cpanauthors.org/dist/Geo-Calc-XS also reports the Makefile.pl shouldn't be executable. mtm
On 2014-10-14 15:30:09, mtmail wrote: Show quoted text
> > Can you either > * move the dependency into PREREQ_PM
Don't do this -- that will cause extra modules to be installed unnecessarily when users install while skipping tests. Show quoted text
> * specify a minimum Perl version
Not nice to people who are running older perls. Updating EUMM is a lot easier than updating perl. Show quoted text
> * add a dependency ExtUtils::MakeMaker 6.64
If you do this, it should be in CONFIGURE_REQUIRES. The usual workaround for this is to put the test requirements into BUILD_REQUIRES if EUMM is too old: my %WriteMakefileArgs = ( ... ); my $eumm_version = eval $ExtUtils::MakeMaker::VERSION; $WriteMakefileArgs{BUILD_REQUIRES} = { %{$WriteMakefileArgs{BUILD_REQUIRES} || {}}, %{delete $WriteMakefileArgs{TEST_REQUIRES}} } if $eumm_version < 6.63_03; $WriteMakefileArgs{PREREQ_PM} = { %{$WriteMakefileArgs{PREREQ_PM}}, %{delete $WriteMakefileArgs{BUILD_REQUIRES}} } if $eumm_version < 6.55_01; WriteMakefile(%WriteMakefileArgs); Incidentally, META.json contains *no prerequisites at all* -- which suggests that something in your toolchain is badly out of date.
fixed in next release by BEGIN { eval "use Test::Deep"; if ($@) { plan skip_all => "Test::Deep and Test::NoWarnings are needed"; } eval "use Test::NoWarnings"; if ($@) { plan skip_all => "Test::Deep and Test::NoWarnings are needed"; } } in tests.