@@ -35,6 +35,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages linux)
#:use-module (gnu packages libevent)
#:use-module (gnu packages ncurses))
@@ -185,6 +186,44 @@ windows.")
It creates object mappings to traverse, inspect and interact with live tmux sessions.")
(license license:expat)))
+(define-public python-daemux
+ (package
+ (name "python-daemux")
+ (version "0.1.0")
+ (source
+ ;; We fetch from the Git repo because there are no tests in the PyPI
+ ;; archive.
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edouardklein/daemux.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0cb8v552f2hkwz6d3hwsmrz3gd28jikga3lcc3r1zlw8ra7804ph"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (mkdir-p "tmptmux")
+ (setenv "TMUX_TMPDIR" (string-append (getcwd) "/tmptmux"))
+ (invoke "tmux" "new-session" "-d")
+ (invoke "make" "test"))))))
+ (propagated-inputs
+ `(("python-libtmux" ,python-libtmux)))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)
+ ("python-sphinx" ,python-sphinx)
+ ("tmux" ,tmux)))
+ (home-page "https://github.com/edouardklein/daemux")
+ (synopsis "Start, stop, restart and check daemons via tmux")
+ (description
+ "Daemux lets you run daemons in a tmux pane. Users can launch long-running
+background tasks, and check these tasks' health by hand, relaunch them, etc. by attaching
+to the corresponding pane in tmux.")
+ (license license:agpl3+)))
+
(define-public tmux-xpanes
(package
(name "tmux-xpanes")