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.
This commit is contained in:
Andy Wingo 2017-08-22 14:06:40 +02:00
parent 92753a8bad
commit af37e6bbd4
No known key found for this signature in database
GPG key ID: A8803732E4436885

View file

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