Message ID | 87v9kkick4.fsf@alice.lan |
---|---|
State | Accepted |
Headers | show |
Series | [bug#41455] gnu: Add python-daemux | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
Edouard Klein <edk@beaver-labs.com> writes: > * gnu/packages/tmux.scm (python-daemux): New variable. [...] > +(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 "58e30331d3cce08655cb5f55e94396568d484f9a"))) This upstream looks familiar... Do you think upstream is willing to tag a 0.1.0 release instead of using a "magic" commit identifier? :-) > + (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")))))) Nice! I guess 'tmux' needs to be a native-input if we don't propagate it from libtmux. > + (propagated-inputs > + `(("python-libtmux" ,python-libtmux))) > + (native-inputs > + `(("python-coverage" ,python-coverage) > + ("python-sphinx" ,python-sphinx))) > + (home-page "https://github.com/edouardklein/daemux") > + (synopsis > + "Start, stop, restart and check daemons via tmux") This line break is unnecessary. Otherwise LGTM, thanks!
Marius Bakke writes: > Edouard Klein <edk@beaver-labs.com> writes: > >> * gnu/packages/tmux.scm (python-daemux): New variable. > > [...] > >> +(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 "58e30331d3cce08655cb5f55e94396568d484f9a"))) > > This upstream looks familiar... Do you think upstream is willing to tag > a 0.1.0 release instead of using a "magic" commit identifier? :-) > Of course :) >> + (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")))))) > > Nice! I guess 'tmux' needs to be a native-input if we don't propagate > it from libtmux. > I'm not sure what you mean. tmux is indeed a propagated input of python-libtmux, which is in turn a propagated input of python-daemux. Do you mean that it should be added explicitly here instead of being implicit ? >> + (propagated-inputs >> + `(("python-libtmux" ,python-libtmux))) >> + (native-inputs >> + `(("python-coverage" ,python-coverage) >> + ("python-sphinx" ,python-sphinx))) >> + (home-page "https://github.com/edouardklein/daemux") >> + (synopsis >> + "Start, stop, restart and check daemons via tmux") > > This line break is unnecessary. > > Otherwise LGTM, thanks! Cool ! Thank you for reviewing.
Edouard Klein <edou@rdklein.fr> writes: >>> + (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")))))) >> >> Nice! I guess 'tmux' needs to be a native-input if we don't propagate >> it from libtmux. >> > > I'm not sure what you mean. tmux is indeed a propagated input of > python-libtmux, which is in turn a propagated input of python-daemux. Do > you mean that it should be added explicitly here instead of being > implicit ? Yes, because in another review I recommended against propagating tmux. The reason is that I (and presumably others) sometimes add custom patches to my local packages. If the vanilla tmux is propagated, I would not be able to use python-daemux with my installed patched tmux. Does that make sense?
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index c4dd963b53..106a6a3f5f 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -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)) @@ -186,6 +187,44 @@ 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 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 "58e30331d3cce08655cb5f55e94396568d484f9a"))) + (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))) + (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")