From af37e6bbd4a0b97c8147ccbd1548dc2e5f830466 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 22 Aug 2017 14:06:40 +0200 Subject: [PATCH] gnu: gdm: Look for sessions in /run/current-system. * gnu/packages/gnome.scm (gdm): Fix search paths for system sessions. Use /var as localstatedir. Set a more sensible default path for user sessions. --- gnu/packages/gnome.scm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ab8e0871fb..a26688d8b8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5098,7 +5098,13 @@ (define-public gdm (build-system gnu-build-system) (arguments '(#:configure-flags - '("--without-plymouth") + `("--without-plymouth" + "--localstatedir=/var" + ,(string-append "--with-default-path=" + (string-join '("/run/setuid-programs" + "/run/current-system/profile/bin" + "/run/current-system/profile/sbin") + ":"))) #:phases (modify-phases %standard-phases (add-before @@ -5119,6 +5125,18 @@ (define-public gdm ;; Avoid checking SYSTEMD using pkg-config. (setenv "SYSTEMD_CFLAGS" " ") (setenv "SYSTEMD_LIBS" "-lelogind") + ;; Look for system-installed sessions in + ;; /run/current-system/profile/share. + (substitute* '("libgdm/gdm-sessions.c" + "daemon/gdm-session.c" + "daemon/gdm-display.c" + "daemon/gdm-launch-environment.c") + (("DATADIR \"/x") + "\"/run/current-system/profile/share/x") + (("DATADIR \"/wayland") + "\"/run/current-system/profile/share/wayland") + (("DATADIR \"/gnome") + "\"/run/current-system/profile/share/gnome")) #t))))) (native-inputs `(("dconf" ,dconf)