Subject: Re: bug#46564: [PATCH core-updates]: Use autoconf-wrapper instead of autoconf

From: Ludovic Courtès <[email-masked]>
Date: Sun, 21 Feb 2021 23:05:11 +0100

Hi,

Maxime Devos <[email-masked]> skribis:

> This patch replaces autoconf with autoconf-wrapped in the native-inputs
> almost everywhere (except for some packages in
> gnu/packages/autotools.scm).  As this would cause many rebuilds, this
> patch targets the "core-updates" branch and not "master".

OK.

> A wine package has autoconf in the inputs instead of native-inputs,
> I wonder if that's intentional or a bug?  I left that package untouched
> for now.

I think that’s a bug.

> Why this change?
>
> * consistency / reducing confusion: some packages use autoconf, some use
>   autoconf-wrapper, and there's no (to me) obvious reason why two variants
>   of autoconf should be used.
>
> * <whatever pro's nckx had in mind on #guix>
>
> * some progress towards booting without /bin/sh
>
>   Scenario I have in mind (untested):
>
>   1. boot a system that doesn't have /bin/sh
>   2. decide to hack on guix (run git clone ...., cd $REPO)
>   3. guix environment guix
>   4. sh ./bootstrap (calls autoreconf -vfi)
>   5. ./configure --localstatedir=/var
>   6. more stuff
>
>   Without this patch, step (5.) will fail without this patch because
>   the generated ./configure script refers to /bin/sh, which doesn't
>   exist.
>
>   That said, there are some #!/bin/sh shebangs in the source code,
>   so there are some problems in (6.).

Yeah, I’m not sure this is a worthy goal.

> Why not?
>
> * ‘make dist’ will produce unusable tarballs
>   when in an environment from ‘guix environment PACKAGE’.
>   This should now be replaced with ‘guix environment PACKAGE --ad-hoc
>   autoconf'.

Yeah.  I would be in favor of unifying things the other way around:
using ‘autoconf’ instead of ‘autoconf-wrapper’ everywhere.  Since
there’s the ‘patch-shebangs’ phase, we don’t need ‘autoconf-wrapper’.

There’s one exception I think: Automake.  This one needs
‘autoconf-wrapper’ so it can actually run its test suite.  Perhaps
Libtool too.

WDYT?

Ludo’.