gnu: Add python-libtmux.

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

Signed-off-by: Marius Bakke <marius@gnu.org>
This commit is contained in:
Edouard Klein 2020-06-03 10:19:29 +02:00 committed by Marius Bakke
parent 9d0e87f8ed
commit 3565a30f70
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -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 @@ (define-module (gnu packages tmux)
#: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 @@ (define-public tmuxifier
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")