From 0391c83d94812173b3c13f38e40b9772358c75b3 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 11 Jun 2017 00:00:07 +0000 Subject: [PATCH] gnu: enlightenment: Fix the inability to switch keyboard layout. * gnu/packages/enlightenment.scm (enlightenment): Add new 'fix-keyboard' phase. (inputs): Add 'xkeyboard-config'. --- gnu/packages/enlightenment.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 165ca50ce..648744633 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2015 Daniel Pimentel ;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2017 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -208,7 +209,19 @@ Libraries with some extra bells and whistles.") "1xvngjdsa0p901vfhrh2qpa50k32hwwhc8bgi16a9b5d9byzfhvn")))) (build-system gnu-build-system) (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 `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) @@ -220,7 +233,8 @@ Libraries with some extra bells and whistles.") ("libxcb" ,libxcb) ("libxext" ,libxext) ("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") (synopsis "Lightweight desktop environment") (description -- 2.13.1