python.pkgs.pydot: hardcode path to graphviz's bin/

This commit is contained in:
Robert Schütz 2018-12-19 15:41:10 +01:00
parent 2357d57e94
commit d034fb8478
3 changed files with 41 additions and 5 deletions

View File

@ -1,9 +1,11 @@
{ lib
, buildPythonPackage
, fetchPypi
, substituteAll
, graphviz
, python
, chardet
, pyparsing
, graphviz
}:
buildPythonPackage rec {
@ -14,10 +16,29 @@ buildPythonPackage rec {
inherit pname version;
sha256 = "02yp2k7p1kh0azwd932jhvfc3nxxdv9dimh7hdgwdnmp05yms6cq";
};
patches = [
(substituteAll {
src = ./hardcode-graphviz-path.patch;
inherit graphviz;
})
];
postPatch = ''
# test_graphviz_regression_tests also fails upstream: https://github.com/pydot/pydot/pull/198
substituteInPlace test/pydot_unittest.py \
--replace "test_graphviz_regression_tests" "no_test_graphviz_regression_tests"
'';
propagatedBuildInputs = [ pyparsing ];
checkInputs = [ chardet ];
# No tests in archive
doCheck = false;
propagatedBuildInputs = [pyparsing graphviz];
checkPhase = ''
cd test
${python.interpreter} pydot_unittest.py
'';
meta = {
homepage = https://github.com/erocarrera/pydot;
description = "Allows to easily create both directed and non directed graphs from Python";

View File

@ -0,0 +1,13 @@
diff --git a/pydot.py b/pydot.py
index 3c7da4d..582c5bc 100644
--- a/pydot.py
+++ b/pydot.py
@@ -124,7 +124,7 @@ def call_graphviz(program, arguments, working_dir, **kwargs):
'LD_LIBRARY_PATH': os.environ.get('LD_LIBRARY_PATH', ''),
}
- program_with_args = [program, ] + arguments
+ program_with_args = ['@graphviz@/bin/' + program, ] + arguments
process = subprocess.Popen(
program_with_args,

View File

@ -3514,7 +3514,9 @@ in {
pydispatcher = callPackage ../development/python-modules/pydispatcher { };
pydot = callPackage ../development/python-modules/pydot { };
pydot = callPackage ../development/python-modules/pydot {
inherit (pkgs) graphviz;
};
pydot_ng = callPackage ../development/python-modules/pydot_ng { };