summary refs log tree commit diff
diff options
context:
space:
mode:
authorTimothy Sample <samplet@ngyro.com>2019-04-29 22:36:27 -0400
committerTimothy Sample <samplet@ngyro.com>2019-04-29 23:04:35 -0400
commitf420d639df54bd8d47e84e1391e1a0e4584762a7 (patch)
tree84bbf2d925eb742ebfc237f86ccba240ca373819
parent9aa470e912bff3af0f5803797c8c88a6cd6bdb8b (diff)
downloadguix-f420d639df54bd8d47e84e1391e1a0e4584762a7.tar.gz
gnu: i3-wm: Use absolute paths in session files.
* gnu/packages/wm.scm (i3-wm)[arguments]: Add a phase to patch the
session '.desktop' files to use the absolute paths of the 'i3' and
'i3-with-shmlog' binaries.
-rw-r--r--gnu/packages/wm.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index b878df2895..687cf9c2ee 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -182,7 +182,19 @@ commands would.")
        (list "--disable-builddir")
 
        ;; The test suite requires the unpackaged Xephyr X server.
-       #:tests? #f))
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'patch-session-file
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (i3 (string-append out "/bin/i3"))
+                    (i3-with-shmlog (string-append out "/bin/i3-with-shmlog")))
+               (substitute* (string-append out "/share/xsessions/i3.desktop")
+                 (("Exec=i3") (string-append "Exec=" i3)))
+               (substitute* (string-append out "/share/xsessions/i3-with-shmlog.desktop")
+                 (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog)))
+               #t))))))
     (inputs
      `(("libxcb" ,libxcb)
        ("xcb-util" ,xcb-util)