aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-09-09 00:17:22 +0200
committerLudovic Courtès <ludo@gnu.org>2016-09-09 00:18:09 +0200
commit5acf00f99072cd4da8d3ba064f19cc819288d68b (patch)
tree7bef2f115c42011422c84e1f196658bd3de58547
parent7326944b5c6ff850b83f8b7d737d0bb2f5a97c42 (diff)
downloadguix-5acf00f99072cd4da8d3ba064f19cc819288d68b.tar
guix-5acf00f99072cd4da8d3ba064f19cc819288d68b.tar.gz
gnu: kmscon: Enable elogind support.
* gnu/packages/terminals.scm (kmscon)[source]: Add 'modules' and 'snippet'.
-rw-r--r--gnu/packages/terminals.scm18
1 files changed, 17 insertions, 1 deletions
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 89ccaa6701..d5c24d2455 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -209,7 +209,23 @@ compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.")
"kmscon-" version ".tar.xz"))
(sha256
(base32
- "0axfwrp3c8f4gb67ap2sqnkn75idpiw09s35wwn6kgagvhf1rc0a"))))
+ "0axfwrp3c8f4gb67ap2sqnkn75idpiw09s35wwn6kgagvhf1rc0a"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Use elogind instead of systemd.
+ '(begin
+ (substitute* "configure"
+ (("libsystemd-daemon libsystemd-login")
+ "libelogind"))
+ (substitute* "src/uterm_systemd.c"
+ (("#include <systemd/sd-login.h>")
+ "#include <elogind/sd-login.h>")
+ ;; We don't have this header.
+ (("#include <systemd/sd-daemon\\.h>")
+ "")
+ ;; Replace the call to 'sd_booted' by the truth value.
+ (("sd_booted\\(\\)")
+ "1"))))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)