|
From: | Torsten Seemann |
Subject: | bug#30631: Automake 1.6 fails to build with perl 5.18.2 |
Date: | Sun, 4 Mar 2018 15:39:10 +1100 |
+-use List::Util 'none'; ++use List::Util 'reduce'; ++sub none (&@) { my $code=shift; reduce { $a && !$code->(local $_ = $b) } 1, @_; } |
Hello,
Torsten Seemann <address@hidden> writes:
> The problem is that automake 1.16 is importing the function "none"
> from perl List::Util module. Unfortunately, "none" was only added to
> that module in v 1.33 and Perl 5.18 has an older version. This only
> occurs in "bin/automake.in"
>
> The simplest patch is for the authors to change
>
> use List::Util 'none'
> =>
> use List::Util 'any'
>
> And replace their use of the function (only one case) as so:
>
> && none {
> =>
> && ! any {
According to [1] both 'none' and 'any' were added in List::Util 1.33.
There is indeed a portability bug on the Automake side since
'http://configure.ac' claims to be compatible with Perl 5.6 and Looking at the
perl distributions [2] it seems that 5.6.2 does not have List::Util.
This requirement could probably be relaxed since Perl 5.6 is 18 years
old, however this can't be done in the micro (bugfix) release I intend
to make after fixing this bug. So let's reimplement it ourselves for
now.
How does it sound?
[1] https://metacpan.org/changes/distribution/Scalar-List- Utils#L156
[2] https://www.cpan.org/src/README.html
--
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
[Prev in Thread] | Current Thread | [Next in Thread] |