1{
2 ansicolors,
3 attrs,
4 autobahn,
5 buildPythonPackage,
6 fetchFromGitHub,
7 jinja2,
8 lib,
9 mock,
10 openssh,
11 packaging,
12 pexpect,
13 psutil,
14 pyserial,
15 pytestCheckHook,
16 pytest-dependency,
17 pytest-mock,
18 pythonRelaxDepsHook,
19 pyudev,
20 pyusb,
21 pyyaml,
22 requests,
23 setuptools,
24 setuptools-scm,
25 wheel,
26 xmodem,
27}:
28
29buildPythonPackage rec {
30 pname = "labgrid";
31 version = "23.0.5";
32
33 src = fetchFromGitHub {
34 owner = "labgrid-project";
35 repo = "labgrid";
36 rev = "refs/tags/v${version}";
37 hash = "sha256-jrapbSrybuLT3V11rvV342tOr7/sRwBMgAdNWDG5obA=";
38 };
39
40 nativeBuildInputs = [
41 pythonRelaxDepsHook
42 setuptools
43 setuptools-scm
44 wheel
45 ];
46
47 pyproject = true;
48
49 propagatedBuildInputs = [
50 ansicolors
51 attrs
52 autobahn
53 jinja2
54 packaging
55 pexpect
56 pyserial
57 pyudev
58 pyusb
59 pyyaml
60 requests
61 xmodem
62 ];
63
64 pythonRelaxDeps = [
65 "attrs"
66 "autobahn"
67 "jinja2"
68 "packaging"
69 "pexpect"
70 "pytest"
71 "pyudev"
72 "requests"
73 "xmodem"
74 ];
75
76 pythonRemoveDeps = [ "pyserial-labgrid" ];
77
78 nativeCheckInputs = [
79 mock
80 openssh
81 psutil
82 pytestCheckHook
83 pytest-mock
84 pytest-dependency
85 ];
86
87 meta = with lib; {
88 description = "Embedded control & testing library";
89 homepage = "https://labgrid.org";
90 license = licenses.lgpl21Plus;
91 maintainers = with maintainers; [ emantor ];
92 platforms = with platforms; linux;
93 };
94}