From 21de751e742685b86a78ff2251bb1fc1692aee4a Mon Sep 17 00:00:00 2001 From: Timo Kaufmann Date: Tue, 4 Dec 2018 11:41:23 +0100 Subject: [PATCH] python.pkgs.pygraphviz: add graphviz path --- .../python-modules/pygraphviz/default.nix | 14 ++++++++++++-- .../python-modules/pygraphviz/graphviz-path.patch | 13 +++++++++++++ pkgs/top-level/python-packages.nix | 4 +++- 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/python-modules/pygraphviz/graphviz-path.patch diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix index 7ba62c4f2eb4..8ca84e9b7c0e 100644 --- a/pkgs/development/python-modules/pygraphviz/default.nix +++ b/pkgs/development/python-modules/pygraphviz/default.nix @@ -13,8 +13,18 @@ buildPythonPackage rec { buildInputs = [ doctest-ignore-unicode mock nose ]; propagatedBuildInputs = [ graphviz pkgconfig ]; - # the tests are currently failing: - # check status of pygraphviz/pygraphviz#129 + patches = [ + # pygraphviz depends on graphviz being in PATH. This patch always prepends + # graphviz to PATH. + ./graphviz-path.patch + ]; + postPatch = '' + substituteInPlace pygraphviz/agraph.py --subst-var-by graphvizPath '${graphviz}/bin' + ''; + + # The tests are currently failing because of a bug in graphviz 2.40.1. + # Upstream does not want to skip the relevant tests: + # https://github.com/pygraphviz/pygraphviz/pull/129 doCheck = false; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/pygraphviz/graphviz-path.patch b/pkgs/development/python-modules/pygraphviz/graphviz-path.patch new file mode 100644 index 000000000000..dde6df967f0d --- /dev/null +++ b/pkgs/development/python-modules/pygraphviz/graphviz-path.patch @@ -0,0 +1,13 @@ +diff --git a/pygraphviz/agraph.py b/pygraphviz/agraph.py +index 8f72024..2d8358e 100644 +--- a/pygraphviz/agraph.py ++++ b/pygraphviz/agraph.py +@@ -1557,7 +1557,7 @@ class AGraph(object): + import os + import glob + +- paths = os.environ["PATH"] ++ paths = '@graphvizPath@:' + os.environ["PATH"] + if os.name == "nt": + exe = ".exe" + else: diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index be0cfdb6ce3c..0e9becdde378 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3033,7 +3033,9 @@ in { graphviz = callPackage ../development/python-modules/graphviz { }; - pygraphviz = callPackage ../development/python-modules/pygraphviz { }; + pygraphviz = callPackage ../development/python-modules/pygraphviz { + graphviz = pkgs.graphviz; # not the python package + }; pymc3 = callPackage ../development/python-modules/pymc3 { };