Subject: Enlightenment: Fix the inability to switch keyboard layout.
From: ng0 <[email-masked]>
To: [email-masked]
Date: Sun, 11 Jun 2017 17:21:58 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Patch appended.
-- 
ng0
OpenPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
From 0391c83d94812173b3c13f38e40b9772358c75b3 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
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 <[email-masked]>
 ;;; Copyright © 2015 Daniel Pimentel <[email-masked]>
 ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <[email-masked]>
+;;; Copyright © 2017 ng0 <[email-masked]>
 ;;;
 ;;; 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