guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

12/21: gnu: hurd: Update DDE and use libdde_linux26.


From: guix-commits
Subject: 12/21: gnu: hurd: Update DDE and use libdde_linux26.
Date: Thu, 30 Mar 2023 06:47:01 -0400 (EDT)

civodul pushed a commit to branch core-updates
in repository guix.

commit 99f6cc0e54ceee66f3b7434139536678b91fb5bf
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Mon Mar 20 23:10:48 2023 +0100

    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>
---
 gnu/packages/hurd.scm | 46 ++++++++++++++++++++++++++++++++++++++--------
 1 file 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"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]