summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-05-30 00:47:34 +0200
committerLudovic Courtès <ludo@gnu.org>2013-05-30 00:47:34 +0200
commit5282181d51202648d086f1f37c293dd03eee565f (patch)
tree12f31c2f46aaa001d2cdcce38aa351a2ed0b35f9
parentcf5d2ca3298195808eefa24a9ee029c882885c3c (diff)
downloadguix-5282181d51202648d086f1f37c293dd03eee565f.tar.gz
build-system/python: Avoid circular dependency.
This fixes a circular dependency introduced in commit acc26ff ("gnu: Add
pytz.").

* guix/build-system/python.scm (default-python): New procedure.
  (python-build): Use it.
-rw-r--r--guix/build-system/python.scm11
1 files changed, 8 insertions, 3 deletions
diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
index 2457e1c57d..b60adb182f 100644
--- a/guix/build-system/python.scm
+++ b/guix/build-system/python.scm
@@ -35,12 +35,17 @@
 ;;
 ;; Code:
 
+(define (default-python)
+  "Return the default Python package."
+  ;; Lazily resolve the binding to avoid a circular dependency.
+  (let ((python (resolve-interface '(gnu packages python))))
+    (module-ref python 'python)))
+
 (define* (python-build store name source inputs
                        #:key
-                       (python (@ (gnu packages python) python))
+                       (python (default-python))
                        (python-version
-                        (string-take (package-version
-                                      (@ (gnu packages python) python)) 3))
+                        (string-take (package-version (default-python)) 3))
                        (tests? #t)
                        (configure-flags ''())
                        (phases '(@ (guix build python-build-system)