From 4c1eddf766e5fa71dca032a191f415715cd2c169 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 1 Sep 2012 11:33:20 +0200 Subject: Add an `env-vars' keyword parameter to `build-expression->derivation'. * guix/derivations.scm (build-expression->derivation): New `env-vars' keyword parameter; default to '(). Use it. --- guix/derivations.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'guix') diff --git a/guix/derivations.scm b/guix/derivations.scm index 1013a78e7e..d7f1f3764c 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -508,15 +508,18 @@ search path." (define* (build-expression->derivation store name system exp inputs #:key (outputs '("out")) hash hash-algo + (env-vars '()) (modules '())) "Return a derivation that executes Scheme expression EXP as a builder for derivation NAME. INPUTS must be a list of (NAME DRV-PATH SUB-DRV) tuples; when SUB-DRV is omitted, \"out\" is assumed. EXP is evaluated in an environment where %OUTPUT is bound to the main output path, %OUTPUTS is bound to a list of output/path pairs, and where %BUILD-INPUTS is bound to an alist -of string/output-path pairs made from INPUTS. The builder terminates by -passing the result of EXP to `exit'; thus, when EXP returns #f, the build is -considered to have failed." +of string/output-path pairs made from INPUTS. Optionally, ENV-VARS is a list +of string pairs specifying the name and value of environment variables +visible to the builder. The builder terminates by passing the result of EXP +to `exit'; thus, when EXP returns #f, the build is considered to have +failed." (define guile (string-append (derivation-path->output-path (%guile-for-build)) "/bin/guile")) @@ -575,7 +578,7 @@ considered to have failed." `("--no-auto-compile" ,@(if mod-dir `("-L" ,mod-dir) '()) ,builder) - '(("HOME" . "/homeless")) + env-vars `((,(%guile-for-build)) (,builder) ,@(map cdr inputs) -- cgit v1.2.3