summary refs log tree commit diff
path: root/gnu/packages/graphviz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/graphviz.scm')
-rw-r--r--gnu/packages/graphviz.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 569923d4e0..47342b784d 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 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,7 +27,10 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix utils)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages glib)
@@ -35,6 +38,7 @@
   #: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)
@@ -43,6 +47,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages tex)
   #:use-module ((guix licenses) #:prefix license:))
@@ -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")