diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix index e9b66a95771b..bac70be9987f 100644 --- a/pkgs/development/python-modules/pygraphviz/default.nix +++ b/pkgs/development/python-modules/pygraphviz/default.nix @@ -1,40 +1,48 @@ -{ lib, buildPythonPackage, isPy3k, fetchPypi, substituteAll, graphviz -, pkg-config, doctest-ignore-unicode, mock, nose }: +{ lib +, buildPythonPackage +, isPy3k +, fetchPypi +, substituteAll +, graphviz +, coreutils +, pkg-config +, pytest +}: buildPythonPackage rec { pname = "pygraphviz"; - version = "1.6"; + version = "1.7"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "411ae84a5bc313e3e1523a1cace59159f512336318a510573b47f824edef8860"; + sha256 = "a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304"; extension = "zip"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ graphviz ]; - checkInputs = [ doctest-ignore-unicode mock nose ]; - patches = [ - # pygraphviz depends on graphviz being in PATH. This patch always prepends - # graphviz to PATH. + # pygraphviz depends on graphviz executables and wc being in PATH (substituteAll { - src = ./graphviz-path.patch; - inherit graphviz; + src = ./path.patch; + path = lib.makeBinPath [ graphviz coreutils ]; }) ]; - # 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; + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ graphviz ]; + + checkInputs = [ pytest ]; + + checkPhase = '' + pytest --pyargs pygraphviz + ''; meta = with lib; { description = "Python interface to Graphviz graph drawing package"; homepage = "https://github.com/pygraphviz/pygraphviz"; license = licenses.bsd3; - maintainers = with maintainers; [ matthiasbeyer ]; + maintainers = with maintainers; [ matthiasbeyer dotlambda ]; }; } diff --git a/pkgs/development/python-modules/pygraphviz/graphviz-path.patch b/pkgs/development/python-modules/pygraphviz/graphviz-path.patch deleted file mode 100644 index e4ff925009d7..000000000000 --- a/pkgs/development/python-modules/pygraphviz/graphviz-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 = '@graphviz@/bin:' + os.environ["PATH"] - if os.name == "nt": - exe = ".exe" - else: diff --git a/pkgs/development/python-modules/pygraphviz/path.patch b/pkgs/development/python-modules/pygraphviz/path.patch new file mode 100644 index 000000000000..a895eae77567 --- /dev/null +++ b/pkgs/development/python-modules/pygraphviz/path.patch @@ -0,0 +1,13 @@ +diff --git a/pygraphviz/agraph.py b/pygraphviz/agraph.py +index d539ba0..f5bac3f 100644 +--- a/pygraphviz/agraph.py ++++ b/pygraphviz/agraph.py +@@ -1792,7 +1792,7 @@ class AGraph: + if platform.system() == "Windows": + name += ".exe" + +- paths = os.environ["PATH"] ++ paths = '@path@' + for path in paths.split(os.pathsep): + match = glob.glob(os.path.join(path, name)) + if match: