1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchPypi,
6 substituteAll,
7 xorg,
8
9 # build-system
10 setuptools,
11
12 # tests
13 easyprocess,
14 entrypoint2,
15 pillow,
16 psutil,
17 pytest-xdist,
18 pytestCheckHook,
19 vncdo,
20}:
21
22buildPythonPackage rec {
23 pname = "pyvirtualdisplay";
24 version = "3.0";
25 pyproject = true;
26
27 src = fetchPypi {
28 pname = "PyVirtualDisplay";
29 inherit version;
30 hash = "sha256-CXVbw86263JfsH7KVCX0PyNY078I4A0qm3kqGu3RYVk=";
31 };
32
33 patches = lib.optionals stdenv.hostPlatform.isLinux [
34 (substituteAll {
35 src = ./paths.patch;
36 xauth = lib.getExe xorg.xauth;
37 xdpyinfo = lib.getExe xorg.xdpyinfo;
38 })
39 ];
40
41 build-system = [ setuptools ];
42
43 doCheck = stdenv.hostPlatform.isLinux;
44
45 nativeCheckInputs = [
46 easyprocess
47 entrypoint2
48 pillow
49 psutil
50 pytest-xdist
51 pytestCheckHook
52 (vncdo.overridePythonAttrs { doCheck = false; })
53 xorg.xorgserver
54 xorg.xmessage
55 xorg.xvfb
56 ];
57
58 meta = with lib; {
59 description = "Python wrapper for Xvfb, Xephyr and Xvnc";
60 homepage = "https://github.com/ponty/pyvirtualdisplay";
61 license = licenses.bsdOriginal;
62 maintainers = with maintainers; [ layus ];
63 };
64}