summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-10-06 22:01:15 +0200
committerLudovic Courtès <ludo@gnu.org>2013-10-06 22:36:43 +0200
commit74067e1aeb5f5ce3de7ec1d7e9f8d68f695f69cc (patch)
tree53f0694f38efd4cb332e4365a3b4f8af4030dac9
parent9a6a9dae6faf2a64a61ba7b371065645358c6577 (diff)
downloadguix-74067e1aeb5f5ce3de7ec1d7e9f8d68f695f69cc.tar.gz
gnu: Gracefully handle circular dependencies between 'base' and 'linux'.
* gnu/packages/base.scm (linux-libre-headers-boot0): Turn into a thunk.
  User updated.
-rw-r--r--gnu/packages/base.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 5a32e57535..f5baf1a612 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -764,7 +764,10 @@ identifier SYSTEM."
      (native-inputs (alist-delete "texinfo"
                                   (package-native-inputs gcc-4.7))))))
 
-(define linux-libre-headers-boot0
+(define (linux-libre-headers-boot0)
+  "Return Linux-Libre header files for the bootstrap environment."
+  ;; Note: this is wrapped in a thunk to nicely handle circular dependencies
+  ;; between (gnu packages linux) and this module.
   (package-with-bootstrap-guile
    (package (inherit linux-libre-headers)
      (arguments `(#:guile ,%bootstrap-guile
@@ -809,7 +812,7 @@ identifier SYSTEM."
                             ;; install rpc/*.h.
                             "--enable-obsolete-rpc")
                       ,flags)))))
-     (propagated-inputs `(("linux-headers" ,linux-libre-headers-boot0)))
+     (propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
      (inputs
       `( ;; A native GCC is needed to build `cross-rpcgen'.
         ("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))