;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#: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)
("gts" ,gts)
("gd" ,gd) ; FIXME: Our GD is too old
("guile" ,guile-2.0) ;Guile bindings
- ("swig" ,swig)
("pango" ,pango)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libpng" ,libpng)))
(native-inputs
`(("bison" ,bison)
+ ("swig" ,swig)
("pkg-config" ,pkg-config)))
(outputs '("out" "doc")) ; 5 MiB of html + pdfs
(home-page "http://www.graphviz.org/")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/pygraphviz/pygraphviz.git")
+ (url "https://github.com/pygraphviz/pygraphviz")
(commit (string-append "pygraphviz-" version))))
(file-name (string-append "pygraphviz-" version "-checkout"))
(sha256
(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-flake8" ,python-flake8)
+ ("python-isort" ,python-isort)
+ ("python-mypy" ,python-mypy)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (propagated-inputs
+ `(("python-black" ,python-black)
+ ("python-sphinx" ,python-sphinx)
+ ("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")
(synopsis "Interactive viewer for graphviz dot files")
(description "Xdot is an interactive viewer for graphs written in
@code{graphviz}’s dot language. Internally, it uses the xdot output format as
-an intermediate format,and @code{gtk} and @code{cairo} for rendering. Xdot can
-be used either as a standalone application, or as a python library.")
+an intermediate format, and @code{gtk} and @code{cairo} for rendering. Xdot
+can be used either as a standalone application, or as a Python library.")
(license license:lgpl3+)))
(define-public python-pydot
(package
(name "python-pydot")
- (version "1.2.4")
+ (version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydot" version))
(sha256
(base32
- "1dhy4jpp646jslh2yks6klwwbaxcs905byyny880gl1iap8y5llj"))))
+ "00az4cbf8bv447lkk9xi6pjm7gcc7ia33y4pm71fwfwis56rv76l"))
+ (patches (search-patches "python-pydot-regression-test.patch"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ ;; Taken from .travis.yaml
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (with-directory-excursion "test"
+ (invoke "python" "pydot_unittest.py")))
+ #t)))))
(native-inputs
;; For tests.
- `(("python-chardet" ,python-chardet)))
+ `(("graphviz" ,graphviz)
+ ("python-chardet" ,python-chardet)))
(propagated-inputs
`(("python-pyparsing" ,python-pyparsing)))
- (home-page "https://github.com/erocarrera/pydot")
+ (home-page "https://github.com/pydot/pydot")
(synopsis "Python interface to Graphviz's DOT language")
(description
"Pydot provides an interface to create, handle, modify and process