From db039f82ce9c0880c355796664fdeba1021a81b8 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Fri, 1 Oct 2021 04:39:26 +0000 Subject: [PATCH] =?UTF-8?q?gnome.gdm:=2040.1=20=E2=86=92=2041.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/desktops/gnome/core/gdm/default.nix | 7 ++- pkgs/desktops/gnome/core/gdm/fix-paths.patch | 65 ++++++++++++-------- 2 files changed, 42 insertions(+), 30 deletions(-) diff --git a/pkgs/desktops/gnome/core/gdm/default.nix b/pkgs/desktops/gnome/core/gdm/default.nix index e3c693836374..392ea61688a6 100644 --- a/pkgs/desktops/gnome/core/gdm/default.nix +++ b/pkgs/desktops/gnome/core/gdm/default.nix @@ -26,6 +26,7 @@ , plymouth , librsvg , coreutils +, xorgserver , xwayland , dbus , nixos-icons @@ -42,13 +43,13 @@ in stdenv.mkDerivation rec { pname = "gdm"; - version = "40.1"; + version = "41.0"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "q7ih6mZISPLJD4SsqkLpTSVgVwNYgamPvUH7xdfRc/0="; + sha256 = "VzjEKTqfWoDUpungb00N8+nzE8p7Yb+02K+rqYPiANw="; }; mesonFlags = [ @@ -102,7 +103,7 @@ stdenv.mkDerivation rec { # Change hardcoded paths to nix store paths. (substituteAll { src = ./fix-paths.patch; - inherit coreutils plymouth xwayland dbus; + inherit coreutils plymouth xorgserver xwayland dbus; }) # The following patches implement certain environment variables in GDM which are set by diff --git a/pkgs/desktops/gnome/core/gdm/fix-paths.patch b/pkgs/desktops/gnome/core/gdm/fix-paths.patch index d649556fe9e6..980627c78d46 100644 --- a/pkgs/desktops/gnome/core/gdm/fix-paths.patch +++ b/pkgs/desktops/gnome/core/gdm/fix-paths.patch @@ -1,66 +1,64 @@ +diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c +index 5fbbad68..739718ec 100644 --- a/daemon/gdm-local-display-factory.c +++ b/daemon/gdm-local-display-factory.c -@@ -201,7 +201,7 @@ +@@ -233,9 +233,9 @@ struct GdmDisplayServerConfiguration { + const char *session_type; + } display_server_configuration[] = { #ifdef ENABLE_WAYLAND_SUPPORT - gboolean wayland_enabled = FALSE; - if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) { -- if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) -+ if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) - return TRUE; - } +- { "wayland", GDM_KEY_WAYLAND_ENABLE, "/usr/bin/Xwayland", "wayland" }, ++ { "wayland", GDM_KEY_WAYLAND_ENABLE, "@xwayland@/bin/Xwayland", "wayland" }, #endif +- { "xorg", GDM_KEY_XORG_ENABLE, "/usr/bin/Xorg", "x11" }, ++ { "xorg", GDM_KEY_XORG_ENABLE, "@xorgserver@/bin/Xorg", "x11" }, + { NULL, NULL, NULL }, + }; + +diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c +index cc61efc9..4c9d15af 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c -@@ -145,7 +145,7 @@ +@@ -148,7 +148,7 @@ plymouth_is_running (void) GError *error; - + error = NULL; - res = g_spawn_command_line_sync ("plymouth --ping", + res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth --ping", NULL, NULL, &status, &error); if (! res) { g_debug ("Could not ping plymouth: %s", error->message); -@@ -163,7 +163,7 @@ +@@ -166,7 +166,7 @@ plymouth_prepare_for_transition (void) GError *error; - + error = NULL; - res = g_spawn_command_line_sync ("plymouth deactivate", + res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth deactivate", NULL, NULL, NULL, &error); if (! res) { g_warning ("Could not deactivate plymouth: %s", error->message); -@@ -178,7 +178,7 @@ +@@ -181,7 +181,7 @@ plymouth_quit_with_transition (void) GError *error; - + error = NULL; - res = g_spawn_command_line_async ("plymouth quit --retain-splash", &error); + res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit --retain-splash", &error); if (! res) { g_warning ("Could not quit plymouth: %s", error->message); g_error_free (error); -@@ -194,7 +194,7 @@ +@@ -197,7 +197,7 @@ plymouth_quit_without_transition (void) GError *error; - + error = NULL; - res = g_spawn_command_line_async ("plymouth quit", &error); + res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit", &error); if (! res) { g_warning ("Could not quit plymouth: %s", error->message); g_error_free (error); ---- a/data/gdm.service.in -+++ b/data/gdm.service.in -@@ -26,7 +26,7 @@ Restart=always - IgnoreSIGPIPE=no - BusName=org.gnome.DisplayManager - EnvironmentFile=-${LANG_CONFIG_FILE} --ExecReload=/bin/kill -SIGHUP $MAINPID -+ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID - KeyringMode=shared - - [Install] +diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c +index 4b709731..245ac0cf 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c -@@ -2916,16 +2916,16 @@ gdm_session_start_session (GdmSession *self, +@@ -2972,16 +2972,16 @@ gdm_session_start_session (GdmSession *self, */ if (run_launcher) { if (is_x11) { @@ -80,3 +78,16 @@ self->selected_program); } } +diff --git a/data/gdm.service.in b/data/gdm.service.in +index 17e8a8de..afc70977 100644 +--- a/data/gdm.service.in ++++ b/data/gdm.service.in +@@ -26,7 +26,7 @@ Restart=always + IgnoreSIGPIPE=no + BusName=org.gnome.DisplayManager + EnvironmentFile=-${LANG_CONFIG_FILE} +-ExecReload=/bin/kill -SIGHUP $MAINPID ++ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID + KeyringMode=shared + + [Install]