Subject: bug#30631: Automake 1.6 fails to build with perl 5.18.2

From: Torsten Seemann <[email-masked]>
Date: Sun, 4 Mar 2018 15:39:10 +1100

Mathieu,

That patch looks good - removing List::Util altogether is probably the
right thing. And tests too.

For linuxbrew, this is the patch I proposed - it uses `reduce` which has
been part of List::Util from the start (I think).
https://github.com/Linuxbrew/homebrew-core/pull/6352/files

+-use List::Util 'none';

++use List::Util 'reduce';
++sub none (&@) { my $code=shift; reduce { $a && !$code->(local $_ = $b) }
1, @_; }

We appreciate the fast response, as there is lots of infrastructure still
on Ubuntu 14 LTS which uses old Perl 5.18.

Thank you,

Torsten.

A/Prof. Torsten Seemann
*Lead Bioinformatician*
*Melbourne Bioinformatics: melbournebioinformatics.org.au
<http://melbournebioinformatics.org.au>*
*Microbiological Diagnostic Unit Public Health Laboratory:
mduphl.unimelb.edu.au <http://mduphl.unimelb.edu.au>*
*University of Melbourne, Parkville, AUSTRALIA.*

On 4 March 2018 at 10:49, Mathieu Lirzin <[email-masked]> wrote:

> Hello,
>
> Torsten Seemann <[email-masked]> 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
>
>