Subject: Re: bug#64090: Cannot compute a file with a G-exp

From: "(" <[email-masked]>
Date: Sat, 17 Jun 2023 08:51:38 +0100

Hi!

Robby Zambito <[email-masked]> writes:
> scheme@(guile-user)> (source-module-closure '((ice-9 popen) (ice-9 atomic) (ini) (json)))
> $8 = ()

SOURCE-MODULE-CLOSURE only works for modules provided by Guix or Guix
channels ;) Modules included in Guile don't need it at all, and for
modules provided by third-party Guile libraries like guile-ini or
guile-json, you need to use WITH-EXTENSIONS:

  (use-modules (gnu packages guile-xyz))

  (with-extensions (list guile-ini guile-json) GEXP)

> I found that I could get a partial list of dependencies using
> source-module-dependencies, which seems to only include the direct
> dependencies. So in my G-exp that I want to have depend on (ini), I used:

No, it includes the entire dependency tree, but filters out any modules
that don't come from Guix or Guix channels.

> At this point, if I do not interrupt the process, it will eat up all of
> my systems memory and crash. Building my config with this provides some
> more information:

I suspect this will be fixed if you follow what I've said above.

  -- (