aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2015-04-26 15:55:59 +0200
committerRicardo Wurmus <rekado@elephly.net>2015-05-06 11:52:07 +0200
commit366553e447ac3d45695eb66f822656f3bdbaab0f (patch)
tree6a9f06d0b3f559871c59d82fbd5271077837f423 /gnu
parent32cf42c1eb4aa35750b6fccc935b9e1228d64cf6 (diff)
downloadguix-366553e447ac3d45695eb66f822656f3bdbaab0f.tar
guix-366553e447ac3d45695eb66f822656f3bdbaab0f.tar.gz
gnu: Add elogind.
* gnu/packages/freedesktop.scm (elogind): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/freedesktop.scm77
1 files changed, 74 insertions, 3 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 386f4c5972..891bd3114f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1,6 +1,9 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; 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.
;;;
@@ -18,12 +21,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(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 download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages linux)
#: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 xorg))
@@ -48,7 +58,7 @@
(description "The xdg-utils package is a set of simple scripts that
provide basic desktop integration functions in the framework of the
freedesktop.org project.")
- (license expat)))
+ (license license:expat)))
(define-public libinput
(package
@@ -74,4 +84,65 @@ freedesktop.org project.")
(description
"Libinput is a library to handle input devices for display servers and
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+))))