From 93e91c150ec90232f456137ad3bee44d6a9fe4b5 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 10 Apr 2024 13:46:56 +0200 Subject: [PATCH] ayatana-indicator-messages: Fix desktop parsing Not *great*, but a start. MessagingMenu has a function for mapping an app to desktop file data. This relies on GLib to parse the desktop file, which needs the binary from the 'Exec=' entry on PATH, otherwise it bails. messaging_menu_app_set_desktop_id calls g_desktop_app_info_new: https://github.com/AyatanaIndicators/ayatana-indicator-messages/blob/334668ad5ad33c6bd342f34b159dbcbed8c65df1/libmessaging-menu/messaging-menu-app.c#L245-L252 Which, after some jumps inbetween, ends up in g_desktop_app_info_load_from_keyfile and calls g_find_program_for_path: https://github.com/GNOME/glib/blob/204a76669bd46c5eb656946e21bd746685c67174/gio/gdesktopappinfo.c#L1920-L1951 Which uses PATH: https://github.com/GNOME/glib/blob/204a76669bd46c5eb656946e21bd746685c67174/glib/gutils.c#L371 --- pkgs/by-name/ay/ayatana-indicator-messages/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix index 936c39a7fdce..c630b1b4e4ad 100644 --- a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix @@ -119,6 +119,15 @@ stdenv.mkDerivation (finalAttrs: { chmod +w doc/reference/html/* ''; + # Indicators that talk to it may issue requests to parse desktop files, which needs binaries in Exec on PATH + # messaging_menu_app_set_desktop_id -> g_desktop_app_info_new -...-> g_desktop_app_info_load_from_keyfile -> g_find_program_for_path + # When launched via systemd, PATH is very narrow + preFixup = '' + gappsWrapperArgs+=( + --suffix PATH : '/run/current-system/sw/bin' + ) + ''; + passthru = { ayatana-indicators = [ "ayatana-indicator-messages"