Subject: [bug#65313] [PATCH 0/1] gnu: Add erlang-lfe.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 06 Sep 2023 13:21:23 -0400

Hi Tim,

Tim Johann <[email-masked]> writes:

> Hi Maxim,
>
> Thanks for the review.  I learned a lot.

Happy to read it!

> Is there more documentation on the #:modules specification?  I would
> like to know if there is a variable containing the modules added to
> the builder file when not specifying #:modules in the arguments?  Or
> do I need to repeat them there, as I have done so far:
> #:modules '((ice-9 ftw)
>             (srfi srfi-26)
>             (guix build gnu-build-system)
>             (guix build utils))
>
> The (guix build _) modules are the ones that are present when I don't
> use the #:modules argument.  ftw is for 'scandir' and srfi-26 - as you
> suggested - for 'cut'

Your approach is the correct one.  You have to look at the
guix/build/*.scm files to see what are their default #:modules, and
combine that value with the ones you want to add.  For
#:imported-modules (which is for external scheme modules to be made
available in the environment), there are sometimes public variables that
can be used.

To make it more convenient, an improvement could be to either export
public variables for the base modules for each build system, or we could
go even farther and change the #:modules semantic so that it'd extend
rather than override what the build systems uses by default.

I hope that helps,

-- 
Thanks,
Maxim