From 12d5aa0f5a45addb3a43f46b9fc4613d3f89f5b3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 6 Oct 2012 01:24:46 +0200 Subject: build-system/{gnu,trivial}: Add a `#:guile' keyword parameter. * guix/build-system/gnu.scm (package-with-explicit-inputs): New `guile' keyword parameter. Add it to P's arguments, and pass it in recursive calls. (gnu-build): New `guile' keyword parameter; new `guile-for-build' variable. Pass it as the `#:guile-for-build' parameter of `build-expression->derivation'. * guix/build-system/trivial.scm (trivial-build): Likewise. --- guix/build-system/trivial.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'guix/build-system/trivial.scm') diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm index 1134ae988c..8759cb3f92 100644 --- a/guix/build-system/trivial.scm +++ b/guix/build-system/trivial.scm @@ -20,16 +20,30 @@ #:use-module (guix store) #:use-module (guix utils) #:use-module (guix derivations) + #:use-module (guix packages) #:use-module (guix build-system) + #:use-module (ice-9 match) #:export (trivial-build-system)) (define* (trivial-build store name source inputs - #:key outputs system builder (modules '())) + #:key outputs guile system builder (modules '())) "Run build expression BUILDER, an expression, for SYSTEM. SOURCE is ignored." + (define guile-for-build + (match guile + (#f ; the default + (let* ((distro (resolve-interface '(distro packages base))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system))) + ((? package?) + (package-derivation store guile system)) + ((? derivation-path?) + guile))) + (build-expression->derivation store name system builder inputs #:outputs outputs - #:modules modules)) + #:modules modules + #:guile-for-build guile-for-build)) (define trivial-build-system (build-system (name 'trivial) -- cgit v1.2.3