summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-09-03 10:18:38 +0200
committerLudovic Courtès <ludo@gnu.org>2013-09-03 10:18:38 +0200
commit0a2873e5158fb93d8cc31d91a7025801179bf1cd (patch)
treeee8dba1b001de7c816abf7592a333f68af4f569f
parent00554b2a0f4410e428de527c16c2b3bbe8daeb3a (diff)
downloadguix-0a2873e5158fb93d8cc31d91a7025801179bf1cd.tar.gz
build-system/gnu: Delay resolution of (@ (gnu packages cmake) cmake).
* guix/build-system/cmake.scm (default-cmake): New procedure.
  (cmake-build): Use it.
-rw-r--r--guix/build-system/cmake.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm
index 3347dc502c..76eb9bf945 100644
--- a/guix/build-system/cmake.scm
+++ b/guix/build-system/cmake.scm
@@ -35,13 +35,20 @@
 ;;
 ;; Code:
 
+(define (default-cmake)
+  "Return the default CMake package."
+
+  ;; Do not use `@' to avoid introducing circular dependencies.
+  (let ((module (resolve-interface '(gnu packages cmake))))
+    (module-ref module cmake)))
+
 (define* (cmake-build store name source inputs
                      #:key (guile #f)
                      (outputs '("out")) (configure-flags ''())
                      (search-paths '())
                      (make-flags ''())
                      (patches ''()) (patch-flags ''("--batch" "-p1"))
-                     (cmake (@ (gnu packages cmake) cmake))
+                     (cmake (default-cmake))
                      (out-of-source? #f)
                      (tests? #t)
                      (test-target "test")