summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2020-08-10 19:40:12 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2020-08-10 20:35:44 +0200
commitec36caf510316579f80d1553ce85b6ac6eb1b789 (patch)
treee84378bd8581daa67663a8359cd23b4989d71ce5 /gnu/packages
parent8c3cc4839a05568f77c82af4addf30ae3c5c0ff5 (diff)
downloadguix-ec36caf510316579f80d1553ce85b6ac6eb1b789.tar.gz
gnu: alacritty: Fix on Wayland.
* gnu/packages/terminals.scm (alacritty)[arguments]: Wrap alacritty to
find libwayland-client and libxkbcommon.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/terminals.scm20
1 files changed, 14 insertions, 6 deletions
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 55a1e675ab..4d6c22d7ce 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1236,21 +1236,29 @@ made by suckless.")
          (replace 'install
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out   (assoc-ref outputs "out"))
+                    (bin   (string-append out "/bin"))
                     (share (string-append out "/share"))
                     (icons (string-append share "/icons/hicolor/scalable/apps"))
                     (tic   (string-append (assoc-ref inputs "ncurses") "/bin/tic"))
                     (man   (string-append share "/man/man1"))
                     (alacritty-bin "target/release/alacritty"))
 
-               ;; Install binary
-               (install-file alacritty-bin (string-append out "/bin"))
+               ;; Install and wrap the binary.
+               (install-file alacritty-bin bin)
+               (wrap-program (string-append bin "/alacritty")
+                 ;; Both libraries are dlopen()d by cargo dependencies above
+                 ;; when running Alacritty on pure Wayland.
+                 ;; XXX Find out how to patch these at the source.
+                 `("LD_LIBRARY_PATH" ":" prefix
+                   (,(string-append (assoc-ref inputs "libxkbcommon") "/lib:"
+                                    (assoc-ref inputs "wayland") "/lib"))))
 
-               ;; Install man pages
+               ;; Install man pages.
                (mkdir-p man)
                (copy-file "extra/alacritty.man"
                           (string-append man "/alacritty.1"))
 
-               ;; Install desktop file
+               ;; Install desktop file.
                (install-file "extra/linux/alacritty.desktop"
                              (string-append share "/applications"))
 
@@ -1259,7 +1267,7 @@ made by suckless.")
                (copy-file "extra/logo/alacritty-term.svg"
                           (string-append icons "/Alacritty.svg"))
 
-               ;; Install terminfo
+               ;; Install terminfo.
                (mkdir-p (string-append share "/terminfo"))
                ;; We don't compile alacritty-common entry because
                ;; it's being used only for inheritance.
@@ -1267,7 +1275,7 @@ made by suckless.")
                        "-o" (string-append share "/terminfo/")
                        "extra/alacritty.info")
 
-               ;; Install completions
+               ;; Install completions.
                (install-file
                  "extra/completions/alacritty.bash"
                  (string-append out "/etc/bash_completion.d"))