Subject: [bug#43210] [PATCH] gnu: lxqt-config: Wrapping the lxqt-config and lxqt-config-input and setting the setxkbmap PATH for fixing save added layout

From: "Hamzeh Nasajpour" <[email-masked]>
Date: Sat, 12 Sep 2020 16:31:33 +0430

Hi guys.
Seems that anyway we have to add `setxkbmap` to `propagated-inputs`. The previous commit will fix the adding `keyboard-layout` but without having the `setxkbmap` in `propagated-inputs` the added layouts won't add as permanent and will be reset after each reboot. So again, we need to add `setxkbmap` as a dependency in `propagated-inputs`.

On Sat, Sep 5, 2020, at 10:24 AM, Hamzeh Nasajpour wrote:
> diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
> index 21587609ce..baa2ee6795 100644
> --- a/gnu/packages/lxqt.scm
> +++ b/gnu/packages/lxqt.scm
> @@ -379,6 +379,7 @@ the operating system LXQt is running on.")
>         ("qtbase" ,qtbase)
>         ("qtsvg" ,qtsvg)
>         ("qtx11extras" ,qtx11extras)
> +       ("setxkbmap" ,setxkbmap)
>         ("solid" ,solid)
>         ("xf86-input-libinput" ,xf86-input-libinput)
>         ("xkeyboard-config" ,xkeyboard-config)
> @@ -418,7 +419,16 @@ the operating system LXQt is running on.")
>                 (("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
>                  (string-append (assoc-ref outputs "out")
>                                 "/share/lxqt/translations")))
> -             #t)))))
> +             #t))
> +          (add-after 'install 'wrap-for-setxkbmap-path
> +            (lambda* (#:key outputs #:allow-other-keys)
> +              (let ((out              (assoc-ref outputs "out"))
> +                    (setxkbmap          (assoc-ref %build-inputs 
> "setxkbmap")))
> +                       (wrap-program (string-append out 
> "/bin/lxqt-config")
> +                            `("PATH" ":" prefix (,(string-append 
> setxkbmap "/bin/"))))
> +                       (wrap-program (string-append out 
> "/bin/lxqt-config-input")
> +                           `("PATH" ":" prefix (,(string-append 
> setxkbmap "/bin/"))))
> +               #t))))))
>      (home-page "https://lxqt.github.io")
>      (synopsis "Tools to configure LXQt and the underlying operating 
> system")
>      (description "lxqt-config is providing several tools involved in 
> the