summaryrefslogtreecommitdiff
path: root/gnu/packages/freedesktop.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-03-07 00:01:03 +0100
committerLudovic Courtès <ludo@gnu.org>2016-03-07 00:01:03 +0100
commit956ad60cadbea000c1247afee91f48ca2e33c14d (patch)
treeed2fc0c92148b7366d0f6aee3cffab56baa413db /gnu/packages/freedesktop.scm
parentef8de9852eeb9f9ce8e01a2a4f60a057b890b94a (diff)
downloadpatches-956ad60cadbea000c1247afee91f48ca2e33c14d.tar
patches-956ad60cadbea000c1247afee91f48ca2e33c14d.tar.gz
services: elogind: Rely on D-Bus activation.
Previously elogind was explicitly spawned by the Shepherd. Now it is activated by dbus-daemon on demand. * gnu/packages/freedesktop.scm (elogind)[arguments]: Add 'fix-service-file' phase. * gnu/services/desktop.scm (elogind-shepherd-service): Remove. (elogind-dbus-service): New procedure. (elogind-service-type): Do not extend SHEPHERD-ROOT-SERVICE-TYPE. Use 'elogind-dbus-service' for DBUS-ROOT-SERVICE-TYPE.
Diffstat (limited to 'gnu/packages/freedesktop.scm')
-rw-r--r--gnu/packages/freedesktop.scm14
1 files changed, 12 insertions, 2 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 5252ddbd81..f75f5fd938 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2,7 +2,7 @@
;;; 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, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
@@ -169,7 +169,17 @@ the freedesktop.org XDG Base Directory specification.")
;; XXX: fail with:
;; src/shared/clean-ipc.c:315: undefined reference to `mq_unlink'
"LDFLAGS=-lrt")
- #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")))
+ #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
+
+ #:phases (modify-phases %standard-phases
+ (add-before 'build 'fix-service-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Fix the file name of the 'elogind' binary in the D-Bus
+ ;; '.service' file.
+ (substitute* "src/login/org.freedesktop.login1.service"
+ (("^Exec=.*")
+ (string-append "Exec=" (assoc-ref %outputs "out")
+ "/libexec/elogind/elogind\n"))))))))
(native-inputs
`(("intltool" ,intltool)
("gettext" ,gnu-gettext)