summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2020-03-09 14:38:18 +0100
committerJan Nieuwenhuizen <janneke@gnu.org>2020-03-24 23:31:34 +0100
commitee1cf1dd80244fe187038db609bde282b21a05fc (patch)
tree3f2267c673fde0eeb1dc5ee603a110e3ebbfd1bc
parent096a8e35e746d623810e214e3e4a1008b99598fe (diff)
downloadguix-ee1cf1dd80244fe187038db609bde282b21a05fc.tar.gz
gnu: cross-libc: Build fix for the Hurd.
This fixes cross building of coreutils, e.g.

    ./pre-inst-env guix build --target=i586-pc-gnu coreutils

* gnu/packages/cross-base.scm (cross-libc): Add -lhurduser, -lmachuser for the
Hurd.
-rw-r--r--gnu/packages/cross-base.scm12
1 files changed, 11 insertions, 1 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 6f72653762..538f406043 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -513,7 +513,17 @@ and the cross tool chain."
                                  ',%gcc-cross-include-paths)
                        (setenv "CROSS_LIBRARY_PATH"
                                (string-append kernel "/lib")) ; for Hurd's libihash
-                       #t)))))))
+                       #t)))
+                 ,@(if (hurd-triplet? target)
+                       '((add-after 'install 'augment-libc.so
+                           (lambda* (#:key outputs #:allow-other-keys)
+                             (let* ((out (assoc-ref outputs "out")))
+                               (substitute* (string-append out "/lib/libc.so")
+                                 (("/[^ ]+/lib/libc.so.0.3")
+                                  (string-append out "/lib/libc.so.0.3"
+                                                 " libmachuser.so libhurduser.so"))))
+                             #t)))
+                       '())))))
 
           ;; Shadow the native "kernel-headers" because glibc's recipe expects the
           ;; "kernel-headers" input to point to the right thing.