From 4606f3a3efd6a5a01152b3fdf727216bdd3d3b8c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 May 2017 17:24:35 +0200 Subject: gnu: Add lightdm. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/display-managers.scm (lightdm): New variable. Co-authored-by: 宋文武 --- gnu/packages/display-managers.scm | 81 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 0a70fd737b..1c3acd15aa 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2013 Joshua Grant ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge +;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,17 +25,22 @@ (define-module (gnu packages display-managers) #: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 @@ (define-public sddm ;; 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") -- cgit v1.2.3