anki-bin: 24.06.3 -> 24.11 (#360722)
[NixPkgs.git] / pkgs / development / python-modules / xdot / default.nix
blob944b9f4619e909e89577e3e94be5d32161cb1603
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,
17 buildPythonPackage rec {
18   pname = "xdot";
19   version = "1.4";
20   pyproject = true;
22   src = fetchFromGitHub {
23     owner = "jrfonseca";
24     repo = "xdot.py";
25     rev = version;
26     hash = "sha256-fkO1bINRkCCzVRrQg9+vIODbN+bpXq2OHBKkzzZUZNA=";
27   };
29   build-system = [ setuptools ];
31   nativeBuildInputs = [
32     gobject-introspection
33     wrapGAppsHook3
34   ];
36   buildInputs = [
37     graphviz
38     gtk3
39   ];
41   dependencies = [
42     pygobject3
43     numpy
44     packaging
45   ];
46   nativeCheckInputs = [ xvfb-run ];
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   '';
55   checkPhase = ''
56     runHook preCheck
58     xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} test.py
60     runHook postCheck
61   '';
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   };