diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-08-29 00:32:31 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-08-29 01:22:54 +0200 |
commit | 0309e1b0ba9764746fc99c6ee02917c585ea8579 (patch) | |
tree | 97b972a38766535063468d8ac04001eac0ac0cb0 | |
parent | b6c6105cacf8093bafcdbb73fad591070cfaa8d7 (diff) | |
download | guix-0309e1b0ba9764746fc99c6ee02917c585ea8579.tar guix-0309e1b0ba9764746fc99c6ee02917c585ea8579.tar.gz |
gexp: Add #:script-name parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:script-name parameter.
* doc/guix.texi (G-Expressions): Document it.
-rw-r--r-- | doc/guix.texi | 8 | ||||
-rw-r--r-- | guix/gexp.scm | 10 |
2 files changed, 11 insertions, 7 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 2973411beb..f69440c325 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3263,11 +3263,13 @@ information about monads.) [#:module-path @var{%load-path}] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:leaked-env-vars #f] @ + [#:script-name (string-append @var{name} "-builder")] @ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] Return a derivation @var{name} that runs @var{exp} (a gexp) with -@var{guile-for-build} (a derivation) on @var{system}. When @var{target} -is true, it is used as the cross-compilation target triplet for packages -referred to by @var{exp}. +@var{guile-for-build} (a derivation) on @var{system}; @var{exp} is +stored in a file called @var{script-name}. When @var{target} is true, +it is used as the cross-compilation target triplet for packages referred +to by @var{exp}. Make @var{modules} available in the evaluation context of @var{exp}; @var{modules} is a list of names of Guile modules searched in diff --git a/guix/gexp.scm b/guix/gexp.scm index 6dc816dc40..63af40aed9 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -331,10 +331,12 @@ names and file names suitable for the #:allowed-references argument to references-graphs allowed-references leaked-env-vars - local-build? (substitutable? #t)) + local-build? (substitutable? #t) + (script-name (string-append name "-builder"))) "Return a derivation NAME that runs EXP (a gexp) with GUILE-FOR-BUILD (a -derivation) on SYSTEM. When TARGET is true, it is used as the -cross-compilation target triplet for packages referred to by EXP. +derivation) on SYSTEM; EXP is stored in a file called SCRIPT-NAME. When +TARGET is true, it is used as the cross-compilation target triplet for +packages referred to by EXP. Make MODULES available in the evaluation context of EXP; MODULES is a list of names of Guile modules searched in MODULE-PATH to be copied in the store, @@ -397,7 +399,7 @@ The other arguments are as for 'derivation'." (sexp (gexp->sexp exp #:system system #:target target)) - (builder (text-file (string-append name "-builder") + (builder (text-file script-name (object->string sexp))) (modules (if (pair? %modules) (imported-modules %modules |