summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdouard Klein <edk@beaver-labs.com>2020-05-25 11:32:47 +0200
committerGuix Patches Tester <>2020-05-25 10:35:13 +0100
commitde10b460ce327e96c4603c547cece1a7b135e371 (patch)
treeced4f90c8554fbe30028d86eec2f4cf8bb273ebf
parent868a18642318edc87e38d04697647aba2ca93b34 (diff)
downloadpatches-series-4088.tar
patches-series-4088.tar.gz
gnu: Add python-libtmuxseries-4088
* gnu/packages/check.scm (python-pytest-4): New variable. * gnu/packages/tmux.scm (python-libtmux): New variable.
-rw-r--r--gnu/packages/check.scm49
-rw-r--r--gnu/packages/tmux.scm48
2 files changed, 97 insertions, 0 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 7d7fd189bc..5d3e44a16d 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
+;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,6 +67,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages time)
#:use-module (gnu packages xml)
#:use-module (guix utils)
@@ -819,6 +821,53 @@ and many external plugins.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-pytest))))))
+(define-public python-pytest-4
+ (package
+ (name "python-pytest-4")
+ (version "4.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ ;; Pypi source tarball does not include tests
+ (uri (git-reference
+ (url "https://github.com/pytest-dev/pytest.git")
+ (commit version)))
+ (file-name "python-pytest-4")
+ (sha256
+ (base32
+ "0igxfasjqabkzlb81vxqr58pfsdwjx4zzd1nc1b48wn6xnkkllhk"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-atomicwrites" ,python-atomicwrites)
+ ("python-attrs" ,python-attrs)
+ ("python-attrs" ,python-attrs)
+ ("python-more-itertools" ,python-more-itertools)
+ ("python-pluggy" ,python-pluggy)
+ ("python-six" ,python-six)
+ ("python-py" ,python-py)
+ ("python-wcwidth" ,python-wcwidth)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python-setuptools-scm)
+ ("git" ,git)))
+ (arguments `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'git-tag
+ (lambda _
+ ;; setuptools-scm needs to know the version
+ (invoke "git" "init")
+ (invoke "git" "add" ".")
+ (invoke "git" "config" "user.name" "John Doe")
+ (invoke "git" "config" "user.email" "nobody@example.com")
+ (invoke "git" "commit" "-m" "dummy commit")
+ (invoke "git" "tag" ,version))))))
+ (home-page "https://docs.pytest.org/en/latest/")
+ (synopsis "Python testing library")
+ (description
+ "Pytest is a testing tool that provides auto-discovery of test modules
+and functions, detailed info on failing assert statements, modular fixtures,
+and many external plugins.")
+ (license license:expat)))
+
;; Pytest 4.x are the last versions that support Python 2.
(define-public python2-pytest
(package
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")