guix_mirror_bot pushed a commit to branch gnome-team
in repository guix.
commit c0f6f57e1d5cb07797a097e8982b0f80a88c0c94
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Sun Mar 22 11:44:12 2026 +0900
gnu: gdm: Update to 49.2.
* gnu/packages/gnome.scm (gdm): Update to 49.2.
[outputs]: Add debug output.
gnu/packages/patches/gdm-default-session.patch
* gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
* gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch
* gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: Rebase
patches.
Change-Id: Ia186d6004525d52a34f0865bd107a226524788b3
Signed-off-by: NoƩ Lopez <[email protected]>
---
gnu/packages/gnome.scm | 5 +-
gnu/packages/patches/gdm-default-session.patch | 54 ++++++++++------------
.../patches/gdm-pass-gdk-pixbuf-loader-env.patch | 9 ++--
.../gdm-remove-hardcoded-xwayland-path.patch | 27 ++---------
.../gdm-wayland-session-wrapper-from-env.patch | 10 ++--
5 files changed, 41 insertions(+), 64 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 1989c7e60a..047d37dcc3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9200,7 +9200,7 @@ library.")
(define-public gdm
(package
(name "gdm")
- (version "48.0")
+ (version "49.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -9208,7 +9208,7 @@ library.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1pqaqg8ngs8y2nwysxm03cdllix3blpgkd7c6xg7pv4ky2pnvh0v"))
+ "01ksb7gf2pfccnvw7dr363nppz0fwrk7hhsal478c3szkwgn64wq"))
(patches
(search-patches
"gdm-default-session.patch"
@@ -9216,6 +9216,7 @@ library.")
"gdm-wayland-session-wrapper-from-env.patch"
"gdm-pass-gdk-pixbuf-loader-env.patch"))))
(build-system meson-build-system)
+ (outputs '("out" "debug"))
(arguments
(list
#:glib-or-gtk? #t
diff --git a/gnu/packages/patches/gdm-default-session.patch
b/gnu/packages/patches/gdm-default-session.patch
index 3858a75794..aef5796d45 100644
--- a/gnu/packages/patches/gdm-default-session.patch
+++ b/gnu/packages/patches/gdm-default-session.patch
@@ -5,10 +5,10 @@ and not in the directories listed in $XDG_DATA_DIRS. The
latter includes
Fixes <https://bugs.gnu.org/37831>.
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
-index 4b709731..3b83fcd3 100644
+index 644aad022..d54406e93 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
-@@ -362,16 +362,15 @@ get_system_session_dirs (GdmSession *self,
+@@ -378,16 +378,15 @@ get_system_session_dirs (GdmSession *self,
GArray *search_array = NULL;
char **search_dirs;
int i, j;
@@ -27,7 +27,7 @@ index 4b709731..3b83fcd3 100644
search_array = g_array_new (TRUE, TRUE, sizeof (char *));
-@@ -380,11 +379,6 @@ get_system_session_dirs (GdmSession *self,
+@@ -396,11 +395,6 @@ get_system_session_dirs (GdmSession *self,
if (g_str_equal (supported_type, "x11") &&
(type == NULL || g_str_equal (type, supported_type))) {
@@ -39,7 +39,7 @@ index 4b709731..3b83fcd3 100644
g_array_append_vals (search_array, x_search_dirs,
G_N_ELEMENTS (x_search_dirs));
}
-@@ -392,11 +386,6 @@ get_system_session_dirs (GdmSession *self,
+@@ -408,11 +402,6 @@ get_system_session_dirs (GdmSession *self,
#ifdef ENABLE_WAYLAND_SUPPORT
if (g_str_equal (supported_type, "wayland") &&
(type == NULL || g_str_equal (type, supported_type))) {
@@ -52,41 +52,37 @@ index 4b709731..3b83fcd3 100644
}
#endif
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
-index d8b4d5cd..7ed8de91 100644
+index df8e377b7..e80acf7e4 100644
--- a/libgdm/gdm-sessions.c
+++ b/libgdm/gdm-sessions.c
-@@ -347,15 +347,10 @@ collect_sessions (void)
+@@ -347,27 +347,21 @@ collect_sessions (void)
"/etc/X11/sessions/",
DMCONFDIR "/Sessions/",
DATADIR "/gdm/BuiltInSessions/",
-- DATADIR "/xsessions/",
+ "/run/current-system/profile/share/xsessions/",
};
- xorg_search_array = g_ptr_array_new_with_free_func (g_free);
-- for (i = 0; system_data_dirs[i]; i++) {
-- session_dir = g_build_filename (system_data_dirs[i],
"xsessions", NULL);
-- g_ptr_array_add (xorg_search_array, session_dir);
-- }
+ if (!supported_session_types || g_strv_contains ((const char * const
*) supported_session_types, "x11")) {
+ for (i = 0; i < G_N_ELEMENTS (xorg_search_dirs); i++) {
+ g_ptr_array_add (dirs_search_array, g_strdup
(xorg_search_dirs[i]));
+ }
-
- for (i = 0; i < G_N_ELEMENTS (xorg_search_dirs); i++) {
- g_ptr_array_add (xorg_search_array, g_strdup
(xorg_search_dirs[i]));
+- for (i = 0; system_data_dirs[i]; i++) {
+- session_dir = g_build_filename (system_data_dirs[i],
"xsessions", NULL);
+- g_ptr_array_add (dirs_search_array, session_dir);
+- }
}
-@@ -363,16 +358,11 @@ collect_sessions (void)
+ #endif
#ifdef ENABLE_WAYLAND_SUPPORT
- const char *wayland_search_dirs[] = {
-- DATADIR "/wayland-sessions/",
-+ "/run/current-system/profile/share/wayland-sessions/",
- };
-
- wayland_search_array = g_ptr_array_new_with_free_func (g_free);
-
-- for (i = 0; system_data_dirs[i]; i++) {
-- session_dir = g_build_filename (system_data_dirs[i],
"wayland-sessions", NULL);
-- g_ptr_array_add (wayland_search_array, session_dir);
-- }
--
- for (i = 0; i < G_N_ELEMENTS (wayland_search_dirs); i++) {
- g_ptr_array_add (wayland_search_array, g_strdup
(wayland_search_dirs[i]));
+ #ifdef ENABLE_USER_DISPLAY_SERVER
+ if (!supported_session_types || g_strv_contains ((const char * const
*) supported_session_types, "wayland")) {
+- for (i = 0; system_data_dirs[i]; i++) {
+- session_dir = g_build_filename (system_data_dirs[i],
"wayland-sessions", NULL);
+- g_ptr_array_add (dirs_search_array, session_dir);
+- }
++ g_ptr_array_add (dirs_search_array,
++
"/run/current-system/profile/share/wayland-sessions/");
}
+ #endif
+ #endif
diff --git a/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
b/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
index 5108da33df..0181dc58a6 100644
--- a/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
+++ b/gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch
@@ -1,15 +1,12 @@
-From: Josselin Poiret <[email protected]>
-Date: Tue, 23 Nov 2021 18:39:39 +0000
-Subject: [PATCH] Make GDM pass GUIX_GDK_PIXBUF_MODULE_FILES to sessions
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
-index 932c3e8a..a50dcc8c 100644
+index 67f6c291e..86d8e718f 100644
--- a/daemon/gdm-launch-environment.c
+++ b/daemon/gdm-launch-environment.c
-@@ -157,6 +157,7 @@ build_launch_environment (GdmLaunchEnvironment
*launch_environment,
+@@ -294,6 +294,7 @@ build_launch_environment (GdmLaunchEnvironment
*launch_environment,
"WINDOWPATH",
"XCURSOR_PATH",
"XDG_CONFIG_DIRS",
+ "GUIX_GDK_PIXBUF_MODULE_FILES",
NULL
};
- char *system_data_dirs;
+ g_autofree char *system_data_dirs = NULL;
diff --git a/gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch
b/gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch
index b9d8e412a4..f2c2946798 100644
--- a/gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch
+++ b/gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch
@@ -1,32 +1,15 @@
-Remove check for hardcoded Xwayland path in gdm.
+Remove check for hardcoded Xorg path in gdm.
diff --git a/daemon/gdm-local-display-factory.c
b/daemon/gdm-local-display-factory.c
-index 7de7b99c..065325f4 100644
+index ad2e65cf7..84637d1ef 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
-@@ -261,11 +261,11 @@ struct GdmDisplayServerConfiguration {
- const char *session_type;
- } display_server_configuration[] = {
- #ifdef ENABLE_WAYLAND_SUPPORT
-- { "wayland", GDM_KEY_WAYLAND_ENABLE, "/usr/bin/Xwayland", "wayland" },
-+ { "wayland", GDM_KEY_WAYLAND_ENABLE, "", "wayland" },
+@@ -272,7 +272,7 @@ struct GdmDisplayServerConfiguration {
+ { "wayland", GDM_KEY_WAYLAND_ENABLE, NULL, "wayland" },
#endif
#ifdef ENABLE_X11_SUPPORT
- { "xorg", GDM_KEY_XORG_ENABLE, "/usr/bin/Xorg", "x11" },
-+ { "xorg", GDM_KEY_XORG_ENABLE, "", "x11" },
++ { "xorg", GDM_KEY_XORG_ENABLE, NULL, "x11" },
#endif
{ NULL, NULL, NULL },
};
-
-@@ -289,11 +289,6 @@ display_server_enabled (GdmLocalDisplayFactory *factory,
- return FALSE;
- #endif
-
--#ifdef ENABLE_X11_SUPPORT
-- if (!g_file_test (binary, G_FILE_TEST_IS_EXECUTABLE))
-- return FALSE;
--#endif
--
- return TRUE;
- }
-
diff --git a/gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch
b/gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch
index 6ea0daf6a7..1ad326a9f9 100644
--- a/gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch
+++ b/gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch
@@ -1,10 +1,10 @@
Get wayland-session wrapper from environment.
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
-index 3b83fcd3..e60e6a57 100644
+index b78068d42..644aad022 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
-@@ -2933,8 +2933,9 @@ gdm_session_start_session (GdmSession *self,
+@@ -3172,8 +3172,9 @@ gdm_session_start_session (GdmSession *self,
allow_remote_connections? "--allow-remote-connections " : "",
command);
} else {
@@ -15,12 +15,12 @@ index 3b83fcd3..e60e6a57 100644
command);
}
} else if (run_xsession_script) {
-@@ -2965,8 +2966,9 @@ gdm_session_start_session (GdmSession *self,
+@@ -3190,8 +3191,9 @@ gdm_session_start_session (GdmSession *self,
register_session ?
"--register-session " : "",
self->selected_program);
} else {
-- program = g_strdup_printf (LIBEXECDIR
"/gdm-wayland-session %s\"dbus-run-session -- %s\"",
-+ program = g_strdup_printf (LIBEXECDIR
"/gdm-wayland-session %s\"dbus-run-session -- %s %s\"",
+- program = g_strdup_printf (LIBEXECDIR
"/gdm-wayland-session %s\"%s\"",
++ program = g_strdup_printf (LIBEXECDIR
"/gdm-wayland-session %s\"%s %s\"",
register_session ?
"--register-session " : "",
+ g_getenv
("GDM_WAYLAND_SESSION"),
self->selected_program);