1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 six,
7 setuptools,
8 setuptools-scm,
9 xorg,
10 python,
11 mock,
12 pytestCheckHook,
13 util-linux,
14}:
15
16buildPythonPackage rec {
17 pname = "xlib";
18 version = "0.33";
19 pyproject = true;
20
21 build-system = [ setuptools ];
22
23 src = fetchFromGitHub {
24 owner = "python-xlib";
25 repo = "python-xlib";
26 rev = "refs/tags/${version}";
27 hash = "sha256-u06OWlMIOUzHOVS4hvm72jGgTSXWUqMvEQd8bTpFog0=";
28 };
29
30 nativeBuildInputs = [ setuptools-scm ];
31
32 buildInputs = [ xorg.libX11 ];
33
34 propagatedBuildInputs = [ six ];
35
36 doCheck = !stdenv.isDarwin;
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 mock
41 util-linux
42 xorg.xauth
43 xorg.xvfb
44 ];
45
46 disabledTestPaths = [
47 # requires x session
48 "test/test_xlib_display.py"
49 ];
50
51 meta = with lib; {
52 changelog = "https://github.com/python-xlib/python-xlib/releases/tag/${version}";
53 description = "Fully functional X client library for Python programs";
54 homepage = "https://github.com/python-xlib/python-xlib";
55 license = licenses.lgpl21Plus;
56 maintainers = [ ];
57 };
58}