~ruther/guix-local

55de892b435657f82a25c6499174d09b4a680f15 — Manolis Ragkousis 10 years ago 6ea06a0
gnu: glibc: Rename linux-headers input to kernel-headers.

* gnu/packages/base.scm (glibc)[propagated-inputs]: Use a kernel
  agnostic name for the kernel headers.
  [arguments]: Adjust accordingly.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)
  [propagated-inputs]: Adjust accordingly.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[arguments]: Adjust
  accordingly.
  (cross-gcc)[native-inputs]: Adjust accordingly.
* gnu/packages/make-bootstrap.scm (%glibc-stripped)[arguments]: Adjust
  accordingly.
  [inputs]: Adjust accordingly.
M gnu/packages/base.scm => gnu/packages/base.scm +2 -2
@@ 479,7 479,7 @@ store.")

   ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
   ;; users should automatically pull Linux headers as well.
   (propagated-inputs `(("linux-headers" ,linux-libre-headers)))
   (propagated-inputs `(("kernel-headers" ,linux-libre-headers)))

   (outputs '("out" "debug"))



@@ 519,7 519,7 @@ store.")
                           ,version)

            (string-append "--with-headers="
                           (assoc-ref %build-inputs "linux-headers")
                           (assoc-ref %build-inputs "kernel-headers")
                           "/include")

            ;; This is the default for most architectures as of GNU libc 2.21,

M gnu/packages/commencement.scm => gnu/packages/commencement.scm +1 -1
@@ 382,7 382,7 @@
                                   "export CPATH\n"
                                   all "\n"))))
               ,phases)))))
     (propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
     (propagated-inputs `(("kernel-headers" ,(linux-libre-headers-boot0))))
     (native-inputs
      `(("texinfo" ,texinfo-boot0)
        ("perl" ,perl-boot0)))

M gnu/packages/cross-base.scm => gnu/packages/cross-base.scm +12 -12
@@ 166,18 166,18 @@ may be either a libc package or #f.)"
              `(alist-cons-before
                'configure 'set-cross-path
                (lambda* (#:key inputs #:allow-other-keys)
                  ;; Add the cross Linux headers to CROSS_CPATH, and remove them
                  ;; Add the cross kernel headers to CROSS_CPATH, and remove them
                  ;; from CPATH.
                  (let ((libc  (assoc-ref inputs "libc"))
                        (linux (assoc-ref inputs "xlinux-headers")))
                        (kernel (assoc-ref inputs "xkernel-headers")))
                    (define (cross? x)
                      ;; Return #t if X is a cross-libc or cross Linux.
                      (or (string-prefix? libc x)
                          (string-prefix? linux x)))
                          (string-prefix? kernel x)))

                    (setenv "CROSS_CPATH"
                            (string-append libc "/include:"
                                           linux "/include"))
                                           kernel "/include"))
                    (setenv "CROSS_LIBRARY_PATH"
                            (string-append libc "/lib"))



@@ 250,9 250,9 @@ GCC that does not target a libc; otherwise, target that libc."
                               (alist-delete "libc" %final-inputs))))
           (if libc
               `(("libc" ,libc)
                 ("xlinux-headers"                ;the target headers
                 ("xkernel-headers"                ;the target headers
                  ,@(assoc-ref (package-propagated-inputs libc)
                               "linux-headers"))
                               "kernel-headers"))
                 ,@inputs)
               inputs))))



@@ 314,17 314,17 @@ XBINUTILS and the cross tool chain."
               ,flags))
       ((#:phases phases)
        `(alist-cons-before
          'configure 'set-cross-linux-headers-path
          'configure 'set-cross-kernel-headers-path
          (lambda* (#:key inputs #:allow-other-keys)
            (let ((linux (assoc-ref inputs "linux-headers")))
            (let ((kernel (assoc-ref inputs "kernel-headers")))
              (setenv "CROSS_CPATH"
                      (string-append linux "/include"))
                      (string-append kernel "/include"))
              #t))
          ,phases))))

    ;; Shadow the native "linux-headers" because glibc's recipe expects the
    ;; "linux-headers" input to point to the right thing.
    (propagated-inputs `(("linux-headers" ,xlinux-headers)))
    ;; Shadow the native "kernel-headers" because glibc's recipe expects the
    ;; "kernel-headers" input to point to the right thing.
    (propagated-inputs `(("kernel-headers" ,xlinux-headers)))

    ;; FIXME: 'static-bash' should really be an input, not a native input, but
    ;; to do that will require building an intermediate cross libc.

M gnu/packages/make-bootstrap.scm => gnu/packages/make-bootstrap.scm +2 -2
@@ 344,7 344,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                  (libdir (string-append out "/lib"))
                  (incdir (string-append out "/include"))
                  (libc   (assoc-ref %build-inputs "libc"))
                  (linux  (assoc-ref %build-inputs "linux-headers")))
                  (linux  (assoc-ref %build-inputs "kernel-headers")))
             (mkdir-p libdir)
             (for-each (lambda (file)
                         (let ((target (string-append libdir "/"


@@ 379,7 379,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                (parameterize ((%current-target-system #f))
                                  (cross-libc target)))
                               glibc)))
                ("linux-headers" ,linux-libre-headers)))
                ("kernel-headers" ,linux-libre-headers)))

      ;; Only one output.
      (outputs '("out")))))