diff options
author | W. Kosior <koszko@koszko.org> | 2024-07-13 11:38:01 +0200 |
---|---|---|
committer | W. Kosior <koszko@koszko.org> | 2024-09-04 21:02:04 +0200 |
commit | 7d54645011034b855f3d1032803e9d5813355c20 (patch) | |
tree | fe13ab435fece9a7ab0c3186b2fd2529ddf37a24 /gnu | |
parent | b9e507ce90240527edf8118f4c7da62d8711d7d3 (diff) | |
download | guix-7d54645011034b855f3d1032803e9d5813355c20.tar.gz guix-7d54645011034b855f3d1032803e9d5813355c20.zip |
gexp: Allow used modules to be specified declaratively for gexps.
This change allows specifying a gexp's dependence on arbitrary `use-modules:'
clauses. A top-level gexp no longer needs to know whan modules all its nested
gexps need.
* guix/gexp.scm (define-module)[#:export]: Export `with-used-modules'.
(<gexp>)[used-modules]: Add field.
(gexp-with-hidden-inputs): Pass used modules to altered gexp object.
(gexp-used-modules): New procedure.
(gexp->derivation)[add-modules]: Pass used modules to altered gexp object.
(current-used-modules): New syntax parameter.
(with-used-modules): New syntax transformer.
(gexp): Include used modules in new gexp object.
(wrap-with-used-modules): New procedure.
(input-tuples->gexp): Include empty used modules list in new gexp object.
(outputs->gexp): Ditto.
(sexp->gexp): Ditto.
(gexp->script): Add appropriate `use-modules' form to generated file.
(gexp->file): Ditto.
[gexp-to-write]: New nested procedure.
Change-Id: I8241a9092b162da24301d2ef25bb03e9dd40c2ed
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions