Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 numpy,
6 pillow,
7 pygments,
8 pyqt5,
9 pyqt6,
10 pyside2,
11 pyside6,
12 pytestCheckHook,
13 setuptools,
14 traits,
15 traitsui,
16 writableTmpDirAsHomeHook,
17 wxpython,
18}:
19
20buildPythonPackage (finalAttrs: {
21 pname = "pyface";
22 version = "8.0.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "enthought";
27 repo = "pyface";
28 tag = finalAttrs.version;
29 hash = "sha256-i97cosaFc5GTv5GJgpx1xc81mir/IWljSrAORUapymM=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 traits
36 ];
37
38 optional-dependencies = {
39 pillow = [ pillow ];
40 pyqt5 = [
41 pygments
42 pyqt5
43 ];
44 pyqt6 = [
45 pygments
46 pyqt6
47 ];
48 pyside2 = [
49 pygments
50 pyside2
51 ];
52 pyside6 = [
53 pygments
54 pyside6
55 ];
56 numpy = [ numpy ];
57 traitsui = [ traitsui ];
58 wx = [
59 wxpython
60 numpy
61 ];
62 };
63
64 nativeCheckInputs = [
65 pytestCheckHook
66 writableTmpDirAsHomeHook
67 ];
68
69 enabledTestPaths = "pyface/tests";
70
71 disabledTestPaths = [
72 # tests need an X server
73 "pyface/tests/test_beep.py"
74 "pyface/tests/test_clipboard.py"
75 "pyface/tests/test_font.py"
76 "pyface/tests/test_image_cache.py"
77 "pyface/tests/test_image_resource.py"
78 "pyface/tests/test_system_metrics.py"
79 "pyface/tests/test_widget.py"
80 ];
81
82 pythonImportsCheck = [ "pyface" ];
83
84 meta = {
85 description = "Traits-capable windowing framework";
86 homepage = "https://github.com/enthought/pyface";
87 changelog = "https://github.com/enthought/pyface/releases/tag/${finalAttrs.src.tag}";
88 maintainers = [ ];
89 license = lib.licenses.bsdOriginal;
90 };
91})