From 74067e1aeb5f5ce3de7ec1d7e9f8d68f695f69cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Sun, 6 Oct 2013 22:01:15 +0200
Subject: [PATCH] gnu: Gracefully handle circular dependencies between 'base'
 and 'linux'.

* gnu/packages/base.scm (linux-libre-headers-boot0): Turn into a thunk.
  User updated.
---
 gnu/packages/base.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 5a32e57535e..f5baf1a612a 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -764,7 +764,10 @@ (define gcc-boot0
      (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 @@ (define glibc-final-with-bootstrap-bash
                             ;; 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"))
-- 
GitLab