services: gdm: Add Wayland support.

* gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland-session]: New field.
(gdm-wayland-session-wrapper): New procedure.
(gdm-configuration-file): Point to this new procedure.
* doc/guix.texi (X Window): Update it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
Josselin Poiret 2021-10-02 16:51:34 +00:00 committed by Mathieu Othacehe
parent 5c3f0c3e03
commit db4681a4c1
No known key found for this signature in database
GPG key ID: 8354763531769CA6
5 changed files with 67 additions and 3 deletions

View file

@ -0,0 +1,35 @@
Get wayland-session wrapper from environment.
---
daemon/gdm-session.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 4e303e70..1deca4e9 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2888,8 +2888,9 @@ gdm_session_start_session (GdmSession *self,
allow_remote_connections? "--allow-remote-connections " : "",
command);
} else {
- 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"),
command);
}
} else if (run_xsession_script) {
@@ -2906,8 +2907,9 @@ gdm_session_start_session (GdmSession *self,
register_session ? "--register-session " : "",
self->selected_program);
} else {
- 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);
}
} else {
--
2.33.0