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 22:36:27 -0400
commitaa7cdc57dc28673dedfc6ec210974aaa0099a419 (patch)
treecb87067bf4bef71c54fb86bcd51a5fe559817eb3
parent4ec42524dd51aaaf9cd45520c0fdc89d6579d9e3 (diff)
downloadguix-aa7cdc57dc28673dedfc6ec210974aaa0099a419.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 6d650a834a..ddc6905c82 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)