mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: hurd: Build against glibc 2.28.
Version 2.28 of glibc is the first in a long time that fully supports GNU/Hurd. This change updates the Hurd and Mach to provide the features glibc 2.28 expects and adjusts the cross-compilation tool chain for "i586-pc-gnu". * gnu/packages/base.scm (glibc/linux): Rename to... (glibc): ... this. [propagated-inputs]: Add 'hurd-target?' case. [arguments]: Use '--disable-werror' when 'hurd-target?'. Add 'augment-libc.so' phase when 'hurd-target?'. [native-inputs]: Add MIG and PERL when 'hurd-target?'. (glibc/hurd, glibc-for-target): Remove (glibc/hurd-headers): Inherit from GLIBC, not GLIBC/HURD. [arguments]: Remove "--enable-obsolete-rpc" configure flag and 'patch-configure-script' phase. * gnu/packages/cross-base.scm (cross-kernel-headers)[xglibc/hurd-headers]: Move 'set-cross-headers-path' after 'unpack'. * gnu/packages/cross-base.scm (cross-libc)[cross-libc-for-target]: Remove. Pass "--disable-werror" when TARGET matches 'hurd-triplet?'. * gnu/packages/hurd.scm (hurd-target?, patch-url): New procedures. (gnumach-headers)[source](patches, modules, snippet): New fields. (hurd-headers): Use Git commit 98b3390. [native-inputs]: Add AUTOCONF and AUTOMAKE. [arguments]: Add "ac_cv_func_*" configure flags. (hurd-minimal)[native-inputs]: Remove. [arguments]: In 'build' phase, build "include/assert-backtrace.h" first.
This commit is contained in:
parent
8504d19222
commit
2d546858b1
3 changed files with 138 additions and 155 deletions
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
|
@ -356,7 +356,7 @@ target that libc."
|
|||
,@(package-arguments glibc/hurd-headers))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'pre-configure 'set-cross-headers-path
|
||||
(add-after 'unpack 'set-cross-headers-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((mach (assoc-ref inputs "gnumach-headers"))
|
||||
(hurd (assoc-ref inputs "hurd-headers"))
|
||||
|
@ -426,17 +426,9 @@ target that libc."
|
|||
(xheaders (cross-kernel-headers target)))
|
||||
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
|
||||
XBINUTILS and the cross tool chain."
|
||||
(define (cross-libc-for-target target)
|
||||
"Return libc depending on TARGET."
|
||||
(match target
|
||||
((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
|
||||
(_ glibc/linux)))
|
||||
|
||||
;; Use (cross-libc-for-target ...) to determine the correct libc to use.
|
||||
|
||||
(if (cross-newlib? target)
|
||||
(native-libc target)
|
||||
(let ((libc (cross-libc-for-target target)))
|
||||
(let ((libc glibc))
|
||||
(package (inherit libc)
|
||||
(name (string-append "glibc-cross-" target))
|
||||
(arguments
|
||||
|
@ -457,7 +449,9 @@ XBINUTILS and the cross tool chain."
|
|||
,@(package-arguments libc))
|
||||
((#:configure-flags flags)
|
||||
`(cons ,(string-append "--host=" target)
|
||||
,flags))
|
||||
,(if (hurd-triplet? target)
|
||||
`(cons "--disable-werror" ,flags)
|
||||
flags)))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'configure 'set-cross-kernel-headers-path
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue