From f6839fed5f2052fd257b4af73effb10dcd9bf35b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 27 Oct 2020 09:45:34 +0000 Subject: [PATCH] gnu: Add pwclient. * gnu/packages/patchutils.scm (pwclient): New variable. --- gnu/packages/patchutils.scm | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 12dd472c68..da0f13a01e 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -468,3 +468,57 @@ patches, and displays the patches along with comments and state information. Users can login allowing them to change the state of patches.") (home-page "http://jk.ozlabs.org/projects/patchwork/") (license gpl2+))) + +(define-public pwclient + (package + (name "pwclient") + (version "1.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/getpatchwork/pwclient") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xckwvcqklzpyh3xs4k2zm40ifp0q5fdkj2vmgb8vhfvl1ivs6jv")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-requirements + (lambda _ + (substitute* "test-requirements.txt" + ;; The pytest requirement is unnecessarily strict + (("pytest>=3.0,<5.0;") + "pytest>=3.0,<6.0;")) + #t)) + (add-before 'build 'set-PBR_VERSION + (lambda _ + (setenv "PBR_VERSION" + ,version) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest")) + #t)) + (add-after 'install 'install-man-page + (lambda* (#:key outputs #:allow-other-keys) + (install-file "man/pwclient.1" + (string-append + (assoc-ref outputs "out") + "/share/man/man1")) + #t))))) + (native-inputs + `(("python-pbr" ,python-pbr) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-mock" ,python-mock))) + (home-page + "https://github.com/getpatchwork/pwclient") + (synopsis "Command-line client for the Patchwork patch tracking tool") + (description + "pwclient is a VCS-agnostic tool for interacting with Patchwork, the +web-based patch tracking system.") + (license gpl2+)))