guix_mirror_bot pushed a commit to branch master
in repository guix.

commit d1dc0c73aa1eb8bbe7918e3b50aa741febcbb4aa
Author: Yelninei <[email protected]>
AuthorDate: Wed Dec 17 13:04:02 2025 +0000

    gnu: dbus: Fix build on the Hurd.
    
    * gnu/packages/patches/dbus-hurd-patch: New patch.
    * gnu/local.mk (dist_patch_DATA): Register it.
    * gnu/packages/glib.scm (dbus): Add phase for adding the patch.
    
    Change-Id: Ifa3950b9db588b4102162672958541b49dac33a0
    Signed-off-by: Liliana Marie Prikler <[email protected]>
---
 gnu/local.mk                         |  1 +
 gnu/packages/glib.scm                |  7 ++++++
 gnu/packages/patches/dbus-hurd.patch | 42 ++++++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index ccd6955a77..696fe73d96 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1166,6 +1166,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/dbacl-icheck-multiple-definitions.patch \
   %D%/packages/patches/dblatex-inkscape-1.0.patch              \
   %D%/packages/patches/dbus-helper-search-path.patch           \
+  %D%/packages/patches/dbus-hurd.patch                         \
   %D%/packages/patches/dbus-c++-gcc-compat.patch               \
   %D%/packages/patches/dbus-c++-threading-mutex.patch          \
   %D%/packages/patches/ddd-build.patch                         \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index dcc550a888..e0eb107e5a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -147,6 +147,13 @@
          "--sysconfdir=/etc")
       #:phases
       #~(modify-phases %standard-phases
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'patch-hurd
+                      (lambda _
+                        (let ((patch #$(local-file
+                                        (search-patch "dbus-hurd.patch"))))
+                          (invoke "patch" "--force" "-p1" "-i" patch)))))
+                 #~())
           (replace 'install
             (lambda _
               ;; Don't try to create /var and /etc.
diff --git a/gnu/packages/patches/dbus-hurd.patch 
b/gnu/packages/patches/dbus-hurd.patch
new file mode 100644
index 0000000000..5404f3d1ee
--- /dev/null
+++ b/gnu/packages/patches/dbus-hurd.patch
@@ -0,0 +1,42 @@
+Taken from
+https://gitlab.freedesktop.org/dbus/dbus/-/commit/9a2ccd09c089a7c8fc1adb908d3a71586061cfa3
+
+From 5d7b87496f3bb094b926692036ae656c31efdd8e Mon Sep 17 00:00:00 2001
+From: Simon McVittie <[email protected]>
+Date: Mon, 9 Dec 2024 23:22:17 +0000
+Subject: [PATCH] sysdeps: Don't check for PROC_SUPER_MAGIC if it isn't defined
+
+Debian GNU/Hurd has fstatfs() but not PROC_SUPER_MAGIC.
+
+Resolves: https://gitlab.freedesktop.org/dbus/dbus/-/issues/539
+Bug-Debian: https://bugs.debian.org/1089641
+Signed-off-by: Simon McVittie <[email protected]>
+---
+ dbus/dbus-file-unix.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dbus/dbus-file-unix.c b/dbus/dbus-file-unix.c
+index d5fa029e8..19228a958 100644
+--- a/dbus/dbus-file-unix.c
++++ b/dbus/dbus-file-unix.c
+@@ -66,7 +66,7 @@ _dbus_file_get_contents (DBusString       *str,
+ {
+   int fd;
+   struct stat sb;
+-#ifdef HAVE_FSTATFS
++#if defined(HAVE_FSTATFS) && defined(PROC_SUPER_MAGIC)
+   struct statfs sfs;
+ #endif
+   int orig_len;
+@@ -119,7 +119,7 @@ _dbus_file_get_contents (DBusString       *str,
+   /* procfs has different semantics - most files are 0 size,
+    * we can do only one read, and at most we can read 4M.
+    */
+-#ifdef HAVE_FSTATFS
++#if defined(HAVE_FSTATFS) && defined(PROC_SUPER_MAGIC)
+   if (sb.st_size == 0)
+     {
+       if (fstatfs(fd, &sfs) < 0)
+-- 
+GitLab
+

Reply via email to