Message ID | 87ftbnyug6.fsf@alice.lan |
---|---|
State | Accepted |
Headers | show |
Series | None | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Edouard Klein <edk@beaver-labs.com> writes: > * gnu/packages/tmux.scm (python-libtmux): New variable. [...] > +(define-public python-libtmux > + (package > + (name "python-libtmux") > + (version "0.8.2") > + (source > + (origin > + (method git-fetch) > + ;; Pypi source tarball does not include tests PyPI ----> . See nit-picks above ^. :-) > + (uri (git-reference > + (url "https://github.com/tmux-python/libtmux.git") > + (commit (string-append "v" version)))) > + (file-name "python-libtmux") This should be (git-file-name name version). > + (sha256 > + (base32 > + "1akjv6aqpc690c4l2cjh0fxbpxxg63sfjggapfjjjaqmcl38g1dz")))) > + (build-system python-build-system) > + (propagated-inputs > + `(("python-pytest-4" ,python-pytest-4) > + ("tmux" ,tmux) > + ("procps" ,procps))) ;; Tests need top ^^^ Just a single semicolon for margin comments. Also, all of these should probably be 'native-inputs'. > + (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") This line break is unnecessary. > + (synopsis "Scripting library / orm for tmux") Can we use "Python API for tmux"? > + (description "Libtmux is the tool behind tmuxp, a tmux workspace manager in python. Use @command{tmuxp}. > +It builds upon tmux's target and formats to create an object mapping to traverse, "target" and "formats" sounds weird. I know it has been taken from the upstream README, but they have links to clarify the situation. Perhaps just "It creates object mappings to traverse, ..."
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index 8b54849b18..c4dd963b53 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,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 "python-libtmux") + (sha256 + (base32 + "1akjv6aqpc690c4l2cjh0fxbpxxg63sfjggapfjjjaqmcl38g1dz")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pytest-4" ,python-pytest-4) + ("tmux" ,tmux) + ("procps" ,procps))) ;; Tests need top + (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 "Scripting library / orm for tmux") + (description "Libtmux is the tool behind tmuxp, a tmux workspace manager in python. +It builds upon tmux's target and formats to create an object mapping to traverse, + inspect and interact with live tmux sessions.") + (license license:expat))) + (define-public tmux-xpanes (package (name "tmux-xpanes")