pantheon.gnome-settings-daemon: Default to 46

46 is the version used in elementary OS 8.
This commit is contained in:
Bobby Rong
2025-01-11 21:57:00 +08:00
parent 3439ba2665
commit 91447e2125
6 changed files with 64 additions and 13 deletions
@@ -0,0 +1,58 @@
From aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0 Mon Sep 17 00:00:00 2001
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sun, 20 Sep 2020 16:09:36 -0400
Subject: [PATCH] build: add a gnome_session_ctl_path option
In gsd.service.in the ExecStopPost expects g-s-d libexecdir to
be from the same prefix as gnome-session's, and this is not necessarily
true as there are linux distro's that install their packages into their
own individual prefixes (like NixOS or Guix).
---
meson_options.txt | 1 +
plugins/gsd.service.in | 2 +-
plugins/meson.build | 6 ++++++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/meson_options.txt b/meson_options.txt
index 3e04cf64f..21e003c61 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,4 +1,5 @@
option('udev_dir', type: 'string', value: '', description: 'Absolute path of the udev base directory')
+option('gnome_session_ctl_path', type: 'string', value: '', description: 'Absolute path to the gnome-session-ctl binary')
option('systemd', type: 'boolean', value: true, description: 'Enable systemd integration')
option('alsa', type: 'boolean', value: true, description: 'build with ALSA support (not optional on Linux platforms)')
diff --git a/plugins/gsd.service.in b/plugins/gsd.service.in
index 79b5f5536..bfbde6d05 100644
--- a/plugins/gsd.service.in
+++ b/plugins/gsd.service.in
@@ -23,4 +23,4 @@ BusName=@plugin_dbus_name@
TimeoutStopSec=5
# We cannot use OnFailure as e.g. dependency failures are normal
# https://github.com/systemd/systemd/issues/12352
-ExecStopPost=@libexecdir@/gnome-session-ctl --exec-stop-check
+ExecStopPost=@gnome_session_ctl@ --exec-stop-check
diff --git a/plugins/meson.build b/plugins/meson.build
index 83e018854..266a0f093 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -20,6 +20,11 @@ all_plugins = [
disabled_plugins = []
+gnome_session_ctl = get_option('gnome_session_ctl_path')
+if gnome_session_ctl == ''
+ gnome_session_ctl = join_paths(gsd_libexecdir, 'gnome-session-ctl')
+endif
+
if not enable_smartcard
disabled_plugins += ['smartcard']
endif
@@ -125,6 +130,7 @@ foreach plugin: all_plugins
unit_conf.set('plugin_name', plugin_name)
unit_conf.set('description', plugin_description)
unit_conf.set('libexecdir', gsd_libexecdir)
+ unit_conf.set('gnome_session_ctl', gnome_session_ctl)
unit_conf.set('plugin_dbus_name', plugin_dbus_name)
unit_conf.set('plugin_restart', plugin_restart_rule.get(plugin_name, 'on-failure'))
@@ -1,7 +1,6 @@
{
stdenv,
lib,
fetchpatch,
substituteAll,
fetchurl,
meson,
@@ -13,7 +12,6 @@
glib,
libnotify,
libgnomekbd,
lcms2,
libpulseaudio,
alsa-lib,
libcanberra-gtk3,
@@ -36,26 +34,22 @@
wrapGAppsHook3,
python3,
tzdata,
nss,
gcr_4,
gnome-session-ctl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-settings-daemon";
version = "43.0";
version = "46.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major finalAttrs.version}/gnome-settings-daemon-${finalAttrs.version}.tar.xz";
hash = "sha256-NRO7JPxvgYFmciOmSgZ1NP3M879mMmqUA9OLDw1gE9A=";
hash = "sha256-C5oPZPoYqOfgm0yVo/dU+gM8LNvS3DVwHwYYVywcs9c=";
};
patches = [
# https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch";
hash = "sha256-O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI=";
})
./add-gnome-session-ctl-option.patch
(substituteAll {
src = ./fix-paths.patch;
@@ -85,14 +79,12 @@ stdenv.mkDerivation (finalAttrs: {
libnotify
libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
gnome-desktop
lcms2
libpulseaudio
alsa-lib
libcanberra-gtk3
upower
colord
libgweather
nss
polkit
geocode-glib_2
geoclue2
+1 -1
View File
@@ -91,7 +91,7 @@ in
gnome-session = throw "The gnome.gnome-session was moved to top-level. Please use pkgs.gnome-session directly."; # Added on 2024-08-28.
gnome-session-ctl = throw "The gnome.gnome-session-ctl was moved to top-level. Please use pkgs.gnome-session-ctl directly."; # Added on 2024-08-28.
gnome-settings-daemon = throw "The gnome.gnome-settings-daemon was moved to top-level. Please use pkgs.gnome-settings-daemon directly."; # Added on 2024-08-28.
gnome-settings-daemon43 = throw "The gnome.gnome-settings-daemon43 was moved to top-level. Please use pkgs.gnome-settings-daemon43 directly."; # Added on 2024-08-28.
gnome-settings-daemon43 = throw "The gnome.gnome-settings-daemon43 was removed since it is no longer used by Pantheon."; # Added on 2024-08-28.
gnome-shell = throw "The gnome.gnome-shell was moved to top-level. Please use pkgs.gnome-shell directly."; # Added on 2024-08-28.
gnome-shell-extensions = throw "The gnome.gnome-shell-extensions was moved to top-level. Please use pkgs.gnome-shell-extensions directly."; # Added on 2024-08-11.
gnome-software = throw "The gnome.gnome-software was moved to top-level. Please use pkgs.gnome-software directly."; # Added on 2024-08-11.
+1 -1
View File
@@ -41,7 +41,7 @@ lib.makeScope pkgs.newScope (self: with self; {
mutter = pkgs.mutter46;
# Using 43 to match Mutter used in Pantheon
gnome-settings-daemon = pkgs.gnome-settings-daemon43;
gnome-settings-daemon = pkgs.gnome-settings-daemon46;
elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
+1
View File
@@ -456,6 +456,7 @@ mapAliases {
gmtk = throw "'gmtk' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
gmtp = throw "'gmtp' has been removed due to lack of maintenance upstream. Consider using 'gnome-music' instead"; # Added 2024-09-14
gnome-latex = throw "'gnome-latex' has been superseded by 'enter-tex'"; # Added 2024-09-18
gnome-settings-daemon43 = throw "'gnome-settings-daemon43' has been removed since it is no longer used by Pantheon."; # Added 2024-09-22
gnu-cobol = gnucobol; # Added 2024-09-17
gnupg22 = throw "'gnupg22' is end-of-life. Consider using 'gnupg24' instead"; # Added 2025-01-05
gogs = throw ''