summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEdouard Klein <edk@beaver-labs.com>2020-06-03 10:19:29 +0200
committerMarius Bakke <marius@gnu.org>2020-06-22 23:52:54 +0200
commit3565a30f704127864d3e0144bcf7143e8e066a94 (patch)
treefa44e1fc2929656f133e7d9884614720a8a3d3cd /gnu
parent9d0e87f8ed169bafa9eb4f601120b507c4b8fbc0 (diff)
gnu: Add python-libtmux.
* gnu/packages/tmux.scm (python-libtmux): New variable. Signed-off-by: Marius Bakke <marius@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/tmux.scm49
1 files changed, 48 insertions, 1 deletions
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 160dcb3001..0930972473 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2019, 2020 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,12 +31,14 @@
#: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))
-
(define-public tmux
(package
(name "tmux")
@@ -138,6 +141,50 @@ 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")