~ruther/guix-local

e0a0c84b4f1f1c78cdb444193654471c4971b63a — Ludovic Courtès 11 years ago 3916023
gnu: glibc-final: Remove top-level circular dependency.

This fixes a top-level circular dependency between linux.scm and
base.scm introduced in 2e92375.

* gnu/packages/base.scm (glibc-final): Remove call to
  'package-with-restricted-references', and use an 'arguments' field
  instead.
1 files changed, 16 insertions(+), 13 deletions(-)

M gnu/packages/base.scm
M gnu/packages/base.scm => gnu/packages/base.scm +16 -13
@@ 929,19 929,22 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"

(define-public glibc-final
  ;; The final glibc, which embeds the statically-linked Bash built above.
  (package-with-restricted-references
   (package (inherit glibc-final-with-bootstrap-bash)
     (name "glibc")
     (inputs `(("static-bash" ,static-bash-for-glibc)
               ,@(alist-delete
                  "static-bash"
                  (package-inputs glibc-final-with-bootstrap-bash)))))

   ;; The final libc only refers to itself, but the 'debug' output contains
   ;; references to GCC-BOOT0 and to the Linux headers.  XXX: Would be great
   ;; if 'allowed-references' were per-output.
   (cons* gcc-boot0 (linux-libre-headers-boot0)
          (package-outputs glibc-final-with-bootstrap-bash))))
  (package (inherit glibc-final-with-bootstrap-bash)
    (name "glibc")
    (inputs `(("static-bash" ,static-bash-for-glibc)
              ,@(alist-delete
                 "static-bash"
                 (package-inputs glibc-final-with-bootstrap-bash))))

    ;; The final libc only refers to itself, but the 'debug' output contains
    ;; references to GCC-BOOT0 and to the Linux headers.  XXX: Would be great
    ;; if 'allowed-references' were per-output.
    (arguments
     `(#:allowed-references
       ,(cons* gcc-boot0 (linux-libre-headers-boot0)
               (package-outputs glibc-final-with-bootstrap-bash))

       ,@(package-arguments glibc-final-with-bootstrap-bash)))))

(define gcc-boot0-wrapped
  ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the