~ruther/guix-local

0309e1b0ba9764746fc99c6ee02917c585ea8579 — Ludovic Courtès 10 years ago b6c6105
gexp: Add #:script-name parameter to 'gexp->derivation'.

* guix/gexp.scm (gexp->derivation): Add #:script-name parameter.
* doc/guix.texi (G-Expressions): Document it.
2 files changed, 11 insertions(+), 7 deletions(-)

M doc/guix.texi
M guix/gexp.scm
M doc/guix.texi => doc/guix.texi +5 -3
@@ 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

M guix/gexp.scm => guix/gexp.scm +6 -4
@@ 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