Subject: Re: bug#56030: The guix pull profile is too big

From: Maxime Devos <[email-masked]>
Date: Thu, 21 Jul 2022 16:52:44 +0200

On 17-06-2022 07:48, Julien Lepiller wrote:
> We have bash-minimal and bash-static. The latter is a bit bigger than 
> the former. Maybe we can keep only bash-minimal? 

bash-static is used by glibc (for the 'system' function), it's not 
something that can simply be replaced with bash-minimal (due to the 
cycle bash-minimal -> glibc -> bash-minimal that would result). I do 
have a proposal eliminating the bash-static reference though:

  * replace the 'system' function from glibc by a variant that accepts
    the file name of the shell executable
  * Add a macro '#define system ...' that calls this variant and inserts
    __guix_bin_sh as the shell executable
  * In the build system, look for bin/sh in the inputs.  If it exists,
    add -D__guix_bin_sh=/gnu/store/.../bin/sh to
    CFLAGS or such.

Greetings,
Maxime