gnu: Add lightdm.

* gnu/packages/display-managers.scm (lightdm): New variable.

Co-authored-by: 宋文武 <iyzsong@gmail.com>
This commit is contained in:
Ricardo Wurmus 2017-05-05 17:24:35 +02:00 committed by Ricardo Wurmus
parent 09270a97d9
commit 4606f3a3ef
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 81 additions and 0 deletions

View 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.
;;;
@ -23,17 +25,22 @@
#: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 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 xorg))
@ -186,6 +193,80 @@ 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 slim
(package
(name "slim")