~ruther/guix-local

957dbc0a4d2c4d173b094a3c003c87deffc8a8a0 — Andy Wingo 8 years ago af37e6b
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.
1 files changed, 10 insertions(+), 5 deletions(-)

M gnu/packages/gnome.scm
M gnu/packages/gnome.scm => gnu/packages/gnome.scm +10 -5
@@ 5095,16 5095,20 @@ libxml2.")
              (sha256
               (base32
                "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
    (build-system gnu-build-system)
    (build-system glib-or-gtk-build-system)
    (arguments
     '(#:configure-flags
       `("--without-plymouth"
         "--disable-systemd-journal"
         "--localstatedir=/var"
         ,(string-append "--with-default-path="
                         (string-join '("/run/setuid-programs"
                                        "/run/current-system/profile/bin"
                                        "/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
       (modify-phases %standard-phases
         (add-before


@@ 5122,9 5126,10 @@ libxml2.")
                           "libgdm/gdm-user-switching.c")
              (("#include <systemd/sd-login\\.h>")
               "#include <elogind/sd-login.h>"))
            ;; Avoid checking SYSTEMD using pkg-config.
            (setenv "SYSTEMD_CFLAGS" " ")
            (setenv "SYSTEMD_LIBS" "-lelogind")
            ;; Check for elogind.
            (substitute* '("configure")
              (("libsystemd")
               "libelogind"))
            ;; Look for system-installed sessions in
            ;; /run/current-system/profile/share.
            (substitute* '("libgdm/gdm-sessions.c"