[PATCH] gnu: hurd: Build DDE libraries.

DoneSubmitted by Ricardo Wurmus.
Details
3 participants
  • Jan Nieuwenhuizen
  • Ludovic Courtès
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
R
R
Ricardo Wurmus wrote on 11 Apr 2020 14:05
(address . guix-patches@gnu.org)(name . Ricardo Wurmus)(address . rekado@elephly.net)
20200411120532.1660-1-rekado@elephly.net
* gnu/packages/hurd.scm (hurd)[native-inputs]: Add "dde-sources".
[inputs]: Add libpciaccess.
[arguments]: Add phase "prepare-dde".
---
gnu/packages/hurd.scm | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 5a56714d24..64911bfb1f 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,6 +41,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages xorg) ; libpciaccess
   #:use-module (guix git-download)
   #:export (hurd-system?
             hurd-target?
@@ -363,6 +365,19 @@ boot, since this cannot be done from GNU/Linux."
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'prepare-dde
+           (lambda* (#:key native-inputs inputs #:allow-other-keys)
+             (substitute* "Makefile"
+               (("libbpf ")
+                "libbpf libmachdev libmachdevdde libddekit"))
+             (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))
          (add-before 'build 'pre-build
            (lambda _
              ;; Don't change the ownership of any file at this time.
@@ -472,6 +487,7 @@ fsysopts / --writable\n"))
        ("libgcrypt" ,libgcrypt)                  ;for /hurd/random
        ("libdaemon" ,libdaemon)                  ;for /bin/console --daemonize
        ("unifont" ,unifont)
+       ("libpciaccess" ,libpciaccess)
 
        ;; Tools for the /libexec/* scripts.
        ("bash-minimal" ,bash-minimal)
@@ -492,7 +508,20 @@ fsysopts / --writable\n"))
                      (arguments `(#:system "i686-linux")))
                    mig))
        ("perl" ,perl)
-       ("texinfo" ,texinfo-4)))
+       ("texinfo" ,texinfo-4)
+       ("dde-sources"
+        ;; This is the current tip of the dde branch
+        ,(let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136"))
+           (origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://git.savannah.gnu.org/git/hurd/incubator.git")
+                   (commit commit)))
+             (sha256
+              (base32
+               "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692"))
+             (file-name (string-append "dde-checkout-"
+                                       (string-take commit 7))))))))
     (supported-systems %hurd-systems)
     (home-page "https://www.gnu.org/software/hurd/hurd.html")
     (synopsis "The kernel servers for the GNU operating system")
-- 
2.25.1
J
J
Jan Nieuwenhuizen wrote on 12 Apr 2020 13:32
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 40552@debbugs.gnu.org)
87r1wtc532.fsf@gnu.org
Ricardo Wurmus writes:

Hello Ricardo,

Toggle quote (4 lines)
> * gnu/packages/hurd.scm (hurd)[native-inputs]: Add "dde-sources".
> [inputs]: Add libpciaccess.
> [arguments]: Add phase "prepare-dde".

Thank you, beautiful! I applied it to wip-hurd-vm. Using some extra
guix cross-build hacks that are not ready for savannah
to build the first package on our own hurd VM:


A hacky script to do build `gnu-make-boot0':

is included as `build.sh'.

Toggle snippet (8 lines)
#! /bin/sh
set -ex

guix-daemon --build-users-group=guixbuild --disable-chroot --disable-deduplication --max-jobs=1 &
guix archive --authorize < /run/current-system/profile/share/guix/ci.guix.gnu.org.pub
guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)' --fallback --no-offload

Not marking this `done' yet, as the patch hasn't been merged on
core-updates.

However, this looks so nice and works so well: please feel free to push
a next patch (no pressure!) to wip-hurd-vm yourself!

Greetings,
janneke

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 2 May 2020 16:24
control message for bug #40552
(address . control@debbugs.gnu.org)
87tv0y5s9f.fsf@gnu.org
tags 40552 fixed
close 40552
quit
?
Your comment

This issue is archived.

To comment on this conversation send email to 40552@debbugs.gnu.org