1{ ansicolors
2, attrs
3, autobahn
4, buildPythonPackage
5, fetchFromGitHub
6, jinja2
7, lib
8, mock
9, packaging
10, pexpect
11, psutil
12, pyserial
13, pytestCheckHook
14, pytest-dependency
15, pytest-mock
16, pyudev
17, pyusb
18, pyyaml
19, requests
20, setuptools-scm
21, xmodem
22}:
23
24buildPythonPackage rec {
25 pname = "labgrid";
26 version = "0.4.1";
27
28 src = fetchFromGitHub {
29 owner = "labgrid-project";
30 repo = "labgrid";
31 rev = "v${version}";
32 sha256 = "0ih04lh1q3dysps4vfmk2rhqqrsimssadsxvbxdsnim2yihrrw47";
33 };
34
35 patches = [
36 # Pyserial within Nixpkgs already includes the necessary fix, remove the
37 # pyserial version check from labgrid.
38 ./0001-serialdriver-remove-pyserial-version-check.patch
39 ];
40
41 nativeBuildInputs = [ setuptools-scm ];
42
43 propagatedBuildInputs = [
44 ansicolors
45 attrs
46 autobahn
47 jinja2
48 packaging
49 pexpect
50 pyserial
51 pyudev
52 pyusb
53 pyyaml
54 requests
55 xmodem
56 ];
57
58 preBuild = ''
59 export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
60 '';
61
62 checkInputs = [
63 mock
64 psutil
65 pytestCheckHook
66 pytest-mock
67 pytest-dependency
68 ];
69
70 meta = with lib; {
71 description = "Embedded control & testing library";
72 homepage = "https://labgrid.org";
73 license = licenses.lgpl21Plus;
74 maintainers = with maintainers; [ emantor ];
75 platforms = with platforms; linux;
76 };
77}