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);

Reply via email to