1{
2 ansicolors,
3 attrs,
4 autobahn,
5 buildPythonPackage,
6 fetchFromGitHub,
7 jinja2,
8 lib,
9 mock,
10 openssh,
11 pexpect,
12 psutil,
13 pyserial,
14 pytestCheckHook,
15 pytest-dependency,
16 pytest-mock,
17 pyudev,
18 pyusb,
19 pyyaml,
20 requests,
21 setuptools,
22 setuptools-scm,
23 xmodem,
24}:
25
26buildPythonPackage rec {
27 pname = "labgrid";
28 version = "24.0.2";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "labgrid-project";
33 repo = "labgrid";
34 tag = "v${version}";
35 hash = "sha256-rW9peT4zoPzVR6Kl/E8G4qBig/x/lvxpCtvNtwIIL+U=";
36 };
37
38 build-system = [
39 setuptools
40 setuptools-scm
41 ];
42
43 dependencies = [
44 ansicolors
45 attrs
46 autobahn
47 jinja2
48 pexpect
49 pyserial
50 pyudev
51 pyusb
52 pyyaml
53 requests
54 xmodem
55 ];
56
57 pythonRemoveDeps = [ "pyserial-labgrid" ];
58
59 pythonImportsCheck = [ "labgrid" ];
60
61 nativeCheckInputs = [
62 mock
63 openssh
64 psutil
65 pytestCheckHook
66 pytest-mock
67 pytest-dependency
68 ];
69
70 disabledtests = [
71 # flaky, timing sensitive
72 "test_timing"
73 ];
74
75 meta = with lib; {
76 description = "Embedded control & testing library";
77 homepage = "https://github.com/labgrid-project/labgrid";
78 license = licenses.lgpl21Plus;
79 maintainers = with maintainers; [ emantor ];
80 platforms = with platforms; linux;
81 };
82}