gnu: texlive-latex-babel: Install to generic/babel.
[jackhill/guix/guix.git] / gnu / packages / display-managers.scm
index 80b45af..869d623 100644 (file)
@@ -2,6 +2,8 @@
 ;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xfce)
   #:use-module (gnu packages xorg))
 
 (define-public greenisland
   (package
     (name "greenisland")
-    (version "0.8.1")
+    (version "0.9.0.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -50,7 +59,7 @@
                     "greenisland-" version ".tar.xz"))
               (sha256
                (base32
-                "1c9rlq7fqrsd5nb37anjvnp9xspqjz1kc0fvydv5xdy3abg8mw40"))))
+                "1flmha31hmii6m2mdvmn1q5dc0fhnvgc4lp1b4wgkz20y7x4f1fm"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
          (add-before 'check 'check-setup
            (lambda _
              (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+             ;; make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
              (setenv "XDG_RUNTIME_DIR" (getcwd))
              #t))
@@ -139,7 +149,6 @@ Qt-style API for Wayland clients.")
        ("qttools" ,qttools)))
     (inputs
      `(("glib" ,glib)
-       ("greenisland" ,greenisland)
        ("libxcb" ,libxcb)
        ("libxkbcommon" ,libxkbcommon)
        ("linux-pam" ,linux-pam)
@@ -186,6 +195,107 @@ create smooth, animated user interfaces.")
     ;; QML files are MIT licensed and images are CC BY 3.0.
     (license (list license:gpl2+ license:expat license:cc-by3.0))))
 
+(define-public lightdm
+  (package
+    (name "lightdm")
+    (version "1.22.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://launchpad.net/lightdm/"
+                                  (version-major+minor version) "/"
+                                  version "/+download/lightdm-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0a5bvfl2h7r873al6q7c819h0kg564k9fh51rl6489z6lyvazfg4"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:parallel-tests? #f ; fails when run in parallel
+       #:configure-flags
+       (list "--localstatedir=/var")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-paths
+           (lambda _
+             (substitute* "src/shared-data-manager.c"
+               (("/bin/rm") (which "rm")))
+             (substitute* '("data/users.conf"
+                            "common/user-list.c")
+               (("/bin/false") (which "false"))
+               (("/usr/sbin/nologin") (which "nologin")))
+             (substitute* "src/seat.c"
+               (("/bin/sh") (which "sh")))
+             #t))
+         (add-after 'unpack 'disable-broken-tests
+           (lambda _
+             (substitute* "tests/Makefile.in"
+               (("test-sessions-gobject ") "")
+               ((" test-sessions-python ") " "))
+             #t))
+         (add-before 'check 'pre-check
+           ;; Run test-suite under a dbus session.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (wrap-program "tests/src/test-python-greeter"
+               `("PYTHONPATH"      ":" prefix (,(getenv "PYTHONPATH")))
+               `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
+
+             ;; Avoid printing locale warnings, which trip up the text
+             ;; matching tests.
+             (unsetenv "LC_ALL")
+             #t)))))
+    (inputs
+     `(("audit" ,audit)
+       ("linux-pam" ,linux-pam)
+       ("util-linux" ,util-linux) ; for sbin/nologin
+       ("libgcrypt" ,libgcrypt)
+       ("libxcb" ,libxcb)))
+    (native-inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("itstool" ,itstool)
+       ("intltool" ,intltool)
+       ;; For tests
+       ("dbus" ,dbus)
+       ("python" ,python-2)
+       ("python-pygobject" ,python2-pygobject)))
+    ;; Required by liblightdm-gobject-1.pc.
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libx11" ,libx11)
+       ("libxklavier" ,libxklavier)))
+    (home-page "https://www.freedesktop.org/wiki/Software/LightDM/")
+    (synopsis "Lightweight display manager")
+    (description "The Light Display Manager (LightDM) is a cross-desktop
+display manager which supports different greeters.")
+    (license license:gpl3+)))
+
+(define-public lightdm-gtk-greeter
+  (package
+    (name "lightdm-gtk-greeter")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://launchpad.net/lightdm-gtk-greeter/"
+                    (version-major+minor version) "/" version
+                    "/+download/lightdm-gtk-greeter-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1436sdm83xqhxyr1rzqxhsl8if2xmidlvb341xcv6dv83lyxkrlf"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("exo" ,exo)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("lightdm" ,lightdm)
+       ("gtk+" ,gtk+)))
+    (synopsis "GTK+ greeter for LightDM")
+    (home-page "https://launchpad.net/lightdm-gtk-greeter")
+    (description "This package provides a LightDM greeter implementation using
+GTK+, lets you select a desktop session and log in to it.")
+    (license license:gpl3+)))
+
 (define-public slim
   (package
     (name "slim")