Subject: bug#25453: Keyboard layout configuration

From: Ludovic Courtès <[email-masked]>
Date: Wed, 16 Jan 2019 14:10:23 +0100

nee <[email-masked]> skribis:

> --- a/gnu/packages/bootloaders.scm
> +++ b/gnu/packages/bootloaders.scm
> @@ -55,6 +55,7 @@
>    #:use-module (gnu packages swig)
>    #:use-module (gnu packages valgrind)
>    #:use-module (gnu packages virtualization)
> +  #:use-module (gnu packages xorg)
>    #:use-module (gnu packages web)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix download)
> @@ -110,6 +111,12 @@
>                       ;; Make the font visible.
>                       (copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
>                       (system* "gunzip" "unifont.bdf.gz")
> +
> +                     ;; patch the path to ckbcomp
> +                     (substitute* "util/grub-kbdcomp.in"
> +                       (("^ckbcomp ")
> +                        (string-append (assoc-ref inputs "console-setup")
> +                                       "/bin/ckbcomp ")))
>                       #t))
>                    (add-before 'check 'disable-flaky-test
>                      (lambda _
> @@ -134,6 +141,10 @@
>         ;; to determine whether the root file system is RAID.
>         ("mdadm" ,mdadm)
>  
> +       ;; console-setup's ckbcomp is invoked by grub-kbdcomp
> +       ;; it is required for generating alternative keyboard layouts
> +       ("console-setup" ,console-setup)

I pushed this bit on your behalf as commit
ab100b905f4073b24d69af3de6de61c4c55ce27d.

It’s a bit sad that the closure of ‘grub-efi’ goes from 162 MiB to
223 MiB because of Perl, which is used to run this tiny ‘ckbcomp’
program.  At some point we should consider translating it to Scheme,
especially since it’s essentially data.

Thanks,
Ludo’.