summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-10-12 22:28:15 +0200
committerLudovic Courtès <ludo@gnu.org>2013-10-12 22:29:32 +0200
commitb421cebd6adbbadf6ad9aa000ca6605b1a4b2380 (patch)
tree417f10b8b68d2179279bad2657043669c34de33c
parent0ad7da1e90d479fa82dbb0cabf858e1b7a120c9d (diff)
downloadguix-b421cebd6adbbadf6ad9aa000ca6605b1a4b2380.tar.gz
build-system/perl: Lazily resolve (gnu packages perl).
* guix/build-system/perl.scm (default-perl): New procedure.
  (perl-build): Use it.
-rw-r--r--guix/build-system/perl.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm
index 6661689efb..eac8f53d3e 100644
--- a/guix/build-system/perl.scm
+++ b/guix/build-system/perl.scm
@@ -35,9 +35,16 @@
 ;;
 ;; Code:
 
+(define (default-perl)
+  "Return the default Perl package."
+
+  ;; Do not use `@' to avoid introducing circular dependencies.
+  (let ((module (resolve-interface '(gnu packages perl))))
+    (module-ref module 'perl)))
+
 (define* (perl-build store name source inputs
                      #:key
-                     (perl (@ (gnu packages perl) perl))
+                     (perl (default-perl))
                      (search-paths '())
                      (tests? #t)
                      (make-maker-flags ''())