gnu: Add elogind.

* gnu/packages/freedesktop.scm (elogind): New variable.
This commit is contained in:
Ricardo Wurmus 2015-04-26 15:55:59 +02:00
parent 32cf42c1eb
commit 366553e447
1 changed files with 74 additions and 3 deletions

View File

@ -1,6 +1,9 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -18,12 +21,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages freedesktop) (define-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:select (expat x11)) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gperf)
#:use-module (gnu packages xml)
#:use-module (gnu packages docbook)
#:use-module (gnu packages glib) ;intltool
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
@ -48,7 +58,7 @@
(description "The xdg-utils package is a set of simple scripts that (description "The xdg-utils package is a set of simple scripts that
provide basic desktop integration functions in the framework of the provide basic desktop integration functions in the framework of the
freedesktop.org project.") freedesktop.org project.")
(license expat))) (license license:expat)))
(define-public libinput (define-public libinput
(package (package
@ -74,4 +84,65 @@ freedesktop.org project.")
(description (description
"Libinput is a library to handle input devices for display servers and "Libinput is a library to handle input devices for display servers and
other applications that need to directly deal with input devices.") other applications that need to directly deal with input devices.")
(license x11))) (license license:x11)))
(define-public elogind
(let ((commit "14405a9"))
(package
(name "elogind")
(version (string-append "219." commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://git.elephly.net/software/elogind.git")
(commit commit)))
(sha256
(base32
"1wz5lxj95qg64x2q5hf4zcb35hpxlw3wfswx6sb2srvsg50y3y72"))
(file-name (string-append name "-checkout-" commit))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
(("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
;; pam_elogind fails because of bus-error.c hackery
"--disable-pam"
(string-append "--with-rootprefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(and (zero? (system* "intltoolize" "--force" "--automake"))
(zero? (system* "autoreconf" "-vif"))))))))
(native-inputs
`(("intltool" ,intltool)
("gettext" ,gnu-gettext)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml)
("xsltproc" ,libxslt)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("pkg-config", pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("gperf" ,gperf)))
(inputs
`(("linux-pam" ,linux-pam)
("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap)
("dbus" ,dbus)
("eudev" ,eudev)))
(home-page "https://github.com/andywingo/elogind")
(synopsis "User, seat, and session management service")
(description "Elogind is the systemd project's \"logind\" service,
extracted out as a separate project. Elogind integrates with PAM to provide
the org.freedesktop.login1 interface over the system bus, allowing other parts
of a the system to know what users are logged in, and where.")
(license license:lgpl2.1+))))