gnu: gdm: Use proper elogind check, and wrap environment.

* gnu/packages/gnome.scm (gdm): Use glib-or-gtk-build-system to make sure the
schemas are available to GDM.  Install gdm to /bin to make this happen.  Use a
proper elogind check.
This commit is contained in:
Andy Wingo 2017-08-22 22:51:32 +02:00
parent af37e6bbd4
commit 957dbc0a4d
No known key found for this signature in database
GPG Key ID: A8803732E4436885
1 changed files with 10 additions and 5 deletions

View File

@ -5095,16 +5095,20 @@ libxml2.")
(sha256 (sha256
(base32 (base32
"1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23")))) "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
(build-system gnu-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
`("--without-plymouth" `("--without-plymouth"
"--disable-systemd-journal"
"--localstatedir=/var" "--localstatedir=/var"
,(string-append "--with-default-path=" ,(string-append "--with-default-path="
(string-join '("/run/setuid-programs" (string-join '("/run/setuid-programs"
"/run/current-system/profile/bin" "/run/current-system/profile/bin"
"/run/current-system/profile/sbin") "/run/current-system/profile/sbin")
":"))) ":"))
;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
;; XDG_DATA_DIRS so that it finds its schemas.
"--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before (add-before
@ -5122,9 +5126,10 @@ libxml2.")
"libgdm/gdm-user-switching.c") "libgdm/gdm-user-switching.c")
(("#include <systemd/sd-login\\.h>") (("#include <systemd/sd-login\\.h>")
"#include <elogind/sd-login.h>")) "#include <elogind/sd-login.h>"))
;; Avoid checking SYSTEMD using pkg-config. ;; Check for elogind.
(setenv "SYSTEMD_CFLAGS" " ") (substitute* '("configure")
(setenv "SYSTEMD_LIBS" "-lelogind") (("libsystemd")
"libelogind"))
;; Look for system-installed sessions in ;; Look for system-installed sessions in
;; /run/current-system/profile/share. ;; /run/current-system/profile/share.
(substitute* '("libgdm/gdm-sessions.c" (substitute* '("libgdm/gdm-sessions.c"