Subject: [bug#51770] [PATCH] update Hurd packages

From: zamfofex <[email-masked]>
Date: Thu, 11 Nov 2021 12:51:21 -0300 (BRT)

I have been working on updating the Hurd packages for quite a while now. My goal was to use netdde (which wasn’t previously working well) so that I could install Guix GNU/Hurd on my computer and use it.

I was asked (in IRC) to say that my changes are necessary to be able to get netdde to a working state, since non-release updates are generally not accepted. However, I will note that all packages I updated (as far as I can tell) were already in a non-release commit.

I have applied my changes over the 'core-update-frozen' branch because it seems like the newer version of glibc therein is necessary for these newer package commit versions to build successfully.

I will send the patch file generated by 'git format-patch' as an attachment.

If I have done anything wrong while sending this email, please let me know and apologies in advance.

From 124b2e5033f60bf3ec66a082ef7a092eb5e7f432 Mon Sep 17 00:00:00 2001
From: zamfofex <[email-masked]>
Date: Thu, 11 Nov 2021 12:28:49 -0300
Subject: [PATCH] gnu: update Hurd packages

* gnu/packages/hurd.scm (gnumach, gnumach-headers, hurd, netdde): Update packages relating to the Hurd so that netdde is usable
---
 gnu/packages/hurd.scm                     | 36 +++++++++++------------
 gnu/packages/patches/hurd-configure.patch |  4 +++
 2 files changed, 22 insertions(+), 18 deletions(-)
 create mode 100644 gnu/packages/patches/hurd-configure.patch

diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 1e6af1029f..620a99c25b 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2020 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2020 Rene Saavedra <[email-masked]>
+;;; Copyright © 2021 zamfofex <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -67,8 +68,8 @@ (define (hurd-source-url version)
                  version ".tar.gz"))
 
 (define-public gnumach-headers
-   (let ((commit "097f9cf735ffa1212b828682ad92f0f6c5f1c552")
-         (revision "1"))
+   (let ((commit "7c107da5f0b7397eea37f5fb77d4afac8f6e93c7")
+         (revision "2"))
      (package
        (name "gnumach-headers")
        (version (git-version "1.8" revision commit))
@@ -81,7 +82,7 @@ (define-public gnumach-headers
            (file-name (git-file-name "gnumach" version))
            (sha256
             (base32
-             "0q36z7k02bykrld90zaxbhyzxlmwlqqs4divgir6ix38zsp6icqk"))))
+             "1wwpa6hsp51bqzb0zdbvdfjffy252jj4kx66jj4zj0r385a37n6c"))))
        (build-system gnu-build-system)
        (arguments
         `(#:phases
@@ -166,8 +167,8 @@ (define-public mig/32-bit
 (define-public hurd-headers
   ;; Resort to a post-0.9 snapshot that provides the 'file_utimens' and
   ;; 'file_exec_paths' RPCs that glibc 2.28 expects.
-  (let ((revision "1")
-        (commit "91a51672ff4cfe1f1a0712b4c542ded3081c825b"))
+  (let ((revision "2")
+        (commit "77cdd08a2faf08afd13610f11db694856a7ce44c"))
    (package
      (name "hurd-headers")
      (version (git-version "0.9" revision commit))
@@ -178,7 +179,8 @@ (define-public hurd-headers
                      (commit commit)))
                (sha256
                 (base32
-                 "16k9wkahz9wasviijz53n6i13nmiwa9fs64ikf1jqh8rl60hw7cz"))
+                 "0xjb40j1n0yj11gfw70lmppg1hvcl2n0yip30hlxx52s3yqdgzpw"))
+               (patches (search-patches "hurd-configure.patch"))
                (file-name (git-file-name name version))))
      (build-system gnu-build-system)
      (native-inputs
@@ -337,7 +339,7 @@ (define unifont
 
 (define dde-sources
   ;; This is the current tip of the dde branch
-  (let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136"))
+  (let ((commit "3c12bd85cbc32d96f866ef19fa5173069b42130d"))
     (origin
       (method git-fetch)
       (uri (git-reference
@@ -345,31 +347,29 @@ (define dde-sources
             (commit commit)))
       (sha256
        (base32
-        "1vryinbg75xpydfrv9dbgfnds6knlh8l8bk2rxp32y9dc58z0692"))
+        "09wvwnldv95i5xhl3jljhbxsnzjh6lw7kip5sl8wnxdgfphl5qj7"))
       (file-name (git-file-name "dde" commit)))))
 
 (define-public hurd
   (package
     (name "hurd")
     (version (package-version hurd-headers))
-    (source (origin (inherit (package-source hurd-headers))
-                    (patches (search-patches "hurd-cross.patch"
-                                             "hurd-xattr.patch"))))
+    (source (package-source hurd-headers))
     (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"))
+               (("libmachdev ")
+                "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")))
+                            (string-append dde "/" dir) dir))
+                         '("libmachdevdde" "libddekit")))
              #t))
          (add-after 'unpack 'find-tirpc
            (lambda* (#:key inputs #:allow-other-keys)
@@ -562,8 +562,8 @@ (define-public hurd
     (license gpl2+)))
 
 (define-public netdde
-  (let ((commit "4a1016f130b6f2065d3f088325e5fb0b2997ae12")
-        (revision "1"))
+  (let ((commit "e67c284ac113d939b10b4578334f27dab29d5b08")
+        (revision "2"))
     (package
       (name "netdde")
       ;; The version prefix corresponds to the version of Linux from which the
@@ -576,7 +576,7 @@ (define-public netdde
                       (commit commit)))
                 (sha256
                  (base32
-                  "1njv9dszq4lj05yq4v9j5v247hfghpzvvz4hzy0khjjr35mw7hr8"))
+                  "0vnkls7sr7srzib5mnw6gybzl5qa8c5a4zf3h08w6gdr7zqbndh0"))
                 (file-name (git-file-name name commit))))
       (build-system gnu-build-system)
       (arguments
diff --git a/gnu/packages/patches/hurd-configure.patch b/gnu/packages/patches/hurd-configure.patch
new file mode 100644
index 0000000000..b06eae2ebb
--- /dev/null
+++ b/gnu/packages/patches/hurd-configure.patch
@@ -0,0 +1,4 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -0,1 +0,0 @@
+-AC_CHECK_FUNCS(_hurd_libc_proc_init)
-- 
2.33.1