~ruther/guix-local

366553e447ac3d45695eb66f822656f3bdbaab0f — Ricardo Wurmus 11 years ago 32cf42c
gnu: Add elogind.

* gnu/packages/freedesktop.scm (elogind): New variable.
1 files changed, 74 insertions(+), 3 deletions(-)

M gnu/packages/freedesktop.scm
M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +74 -3
@@ 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+))))