summary refs log tree commit diff
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-07 22:22:27 +0200
commit81c7948d9acd3e203e5fd7185dbead33c11d4a92 (patch)
tree426051c176c598970b8b0a2edf53238e216a698d
parent2143cf7a50968f71a5750ecc1e1e4f343914d863 (diff)
downloadguix-81c7948d9acd3e203e5fd7185dbead33c11d4a92.tar.gz
build-system/{gnu,trivial-build}: Fix handling of #:guile argument.
* guix/build-system/gnu.scm (gnu-build)[guile-for-build]: Check whether
  GUILE matches string? before checking whether it matches
  derivation-path?.
* guix/build-system/trivial.scm (trivial-build)[guile-for-build]:
  Likewise.
-rw-r--r--guix/build-system/gnu.scm12
-rw-r--r--guix/build-system/trivial.scm10
2 files changed, 11 insertions, 11 deletions
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 1a1ec1da12..77a128e8e3 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -119,7 +119,7 @@ System: GCC, GNU Make, Bash, Coreutils, etc."
                                           "bin" "sbin"))
                     (phases '%standard-phases)
                     (system (%current-system))
-                    (implicit-inputs? #t)         ; useful when bootstrapping
+                    (implicit-inputs? #t)    ; useful when bootstrapping
                     (modules '((guix build gnu-build-system)
                                (guix build utils))))
   "Return a derivation called NAME that builds from tarball SOURCE, with
@@ -151,14 +151,14 @@ package if GUILE is #f or omitted."
 
   (define guile-for-build
     (match guile
+      ((? package?)
+       (package-derivation store guile system))
+      ((and (? string?) (? derivation-path?))
+       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)))
+         (package-derivation store guile system)))))
 
   (build-expression->derivation store name system
                                 builder
diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm
index 8759cb3f92..3598018749 100644
--- a/guix/build-system/trivial.scm
+++ b/guix/build-system/trivial.scm
@@ -31,14 +31,14 @@
 ignored."
   (define guile-for-build
     (match guile
+      ((? package?)
+       (package-derivation store guile system))
+      ((and (? string?) (? derivation-path?))
+       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)))
+         (package-derivation store guile system)))))
 
   (build-expression->derivation store name system builder inputs
                                 #:outputs outputs