gnu: enlightenment: Fix the inability to switch keyboard layout.

* gnu/packages/enlightenment.scm (enlightenment): Add new 'fix-keyboard' phase.
(inputs): Add 'xkeyboard-config'.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
ng0 2017-06-11 00:00:07 +00:00 committed by Efraim Flashner
parent 70c9090301
commit 5c46c8582f
No known key found for this signature in database
GPG key ID: F4C1D3917EACEE93

View file

@ -2,6 +2,7 @@
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org> ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -208,7 +209,19 @@ (define-public enlightenment
"1xvngjdsa0p901vfhrh2qpa50k32hwwhc8bgi16a9b5d9byzfhvn")))) "1xvngjdsa0p901vfhrh2qpa50k32hwwhc8bgi16a9b5d9byzfhvn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--enable-mount-eeze"))) `(#:configure-flags '("--enable-mount-eeze")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-keyboard
(lambda _
(let ((xkeyboard (assoc-ref %build-inputs "xkeyboard-config")))
;; We need to patch the path to 'base.lst' to be able
;; to switch the keyboard layout in E.
(substitute* "src/modules/xkbswitch/e_mod_parse.c"
(("/usr/share/X11/xkb/rules/xorg.lst")
(string-append xkeyboard
"/share/X11/xkb/rules/base.lst")))
#t))))))
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -220,7 +233,8 @@ (define-public enlightenment
("libxcb" ,libxcb) ("libxcb" ,libxcb)
("libxext" ,libxext) ("libxext" ,libxext)
("linux-pam" ,linux-pam) ("linux-pam" ,linux-pam)
("xcb-util-keysyms" ,xcb-util-keysyms))) ("xcb-util-keysyms" ,xcb-util-keysyms)
("xkeyboard-config" ,xkeyboard-config)))
(home-page "https://www.enlightenment.org/about-enlightenment") (home-page "https://www.enlightenment.org/about-enlightenment")
(synopsis "Lightweight desktop environment") (synopsis "Lightweight desktop environment")
(description (description