1{ lib 2, buildPythonPackage 3, isPy3k 4, fetchPypi 5, substituteAll 6, graphviz 7, coreutils 8, pkg-config 9, pytest 10}: 11 12buildPythonPackage rec { 13 pname = "pygraphviz"; 14 version = "1.11"; 15 16 disabled = !isPy3k; 17 18 src = fetchPypi { 19 inherit pname version; 20 hash = "sha256-qX61ztJm9FBT67HyxsbSkJFpBQPjpcFL5/kIs3sG8tQ="; 21 extension = "zip"; 22 }; 23 24 patches = [ 25 # pygraphviz depends on graphviz executables and wc being in PATH 26 (substituteAll { 27 src = ./path.patch; 28 path = lib.makeBinPath [ graphviz coreutils ]; 29 }) 30 ]; 31 32 nativeBuildInputs = [ pkg-config ]; 33 34 buildInputs = [ graphviz ]; 35 36 nativeCheckInputs = [ pytest ]; 37 38 checkPhase = '' 39 runHook preCheck 40 pytest --pyargs pygraphviz 41 runHook postCheck 42 ''; 43 44 pythonImportsCheck = [ "pygraphviz" ]; 45 46 meta = with lib; { 47 description = "Python interface to Graphviz graph drawing package"; 48 homepage = "https://github.com/pygraphviz/pygraphviz"; 49 license = licenses.bsd3; 50 maintainers = with maintainers; [ matthiasbeyer dotlambda ]; 51 }; 52}