Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / xdot / default.nix
blobf0bfe71fcbb02e4305849b8be8fae218013b6851
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , python
5 , xvfb-run
6 , wrapGAppsHook
7 , gobject-introspection
8 , pygobject3
9 , graphviz
10 , gtk3
11 , numpy
14 buildPythonPackage rec {
15   pname = "xdot";
16   version = "1.3";
17   format = "setuptools";
19   src = fetchFromGitHub {
20     owner = "jrfonseca";
21     repo = "xdot.py";
22     rev = version;
23     hash = "sha256-0UfvN7z7ThlFu825h03Z5Wur9zbiUpvD5cb5gcIhQQI=";
24   };
26   nativeBuildInputs = [
27     gobject-introspection
28     wrapGAppsHook
29   ];
30   propagatedBuildInputs = [
31     pygobject3
32     graphviz
33     gtk3
34     numpy
35   ];
36   nativeCheckInputs = [
37     xvfb-run
38   ];
40   dontWrapGApps = true;
41   # Arguments to be passed to `makeWrapper`, only used by buildPython*
42   preFixup = ''
43     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
44     makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ graphviz ]})
45   '';
47   checkPhase = ''
48     runHook preCheck
50     xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} test.py
52     runHook postCheck
53   '';
55   doCheck = true;
57   meta = with lib; {
58     description = "An interactive viewer for graphs written in Graphviz's dot";
59     mainProgram = "xdot";
60     homepage = "https://github.com/jrfonseca/xdot.py";
61     license = licenses.lgpl3Plus;
62   };