aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-03-17 22:09:32 +0100
committerLudovic Courtès <ludo@gnu.org>2015-03-17 22:25:55 +0100
commitff40e9b7e55846c86f48c861816ac01bd0d7af7a (patch)
tree4e32022258c9cba5e376d1ebfa0a96befce24539 /doc
parent9d8100f4c7d9f44a3623419039ac985be7ba9bb3 (diff)
downloadguix-ff40e9b7e55846c86f48c861816ac01bd0d7af7a.tar
guix-ff40e9b7e55846c86f48c861816ac01bd0d7af7a.tar.gz
gexp: Move the package and origin compilers to (guix packages).
From now own, (guix packages) depends on (guix gexps); it was the other way around now. This means that (guix packages) code can use gexps. * guix/gexp.scm (origin-compiler, package-compiler): Remove. (default-guile-derivation): New procedure. (gexp->derivation): Use it instead of 'default-guile' + 'package->derivation'. * guix/packages.scm (default-guile-derivation): New procedure. (package-compiler, origin-compiler): New variables. * doc/guix.texi (G-Expressions): Mention extensibility.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi5
1 files changed, 5 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index fa8d3ab49e..ae2f786111 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2464,6 +2464,11 @@ processes.
When a package or derivation is unquoted inside a gexp, the result is as
if its output file name had been introduced.
+Actually this mechanism is not limited to package and derivation
+objects; @dfn{compilers} able to ``lower'' other high-level objects to
+derivations can be defined, such that these objects can also be inserted
+into gexps.
+
@item
Gexps carry information about the packages or derivations they refer to,
and these dependencies are automatically added as inputs to the build