mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-12 14:16:55 -05:00
gnu: hurd-minimal: Include libshouldbeinlibc and libstore.
* gnu/packages/hurd.scm (hurd-minimal)[inputs]: Add gnumach-headers. [arguments]: Rewrite to include libshouldbeinlibc and libstore. * gnu/packages/cross-base.scm (cross-kernel-headers*): Update xhurd-minimal accordingly: Add xgnumach-headers, add them to cpath, use gexps for modify-phases, add delete-shared-target phase. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
This commit is contained in:
parent
f86de02dde
commit
c8799fafa4
2 changed files with 32 additions and 30 deletions
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013-2018, 2020, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016, 2019, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
|
@ -541,21 +541,35 @@ (define xhurd-minimal
|
|||
,(string-append "--host=" target)
|
||||
,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'delete-shared-target
|
||||
;; Cannot create shared libraries due to missing crt1.o
|
||||
(lambda _
|
||||
(substitute* "Makeconf"
|
||||
(("(targets := \\$\\(libname\\)\\.a) \\$\\(libname\\)\\.so" all static)
|
||||
static)
|
||||
(("\\$\\(DESTDIR\\)\\$\\(libdir\\)/\\$\\(libname\\)\\.so\\.\\$\\(hurd-version\\)")
|
||||
"")
|
||||
(("^libs: .*\\.so\\..*" all)
|
||||
(string-append "# " all)))))
|
||||
(add-before 'configure 'set-cross-headers-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((glibc-headers (assoc-ref inputs "cross-glibc-hurd-headers"))
|
||||
(cpath (string-append glibc-headers "/include")))
|
||||
(mach-headers (assoc-ref inputs "cross-gnumach-headers"))
|
||||
(cpath (string-append glibc-headers "/include"
|
||||
":" mach-headers "/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
',%gcc-cross-include-paths)
|
||||
'#$%gcc-cross-include-paths)
|
||||
#t)))))))
|
||||
|
||||
(inputs `(("cross-glibc-hurd-headers" ,xglibc/hurd-headers)))
|
||||
(inputs `(("cross-glibc-hurd-headers" ,xglibc/hurd-headers)
|
||||
("cross-gnumach-headers" ,xgnumach-headers)))
|
||||
|
||||
(native-inputs `(("cross-gcc" ,xgcc)
|
||||
("cross-binutils" ,xbinutils)
|
||||
("cross-mig" ,xmig)
|
||||
,@(alist-delete "mig"(package-native-inputs hurd-minimal))))))
|
||||
,@(alist-delete "mig"
|
||||
(package-native-inputs hurd-minimal))))))
|
||||
|
||||
(define xhurd-core-headers
|
||||
(package
|
||||
|
|
|
@ -194,37 +194,25 @@ (define-public hurd-headers
|
|||
(define-public hurd-minimal
|
||||
(package (inherit hurd-headers)
|
||||
(name "hurd-minimal")
|
||||
(inputs (list glibc/hurd-headers))
|
||||
(inputs (list glibc/hurd-headers gnumach-headers))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments hurd-headers)
|
||||
((#:make-flags flags '())
|
||||
#~'(#$(string-append "lib-subdirs=libshouldbeinlibc libihash libstore")
|
||||
"prog-subdirs="
|
||||
"other-subdirs="
|
||||
#$@flags))
|
||||
((#:phases _)
|
||||
'(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; We need to copy libihash.a to the output directory manually,
|
||||
;; since there is no target for that in the makefile.
|
||||
(mkdir-p (string-append out "/include"))
|
||||
(copy-file "libihash/ihash.h"
|
||||
(string-append out "/include/ihash.h"))
|
||||
(mkdir-p (string-append out "/lib"))
|
||||
(copy-file "libihash/libihash.a"
|
||||
(string-append out "/lib/libihash.a"))
|
||||
#t)))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
;; Install <assert-backtrace.h> & co.
|
||||
(invoke "make" "-Clibshouldbeinlibc"
|
||||
"../include/assert-backtrace.h")
|
||||
|
||||
;; Build libihash.
|
||||
(invoke "make" "-Clibihash" "libihash.a")))))))
|
||||
#~%standard-phases)
|
||||
((#:validate-runpath? validate-runpath? #f)
|
||||
#f)))
|
||||
(supported-systems %hurd-systems)
|
||||
(home-page "https://www.gnu.org/software/hurd/hurd.html")
|
||||
(synopsis "GNU Hurd libraries")
|
||||
(description
|
||||
"This package provides libihash, needed to build the GNU C
|
||||
Library for GNU/Hurd.")
|
||||
"This package provides libshouldbeinlibc, libihash, libstore, libports,
|
||||
libiohelp, libfshelp, libtrivfs, and libmachdev, needed to build the GNU C
|
||||
Library, Parted and netdde for GNU/Hurd.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public hurd-core-headers
|
||||
|
|
Loading…
Reference in a new issue