diff --git a/pkgs/by-name/gn/gnome-settings-daemon46/add-gnome-session-ctl-option.patch b/pkgs/by-name/gn/gnome-settings-daemon46/add-gnome-session-ctl-option.patch new file mode 100644 index 000000000000..8bdf39ce37b6 --- /dev/null +++ b/pkgs/by-name/gn/gnome-settings-daemon46/add-gnome-session-ctl-option.patch @@ -0,0 +1,58 @@ +From aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0 Mon Sep 17 00:00:00 2001 +From: WORLDofPEACE +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')) diff --git a/pkgs/by-name/gn/gnome-settings-daemon43/fix-paths.patch b/pkgs/by-name/gn/gnome-settings-daemon46/fix-paths.patch similarity index 100% rename from pkgs/by-name/gn/gnome-settings-daemon43/fix-paths.patch rename to pkgs/by-name/gn/gnome-settings-daemon46/fix-paths.patch diff --git a/pkgs/by-name/gn/gnome-settings-daemon43/package.nix b/pkgs/by-name/gn/gnome-settings-daemon46/package.nix similarity index 86% rename from pkgs/by-name/gn/gnome-settings-daemon43/package.nix rename to pkgs/by-name/gn/gnome-settings-daemon46/package.nix index 23d0a8eaa720..d7b00a0a2ef9 100644 --- a/pkgs/by-name/gn/gnome-settings-daemon43/package.nix +++ b/pkgs/by-name/gn/gnome-settings-daemon46/package.nix @@ -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 diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 04bac8d94227..43c83c2076c7 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -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. diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 4a55e1e09193..86ae59b2fb80 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -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 { }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c8816a70d739..f82ecfe363d1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -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 ''