summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/glib.scm7
-rw-r--r--gnu/packages/patches/dbus-hurd.patch42
3 files changed, 50 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index ccd6955a772..696fe73d96d 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 dcc550a8885..e0eb107e5a0 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 00000000000..5404f3d1ee4
--- /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 <smcv@collabora.com>
+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 <smcv@collabora.com>
+---
+ 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
+