summaryrefslogtreecommitdiff
path: root/guix/build-system/trivial.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-10-06 01:24:46 +0200
committerLudovic Courtès <ludo@gnu.org>2012-10-06 01:25:17 +0200
commit12d5aa0f5a45addb3a43f46b9fc4613d3f89f5b3 (patch)
treee24dc27d59f55c7222351bbde6a8ecc584695df9 /guix/build-system/trivial.scm
parentdb1a15314da4ae1c83877942cef2941ae8fb80cf (diff)
downloadguix-patches-12d5aa0f5a45addb3a43f46b9fc4613d3f89f5b3.tar
guix-patches-12d5aa0f5a45addb3a43f46b9fc4613d3f89f5b3.tar.gz
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.
Diffstat (limited to 'guix/build-system/trivial.scm')
-rw-r--r--guix/build-system/trivial.scm18
1 files changed, 16 insertions, 2 deletions
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)