aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-08-29 00:32:31 +0200
committerLudovic Courtès <ludo@gnu.org>2015-08-29 01:22:54 +0200
commit0309e1b0ba9764746fc99c6ee02917c585ea8579 (patch)
tree97b972a38766535063468d8ac04001eac0ac0cb0
parentb6c6105cacf8093bafcdbb73fad591070cfaa8d7 (diff)
downloadguix-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.texi8
-rw-r--r--guix/gexp.scm10
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