summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2017-08-22 22:51:32 +0200
committerAndy Wingo <wingo@igalia.com>2017-08-25 16:01:56 +0200
commit957dbc0a4d2c4d173b094a3c003c87deffc8a8a0 (patch)
treeac01eb54f00a6d5003d100ee471ebcccccbb4a92
parentaf37e6bbd4a0b97c8147ccbd1548dc2e5f830466 (diff)
downloadguix-957dbc0a4d2c4d173b094a3c003c87deffc8a8a0.tar.gz
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.
-rw-r--r--gnu/packages/gnome.scm15
1 files changed, 10 insertions, 5 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a26688d8b8..2d825081f6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -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"