Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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}: 14 15buildPythonPackage rec { 16 pname = "xdot"; 17 version = "1.3"; 18 format = "setuptools"; 19 20 src = fetchFromGitHub { 21 owner = "jrfonseca"; 22 repo = "xdot.py"; 23 rev = version; 24 hash = "sha256-0UfvN7z7ThlFu825h03Z5Wur9zbiUpvD5cb5gcIhQQI="; 25 }; 26 27 nativeBuildInputs = [ 28 gobject-introspection 29 wrapGAppsHook3 30 ]; 31 propagatedBuildInputs = [ 32 pygobject3 33 graphviz 34 gtk3 35 numpy 36 ]; 37 nativeCheckInputs = [ xvfb-run ]; 38 39 dontWrapGApps = true; 40 # Arguments to be passed to `makeWrapper`, only used by buildPython* 41 preFixup = '' 42 makeWrapperArgs+=("''${gappsWrapperArgs[@]}") 43 makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ graphviz ]}) 44 ''; 45 46 checkPhase = '' 47 runHook preCheck 48 49 xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} test.py 50 51 runHook postCheck 52 ''; 53 54 doCheck = true; 55 56 meta = with lib; { 57 description = "Interactive viewer for graphs written in Graphviz's dot"; 58 mainProgram = "xdot"; 59 homepage = "https://github.com/jrfonseca/xdot.py"; 60 license = licenses.lgpl3Plus; 61 }; 62}