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
+