summary refs log tree commit diff
diff options
context:
space:
mode:
authorSeerLite <seerlite@disroot.org>2023-03-07 00:44:58 -0300
committerLudovic Courtès <ludo@gnu.org>2023-06-09 22:59:26 +0200
commit71c2f02ba057ce4a14cfdb8b665fa17c70eaa664 (patch)
tree91f0825cae9cce7614c5d635a20f33a180cf8ea8
parenta863b5de8db16e99c73a84ed150c98b1df5ae5dd (diff)
downloadguix-71c2f02ba057ce4a14cfdb8b665fa17c70eaa664.tar.gz
gnu: i3-wm: Add missing inputs for i3-save-tree.
* gnu/packages/wm.scm (i3-wm)[inputs]: Add perl, perl-anyevent-i3,
perl-json-xs, perl-common-sense, and perl-types-serialiser.
[arguments]: Add phase to wrap i3-save-tree to use perl inputs listed above.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/wm.scm25
1 files changed, 22 insertions, 3 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 729fc7a34a..e707a15785 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -338,12 +338,26 @@ commands would.")
       #~(modify-phases %standard-phases
           (add-after 'install 'patch-session-file
             (lambda _
-              (let* ((i3 (string-append #$output "/bin/i3"))
-                     (i3-with-shmlog (string-append #$output "/bin/i3-with-shmlog")))
+              (let ((i3 (string-append #$output "/bin/i3"))
+                    (i3-with-shmlog (string-append #$output "/bin/i3-with-shmlog")))
                 (substitute* (string-append #$output "/share/xsessions/i3.desktop")
                   (("Exec=i3") (string-append "Exec=" i3)))
                 (substitute* (string-append #$output "/share/xsessions/i3-with-shmlog.desktop")
-                  (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog)))))))))
+                  (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog))))))
+           (add-after 'patch-session-file 'wrap-perl-bin
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let* ((i3-save-tree (string-append #$output "/bin/i3-save-tree"))
+                      (perl-lib-names '("perl-anyevent"
+                                        "perl-anyevent-i3"
+                                        "perl-json-xs"
+                                        "perl-common-sense"
+                                        "perl-types-serialiser"))
+                      (perl-lib-paths
+                       (map (lambda (name)
+                              (string-append (assoc-ref inputs name) "/lib/perl5/site_perl"))
+                            perl-lib-names)))
+                 (wrap-program i3-save-tree
+                               `("PERL5LIB" ":" prefix ,perl-lib-paths))))))))
     (inputs
      (list libxcb
            xcb-util
@@ -355,6 +369,11 @@ commands would.")
            libev
            yajl
            xmlto
+           perl
+           perl-anyevent-i3
+           perl-json-xs
+           perl-common-sense
+           perl-types-serialiser
            perl-pod-simple
            libx11
            pcre2