diff mbox series

[bug#41455,1/2] gnu: Add python-libtmux

Message ID 87367cr27i.fsf@alice.lan
State Accepted
Headers show
Series [bug#41455,1/2] gnu: Add python-libtmux | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job

Commit Message

Edouard Klein June 3, 2020, 8:19 a.m. UTC
* gnu/packages/tmux.scm (python-libtmux): New variable.
---
 gnu/packages/tmux.scm | 47 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

Comments

Marius Bakke June 22, 2020, 7:49 p.m. UTC | #1
Edouard Klein <edk@beaver-labs.com> writes:

> * gnu/packages/tmux.scm (python-libtmux): New variable.

Applied, thanks!  I fixed the long description line and capitalized
'Python'.
diff mbox series

Patch

diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 8b54849b18..bf9f2594e1 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -7,6 +7,7 @@ 
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,8 +31,11 @@ 
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses))
 
@@ -138,6 +142,49 @@  command and helper commands provided by tmuxifier to manage Tmux sessions and
 windows.")
     (license license:expat)))
 
+(define-public python-libtmux
+  (package
+    (name "python-libtmux")
+    (version "0.8.2")
+    (source
+     (origin
+       (method git-fetch)
+       ;; PyPI source tarball does not include tests.
+       (uri (git-reference
+             (url "https://github.com/tmux-python/libtmux.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1akjv6aqpc690c4l2cjh0fxbpxxg63sfjggapfjjjaqmcl38g1dz"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("procps" ,procps)));Tests need top.
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("tmux" ,tmux)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             ;; Extend PYTHONPATH so the built package will be found.
+             (setenv "PYTHONPATH"
+                     (string-append (getcwd) "/build/lib:"
+                                    (getenv "PYTHONPATH")))
+             ;; Skip tests that I suspect fail because of a change
+             ;; in behavior in tmux 3 from tmux 2
+             ;; https://github.com/tmux-python/libtmux/issues/281
+             (invoke "pytest" "-vv" "-k"
+                     (string-append "not test_show_option_unknown "
+                                    "and not test_show_window_option_unknown"))
+             #t)))))
+    (home-page "https://github.com/tmux-python/libtmux")
+    (synopsis "Python API for tmux")
+    (description "Libtmux is the tool behind @command{tmuxp}, a tmux workspace manager in python.
+It creates object mappings to traverse, inspect and interact with live tmux sessions.")
+    (license license:expat)))
+
 (define-public tmux-xpanes
   (package
     (name "tmux-xpanes")