aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/graphviz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/graphviz.scm')
-rw-r--r--gnu/packages/graphviz.scm109
1 files changed, 96 insertions, 13 deletions
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 569923d4e0..fe364c0d39 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
@@ -27,24 +27,29 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
- #:use-module (gnu packages xorg)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages xml)
+ #:use-module (guix git-download)
+ #:use-module (guix utils)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gd)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
- #:use-module (gnu packages bison)
#:use-module (gnu packages image)
- #:use-module (gnu packages autotools)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages glib)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages gd)
- #:use-module (gnu packages swig)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages swig)
+ #:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:))
(define-public graphviz
@@ -114,6 +119,50 @@ software engineering, database and web design, machine learning, and in visual
interfaces for other technical domains.")
(license license:epl1.0)))
+;; Older Graphviz needed for pygraphviz. See
+;; https://github.com/pygraphviz/pygraphviz/issues/175
+(define-public graphviz-2.38
+ ;; This commit corresponds to the changelog change for version 2.38.0.
+ ;; There are no tags.
+ (let ((commit "f54ac2c9313ae80ccf76ef4ac6aa9be820a23126")
+ (revision "1"))
+ (package (inherit graphviz)
+ (name "graphviz")
+ (version (git-version "2.38.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/graphviz/graphviz.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vjg308gflmi1khgjmcj431cnkrlv12bg4cqah39mwhny92jy92x"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments graphviz)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'prepare-bootstrap
+ (lambda _
+ (substitute* "autogen.sh"
+ (("/bin/sh") (which "sh"))
+ (("\\$GRAPHVIZ_VERSION_DATE") "0"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (setenv "SHELL" (which "sh"))
+
+ (map make-file-writable (find-files "." ".*"))
+ #t))
+ (replace 'bootstrap
+ (lambda _ (invoke (which "sh") "autogen.sh" "NOCONFIG") #t))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("flex" ,flex)
+ ("perl" ,perl)
+ ("tcl" ,tcl)
+ ,@(package-native-inputs graphviz))))))
+
(define-public python-graphviz
(package
(name "python-graphviz")
@@ -137,6 +186,40 @@ visualization tool suite.")
(define-public python2-graphviz
(package-with-python2 python-graphviz))
+(define-public python-pygraphviz
+ (package
+ (name "python-pygraphviz")
+ (version "1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pygraphviz/pygraphviz.git")
+ (commit (string-append "pygraphviz-" version))))
+ (file-name (string-append "pygraphviz-" version "-checkout"))
+ (sha256
+ (base32
+ "1yldym38m8ckgflln83i88143pd9fjj1vfp23sq39fs6np5g0nzp"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:configure-flags
+ (let ((graphviz (assoc-ref %build-inputs "graphviz")))
+ (list (string-append "--include-path=" graphviz "/include")
+ (string-append "--library-path=" graphviz "/lib")))))
+ (inputs
+ `(("graphviz" ,graphviz-2.38)))
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-mock" ,python-mock)
+ ("python-doctest-ignore-unicode" ,python-doctest-ignore-unicode)))
+ (home-page "http://pygraphviz.github.io")
+ (synopsis "Python interface to Graphviz")
+ (description "PyGraphviz is a Python interface to the Graphviz graph
+layout and visualization package. With PyGraphviz you can create, edit, read,
+write, and draw graphs using Python to access the Graphviz graph data
+structure and layout algorithms.")
+ (license license:bsd-3)))
+
(define-public gts
(package
(name "gts")