diff options
author | Josselin Poiret <dev@jpoiret.xyz> | 2023-03-20 23:10:48 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-03-30 12:44:20 +0200 |
commit | 99f6cc0e54ceee66f3b7434139536678b91fb5bf (patch) | |
tree | 44b4cf8fc97984c778231c6060dd5b7bdc43f353 /gnu/packages/hurd.scm | |
parent | d509aab2304c7ed8cd730ac97268d2b3a807fadf (diff) |
gnu: hurd: Update DDE and use libdde_linux26.
* gnu/packages/hurd.scm (dde-sources): Update.
(hurd): Build libdde_linux26 and install it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/hurd.scm')
-rw-r--r-- | gnu/packages/hurd.scm | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 80fa061175..270bbd1862 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -342,7 +342,7 @@ Hurd-minimal package which are needed for both glibc and GCC.") (define dde-sources ;; This is the current tip of the dde branch - (let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) + (let ((commit "ce8810277fa3584eb36ecb23da58394153fabe6f")) (origin (method git-fetch) (uri (git-reference @@ -350,9 +350,15 @@ Hurd-minimal package which are needed for both glibc and GCC.") (commit commit))) (sha256 (base32 - "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692")) + "0ygk7jm4jmhpvh0zzi5bk638242z7sbcab2i57fkb4y2mmdkjjbw")) (file-name (git-file-name "dde" commit))))) +(define %import-from-dde + (list "libmachdevdde" "libddekit" "libdde_linux26")) + +(define %add-to-hurd-subdirs + (list "libmachdevdde" "libddekit")) + (define-public hurd (package (name "hurd") @@ -363,17 +369,19 @@ Hurd-minimal package which are needed for both glibc and GCC.") (modify-phases %standard-phases (add-after 'unpack 'prepare-dde (lambda* (#:key native-inputs inputs #:allow-other-keys) - (substitute* "Makefile" - (("libbpf ") - "libbpf libmachdev libmachdevdde libddekit")) + ;; First we import the things we want from dde. (for-each make-file-writable (find-files ".")) (let ((dde (or (assoc-ref inputs "dde-sources") (assoc-ref native-inputs "dde-sources")))) (for-each (lambda (dir) (copy-recursively (string-append dde "/" dir ) dir)) - '("libmachdev" "libmachdevdde" "libddekit"))) - #t)) + '("libmachdevdde" "libddekit" "libdde_linux26"))) + ;; And we add some as subdirs so that they're built by the main + ;; Makefile. libdde_linux26 is built later in its own phase. + (substitute* "Makefile" + (("libbpf ") + "libbpf libmachdevdde libddekit")))) (add-after 'unpack 'find-tirpc (lambda* (#:key inputs #:allow-other-keys) (for-each (lambda (var) @@ -492,12 +500,34 @@ exec ${system}/rc \"$@\" (patch-shebang file path)) (find-files (string-append out "/libexec"))) #t))) + (add-after 'build 'build-libdde-linux + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (invoke (string-append (assoc-ref native-inputs "make") + "/bin/make") + ;; XXX There can be a race condition because subdirs + ;; aren't interdependent targets in the Makefile. + "-j1" "-C" "libdde_linux26" + (string-append "SHELL=" + (assoc-ref native-inputs "bash") + "/bin/bash") + (string-append "CC=" + ,(cc-for-target))))) (add-after 'install 'install-goodies - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) ;; Install additional goodies. ;; TODO: Build & install *.msgids for rpctrace. (let* ((out (assoc-ref outputs "out")) (datadir (string-append out "/share/hurd"))) + ;; Install libdde_linux26. + (invoke (string-append (assoc-ref native-inputs "make") + "/bin/make") + "-C" "libdde_linux26" "install" + (string-append "SHELL=" + (assoc-ref native-inputs "bash") + "/bin/bash") + (string-append "INSTALLDIR=" + out + "/share/libdde_linux26/build/include")) ;; Install the fancy UTF-8 motd. (mkdir-p (string-append out "/etc")) (copy-file "console/motd.UTF8" |