summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Wong <wongandj@runbox.com>2026-06-27 15:23:27 -0400
committerSharlatan Hellseher <sharlatanus@gmail.com>2026-08-13 11:56:33 +0100
commit4bbdb1f63ba0dc4c9c7c70dd8f7d76ba955f7d20 (patch)
treee22382202afe21edc436eb87814e344c539d71cc
parent917b3dd96bef4071990b15f5aa9b2c3f88e45f70 (diff)
gnu: pasystray: Fix Wayland segfault.
* gnu/packages/patches/pasystray-check-x11.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/pulseaudio.scm (pasystray)[origin]: Use it. [inputs]: Add libappindicator. Fixes: guix/guix#5204 Merges: guix/guix!9581 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/pasystray-check-x11.patch29
-rw-r--r--gnu/packages/pulseaudio.scm5
3 files changed, 33 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index fc66449d420..279d0d5c6b1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2117,6 +2117,7 @@ dist_patch_DATA = \
2117 %D%/packages/patches/pnet-newer-libgc-fix.patch \ 2117 %D%/packages/patches/pnet-newer-libgc-fix.patch \
2118 %D%/packages/patches/pnet-newer-texinfo-fix.patch \ 2118 %D%/packages/patches/pnet-newer-texinfo-fix.patch \
2119 %D%/packages/patches/password-store-tree-compat.patch \ 2119 %D%/packages/patches/password-store-tree-compat.patch \
2120 %D%/packages/patches/pasystray-check-x11.patch \
2120 %D%/packages/patches/pciutils-hurd64.patch \ 2121 %D%/packages/patches/pciutils-hurd64.patch \
2121 %D%/packages/patches/pcsxr-find-harfbuzz.patch \ 2122 %D%/packages/patches/pcsxr-find-harfbuzz.patch \
2122 %D%/packages/patches/pcsxr-fix-definitions.patch \ 2123 %D%/packages/patches/pcsxr-fix-definitions.patch \
diff --git a/gnu/packages/patches/pasystray-check-x11.patch b/gnu/packages/patches/pasystray-check-x11.patch
new file mode 100644
index 00000000000..50f9e08b735
--- /dev/null
+++ b/gnu/packages/patches/pasystray-check-x11.patch
@@ -0,0 +1,29 @@
1This patch should fix the instant segfault behavior observed when running in a
2Wayland environment. The patch is as used in Debian[1], itself derived from
3this[2] finding, according to the same effort made in nixpkgs[3]; This patch
4should be retired once the corresponding pull request[4] is merged.
5
6[1] https://sources.debian.org/data/main/p/pasystray/0.8.1-1/debian/patches/0002-Require-X11-backend.patch
7[2] https://github.com/christophgysin/pasystray/issues/90#issuecomment-636364122
8[3] https://github.com/NixOS/nixpkgs/pull/220365
9[4] https://github.com/christophgysin/pasystray/pull/171
10
11From: Scott Leggett <scott@sl.id.au>
12Date: Mon, 29 Oct 2018 22:40:16 +1100
13Subject: Require X11 backend
14Forwarded: not-needed
15
16---
17 src/pasystray.c | 1 +
18 1 file changed, 1 insertion(+)
19
20--- a/src/pasystray.c
21+++ b/src/pasystray.c
22@@ -38,6 +38,7 @@ static menu_infos_t* mis;
23
24 int main(int argc, char *argv[])
25 {
26+ gdk_set_allowed_backends ("x11");
27 GOptionEntry* options = get_options();
28 GError *error = NULL;
29 gtk_init_with_args(&argc, &argv, NULL, options, NULL, &error);
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 20a1dfd5883..34859783e86 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -431,7 +431,8 @@ volume levels of the sinks (get, set, decrease, increase, toggle mute, etc).")
431 (commit version))) 431 (commit version)))
432 (file-name (git-file-name name version)) 432 (file-name (git-file-name name version))
433 (sha256 433 (sha256
434 (base32 "1zf79pfmm7wa1l9yyab2g6lf0j81v1mrp406262rd21g4prx1921")))) 434 (base32 "1zf79pfmm7wa1l9yyab2g6lf0j81v1mrp406262rd21g4prx1921"))
435 (patches (search-patches "pasystray-check-x11.patch"))))
435 (build-system gnu-build-system) 436 (build-system gnu-build-system)
436 (arguments 437 (arguments
437 `(#:phases 438 `(#:phases
@@ -444,7 +445,7 @@ volume levels of the sinks (get, set, decrease, increase, toggle mute, etc).")
444 (native-inputs 445 (native-inputs
445 (list autoconf automake pkg-config)) 446 (list autoconf automake pkg-config))
446 (inputs 447 (inputs
447 (list avahi gtk+ libnotify libx11 pulseaudio)) 448 (list avahi gtk+ libnotify libx11 pulseaudio libappindicator))
448 (home-page "https://github.com/christophgysin/pasystray") 449 (home-page "https://github.com/christophgysin/pasystray")
449 (synopsis "PulseAudio controller for the system tray") 450 (synopsis "PulseAudio controller for the system tray")
450 (description "@command{pasystray} enables control of various 451 (description "@command{pasystray} enables control of various