From ff40e9b7e55846c86f48c861816ac01bd0d7af7a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Mar 2015 22:09:32 +0100 Subject: 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. --- doc/guix.texi | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc') 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 -- cgit v1.2.3