Subject: [bug#27279] [PATCH] gnu: Add tmuxifier.

From: Stefan Reichör <[email-masked]>
Date: Fri, 16 Jun 2017 21:33:46 +0200

Thomas Danckaert <[email-masked]> writes:

> Stefan Reichör <[email-masked]> writes:
>
>> +    (source (origin
>> +             (method url-fetch)
>> +             (uri (string-append
>> +                    "https://github.com/jimeh/tmuxifier/archive/v"
>> +                    version ".tar.gz"))
>> +             (sha256
>> +              (base32
>> +               "1j9fj6zg0j3sdn7svpybzsqh7876rv81zi437976kj7hxnyjkcz7"))))
>
> guix lint asks to add
>
>      (file-name (string-append name "-" version ".tar.gz"))
>
> to the source, so the downloaded tarball in the store is easily
> recognizable.  Other than that, it looks good to me, so I can push with
> that change, assuming it works (not a tmux user myself :) ).
>
> cheers,
>
> Thomas

Thanks for your review. I have added the file-name hint. guix lint asked
me to change '...' to @code{...}. So I changed this as well.

Stefan.

>From 85de44861bed37fb213aaf5dd9af331c7042fe18 Mon Sep 17 00:00:00 2001
From: Stefan Reichoer <[email-masked]>
Date: Fri, 16 Jun 2017 21:30:24 +0200
Subject: [PATCH] gnu: Add tmuxifier.

* gnu/packages/tmux.scm (tmuxifier): New variable.
---
 gnu/packages/tmux.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 5b92df8..0ffc3b9 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 Efraim Flashner <[email-masked]>
 ;;; Copyright © 2016 Matthew Jordan <[email-masked]>
 ;;; Copyright © 2017 Vasile Dumitrascu <[email-masked]>
+;;; Copyright © 2017 Stefan Reichör <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,3 +90,48 @@ continue running in the background, then later reattached.")
       (description "A collection of various themes for Tmux.")
       (license
        (non-copyleft "http://www.wtfpl.net/txt/copying/")))))
+
+(define-public tmuxifier
+  (package
+    (name "tmuxifier")
+    (version "0.13.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                    "https://github.com/jimeh/tmuxifier/archive/v"
+                    version ".tar.gz"))
+             (file-name (string-append name "-" version ".tar.gz"))
+             (sha256
+              (base32
+               "1j9fj6zg0j3sdn7svpybzsqh7876rv81zi437976kj7hxnyjkcz7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (delete 'build)
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out    (assoc-ref %outputs "out"))
+                             (bindir (string-append out "/bin"))
+                             (share  (string-append out "/share/" ,name)))
+                        (install-file "bin/tmuxifier" bindir)
+                        (substitute* (string-append bindir "/tmuxifier")
+                          (("set -e")
+                           (string-append "TMUXIFIER=" share "\nset -e")))
+                        (for-each (lambda (init-script)
+                                    (install-file init-script (string-append
+                                                               share "/init")))
+                                  '("init.sh" "init.tcsh" "init.fish"))
+                        (for-each (lambda (dir)
+                                    (copy-recursively dir (string-append
+                                                           share "/" dir)))
+                                  '("completion" "lib" "libexec"
+                                    "templates"))))))))
+    (home-page "https://github.com/jimeh/tmuxifier")
+    (synopsis "Powerful session, window & pane management for Tmux")
+    (description "Tmuxifier allows you to easily create, edit, and load
+@code{layout} files, which are simple shell scripts where you use the tmux
+command and helper commands provided by tmuxifier to manage Tmux sessions and
+windows.")
+    (license expat)))
-- 
2.7.4