summary refs log tree commit diff
path: root/gnu/packages/patchutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patchutils.scm')
-rw-r--r--gnu/packages/patchutils.scm54
1 files changed, 54 insertions, 0 deletions
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+)))