1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
{
ansicolors,
attrs,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
grpcio,
grpcio-tools,
grpcio-reflection,
jinja2,
lib,
mock,
openssh,
pexpect,
psutil,
pyserial,
pytestCheckHook,
pytest-benchmark,
pytest-dependency,
pytest-mock,
pyudev,
pyusb,
pyyaml,
requests,
setuptools,
setuptools-scm,
xmodem,
}:
buildPythonPackage rec {
pname = "labgrid";
version = "25.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "labgrid-project";
repo = "labgrid";
tag = "v${version}";
hash = "sha256-cLofkkp2T6Y9nQ5LIS7w9URZlt8DQNN8dm3NnrvcKWY=";
};
# Remove after package bump
patches = [
(fetchpatch {
url = "https://github.com/Emantor/labgrid/commit/4a66b43882811d50600e37aa39b24ec40398d184.patch";
sha256 = "sha256-eJMB1qFWiDzQXEB4dYOHYMQqCPHXEWCwWjNNY0yTC2s=";
})
(fetchpatch {
url = "https://github.com/Emantor/labgrid/commit/d9933b3ec444c35d98fd41685481ecae8ff28bf4.patch";
sha256 = "sha256-Zx5j+CD6Q89dLmTl5QSKI9M1IcZ97OCjEWtEbG+CKWE=";
})
(fetchpatch {
url = "https://github.com/Emantor/labgrid/commit/f0b672afe1e8976c257f0adff9bf6e7ee9760d6f.patch";
sha256 = "sha256-M7rg+W9SjWDdViWyWe3ERzbUowxzf09c4w1yG3jQGak=";
})
];
build-system = [
setuptools
setuptools-scm
];
dependencies = [
ansicolors
attrs
jinja2
grpcio
grpcio-tools
grpcio-reflection
pexpect
pyserial
pyudev
pyusb
pyyaml
requests
xmodem
];
pythonRemoveDeps = [ "pyserial-labgrid" ];
pythonImportsCheck = [ "labgrid" ];
nativeCheckInputs = [
mock
openssh
psutil
pytestCheckHook
pytest-benchmark
pytest-mock
pytest-dependency
];
disabledTests = [
# flaky, timing sensitive
"test_timing"
# flaky, depends on ssh connection
"test_argument_device_expansion"
"test_argument_file_expansion"
"test_local_managedfile"
];
pytestFlags = [ "--benchmark-disable" ];
meta = {
description = "Embedded control & testing library";
homepage = "https://github.com/labgrid-project/labgrid";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [ emantor ];
platforms = with lib.platforms; linux;
};
}
|