Subject: Re: bug#44249: [PATCH] gnu: emacs: Make strip-double-wrap more robust

From: Morgan Smith <[email-masked]>
Date: Fri, 15 Jan 2021 14:49:15 -0500

I've actually been sorta half working on this for a while now.

The problem is exactly that the modules field is inherited. See each
build system includes its own module in the modules field. The various
emacsen are built with different build systems. So emacs is going to
need to import (guix build glib-or-gtk-build-system) and emacs-minimal
is going to want (guix build gnu-build-system). By setting the modules
to be the glib-or-gtk-build-system, we override the default modules in
each inherited package. This means building emacs-minimal would result
in this error:

no code for module (guix build glib-or-gtk-build-system)

I'm not entirely certain why it worked for you but it looks like maybe
you included the gnu-build system instead of the glib-or-gtk-build-system.

I think to solve this issue proper, we need to come up with a way to use
%default-modules. Currently this variable isn't usable in this context,
but as gnu/packages/code.scm:791 says: ";; FIXME use %default-modules"