at master 1.3 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 python, 6 xvfb-run, 7 wrapGAppsHook3, 8 gobject-introspection, 9 pygobject3, 10 graphviz, 11 gtk3, 12 numpy, 13 packaging, 14 setuptools, 15}: 16 17buildPythonPackage rec { 18 pname = "xdot"; 19 version = "1.4"; 20 pyproject = true; 21 22 src = fetchFromGitHub { 23 owner = "jrfonseca"; 24 repo = "xdot.py"; 25 rev = version; 26 hash = "sha256-fkO1bINRkCCzVRrQg9+vIODbN+bpXq2OHBKkzzZUZNA="; 27 }; 28 29 build-system = [ setuptools ]; 30 31 nativeBuildInputs = [ 32 gobject-introspection 33 wrapGAppsHook3 34 ]; 35 36 buildInputs = [ 37 graphviz 38 gtk3 39 ]; 40 41 dependencies = [ 42 pygobject3 43 numpy 44 packaging 45 ]; 46 nativeCheckInputs = [ xvfb-run ]; 47 48 dontWrapGApps = true; 49 # Arguments to be passed to `makeWrapper`, only used by buildPython* 50 preFixup = '' 51 makeWrapperArgs+=("''${gappsWrapperArgs[@]}") 52 makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ graphviz ]}) 53 ''; 54 55 checkPhase = '' 56 runHook preCheck 57 58 xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} test.py 59 60 runHook postCheck 61 ''; 62 63 meta = with lib; { 64 description = "Interactive viewer for graphs written in Graphviz's dot"; 65 mainProgram = "xdot"; 66 homepage = "https://github.com/jrfonseca/xdot.py"; 67 license = licenses.lgpl3Plus; 68 }; 69}