Subject: [PATCH v2 4/6] gnu: Add python-uqbar.

From: BonfaceKilz <[email-masked]>
Date: Wed, 14 Apr 2021 23:55:00 +0300

* gnu/packages/graphviz.scm (python-uqbar): New variable.

Co-authored-by: jgart <[email-masked]>
---
 gnu/packages/graphviz.scm | 55 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index b5c4774d5c..29e151590e 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
 ;;; Copyright © 2020 Vincent Legoll <[email-masked]>
 ;;; Copyright © 2020 Pjotr Prins <[email-masked]>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,7 +49,9 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tex)
@@ -242,6 +245,58 @@ structure and layout algorithms.")
 (define-public python2-pygraphviz
   (package-with-python2 python-pygraphviz))
 
+(define-public python-uqbar
+  (package
+    (name "python-uqbar")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/josiah-wolf-oberholtzer/uqbar")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0413nyhd8z8v3lvsgaghhafnyxg90fi1q80j1kbl21gpmpnc9a7n"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda _
+             (substitute* "setup.py"
+               ;; Latest versions of sphink-rtd-theme require npm to build.
+               (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
+               (("black == 19.10b0") "black >= 19.10b0"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "python" "-m" "pytest" "tests"))
+             #t)))))
+    (native-inputs
+     `(("graphviz" ,graphviz)
+       ("python-black" ,python-black)
+       ("python-flake8" ,python-flake8)
+       ("python-isort" ,python-isort)
+       ("python-mypy" ,python-mypy)
+       ("python-sphinx" ,python-sphinx)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)))
+    (propagated-inputs
+     `(("python-sphinx-rtd-theme"
+        ,python-sphinx-rtd-theme)
+       ("python-unidecode" ,python-unidecode)))
+    (home-page
+     "https://github.com/josiah-wolf-oberholtzer/uqbar")
+    (synopsis
+     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
+    (description
+     "This package contains tools for building documentation with Sphinx,
+Graphviz and LaTeX")
+    (license license:expat)))
+
 (define-public gts
   (package
     (name "gts")
-- 
2.31.1