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