X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/f589cbc4dc4119e3501a0c20822e72cf841d08f3..03c3fd62dfdccf23b019a4135ee6eaddf24f32c7:/gnu/packages/graphviz.scm diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index b887da1076..eb3fd1d583 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -7,6 +7,9 @@ ;;; Copyright © 2017 Gábor Boskovits ;;; Copyright © 2018 Mathieu Lirzin ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Vincent Legoll +;;; Copyright © 2020 Pjotr Prins +;;; Copyright © 2021 Bonface Munyoki Kilyungi ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +33,7 @@ #: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) @@ -45,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) @@ -97,7 +103,6 @@ ("gts" ,gts) ("gd" ,gd) ; FIXME: Our GD is too old ("guile" ,guile-2.0) ;Guile bindings - ("swig" ,swig) ("pango" ,pango) ("fontconfig" ,fontconfig) ("freetype" ,freetype) @@ -108,6 +113,7 @@ ("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/") @@ -210,7 +216,7 @@ visualization tool suite.") (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 @@ -239,6 +245,55 @@ 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-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") @@ -315,28 +370,41 @@ structure and layout algorithms.") (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