guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 26c07cb8d61ba4ca102ec92acc5535a11df73f14
Author: Noé Lopez <[email protected]>
AuthorDate: Wed Apr 15 08:35:24 2026 +0200
gnu: gnome-settings-daemon: Restore desktop files.
* gnu/packages/patches/gnome-settings-daemon-restore-desktop-files.patch:
New file.
* gnu/local.mk: Register it.
* gnu/packages/gnome.scm (gnome-settings-daemon)[source]: Add it.
Change-Id: I95597e1b9f5710e0ae1ebd4d5984d22d71b68459
Signed-off-by: Noé Lopez <[email protected]>
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 3 +-
...ome-settings-daemon-restore-desktop-files.patch | 103 +++++++++++++++++++++
3 files changed, 106 insertions(+), 1 deletion(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 175318f045..98fb7fd97e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1528,6 +1528,7 @@ dist_patch_DATA =
\
%D%/packages/patches/gnome-dictionary-meson-i18n.patch \
%D%/packages/patches/gnome-recipes-rest-in-soup.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
+ %D%/packages/patches/gnome-settings-daemon-restore-desktop-files.patch
\
%D%/packages/patches/gnome-session-support-elogind.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnulib-bootstrap.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 44b453231a..895f8ea385 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5905,7 +5905,8 @@ services for numerous locations.")
(sha256
(base32
"1hf1dip78sjfsi28w80wkh6i51glprwl2j29gc9bkhwi9zy5g69a"))
- (patches (search-patches "gnome-settings-daemon-gc.patch"))))
+ (patches (search-patches "gnome-settings-daemon-gc.patch"
+
"gnome-settings-daemon-restore-desktop-files.patch"))))
(build-system meson-build-system)
(arguments
(list
diff --git
a/gnu/packages/patches/gnome-settings-daemon-restore-desktop-files.patch
b/gnu/packages/patches/gnome-settings-daemon-restore-desktop-files.patch
new file mode 100644
index 0000000000..d9bf07ba83
--- /dev/null
+++ b/gnu/packages/patches/gnome-settings-daemon-restore-desktop-files.patch
@@ -0,0 +1,103 @@
+From 6eefa4ef615e24688d20847afcb5fddb31a69774 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?No=C3=A9=20Lopez?= <[email protected]>
+Date: Wed, 15 Apr 2026 08:34:03 +0200
+Subject: [PATCH] Revert "plugins: Drop .desktop files"
+
+This reverts commit 242752d489b40f7cac20fc244a76eac8572cd955.
+---
+ meson.build | 2 ++
+ plugins/meson.build | 25 +++++++++++++++++--
+ .../org.gnome.SettingsDaemon.Dummy.desktop.in | 7 ++++++
+ .../org.gnome.SettingsDaemon.Real.desktop.in | 10 ++++++++
+ 4 files changed, 42 insertions(+), 2 deletions(-)
+ create mode 100644 plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
+ create mode 100644 plugins/org.gnome.SettingsDaemon.Real.desktop.in
+
+diff --git a/meson.build b/meson.build
+index b1d5c53c..b69e3e1d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -37,6 +37,8 @@ gsd_pkglibdir = join_paths(gsd_libdir, gsd_api_name)
+
+ gsd_schemadir = join_paths(gsd_datadir, 'glib-2.0', 'schemas')
+
++gsd_xdg_autostart = join_paths(gsd_sysconfdir, 'xdg', 'autostart')
++
+ gsd_3_0_api_name = '@0@-@1@'.format(meson.project_name(), '3.0')
+ gsd_gtk_modules_directory = join_paths(gsd_libdir, gsd_3_0_api_name,
'gtk-modules')
+
+diff --git a/plugins/meson.build b/plugins/meson.build
+index fae3fc9e..68c79410 100644
+--- a/plugins/meson.build
++++ b/plugins/meson.build
+@@ -82,15 +82,36 @@ foreach plugin: all_plugins
+ plugin_description = plugin[2]
+ plugin_dbus_name='org.gnome.SettingsDaemon.@0@'.format(plugin_name_case)
+
++ desktop = 'org.gnome.SettingsDaemon.@[email protected]'.format(plugin[1])
++
++ if disabled_plugins.contains(plugin_name)
++ desktop_in_file = files('org.gnome.SettingsDaemon.Dummy.desktop.in')
++ else
++ desktop_in_file = files('org.gnome.SettingsDaemon.Real.desktop.in')
++ endif
++
+ cflags = [
+ '-DG_LOG_DOMAIN="@0@-plugin"'.format(plugin_name),
+ '-DPLUGIN_NAME="@0@"'.format(plugin_name),
+ '-DPLUGIN_DBUS_NAME="@0@"'.format(plugin_dbus_name),
+ ] + plugins_cflags
+
++ desktop = 'org.gnome.SettingsDaemon.@[email protected]'.format(plugin[1])
++ desktop_conf = configuration_data()
++ desktop_conf.set('libexecdir', gsd_libexecdir)
++ desktop_conf.set('systemd_hidden', enable_systemd ? 'true' : 'false')
++ desktop_conf.set('pluginname', plugin_name)
++ desktop_conf.set('description', plugin_description)
++ configure_file(
++ input: desktop_in_file,
++ output: desktop,
++ configuration: desktop_conf,
++ install_dir: gsd_xdg_autostart
++ )
++
+ if not disabled_plugins.contains(plugin_name)
+- user_target =
'org.gnome.SettingsDaemon.@[email protected]'.format(plugin_name_case)
+- user_service =
'org.gnome.SettingsDaemon.@[email protected]'.format(plugin_name_case)
++ user_target = 'org.gnome.SettingsDaemon.@[email protected]'.format(plugin[1])
++ user_service =
'org.gnome.SettingsDaemon.@[email protected]'.format(plugin[1])
+
+ unit_conf = configuration_data()
+ unit_conf.set('plugin_name', plugin_name)
+diff --git a/plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
b/plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
+new file mode 100644
+index 00000000..f4cc7a27
+--- /dev/null
++++ b/plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
+@@ -0,0 +1,7 @@
++[Desktop Entry]
++Type=Application
++Name=GNOME Settings Daemon's @pluginname@ dummy autostart file
++Exec=false
++OnlyShowIn=GNOME;
++NoDisplay=true
++Hidden=true
+diff --git a/plugins/org.gnome.SettingsDaemon.Real.desktop.in
b/plugins/org.gnome.SettingsDaemon.Real.desktop.in
+new file mode 100644
+index 00000000..3034e712
+--- /dev/null
++++ b/plugins/org.gnome.SettingsDaemon.Real.desktop.in
+@@ -0,0 +1,10 @@
++[Desktop Entry]
++Type=Application
++Name=@description@
++Exec=@libexecdir@/gsd-@pluginname@
++OnlyShowIn=GNOME;
++NoDisplay=true
++X-GNOME-Autostart-Phase=Initialization
++X-GNOME-Autostart-Notify=true
++X-GNOME-AutoRestart=true
++X-GNOME-HiddenUnderSystemd=@systemd_hidden@
+--
+2.52.0
+