1{ lib
2, async-timeout
3, buildPythonPackage
4, coloredlogs
5, fetchFromGitHub
6, jsonschema
7, pytest-asyncio
8, pytest-mock
9, pytest-rerunfailures
10, pytest-timeout
11, pytestCheckHook
12, pythonOlder
13, voluptuous
14, zigpy
15}:
16
17buildPythonPackage rec {
18 pname = "zigpy-znp";
19 version = "0.11.6";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "zigpy";
26 repo = pname;
27 rev = "refs/tags/v${version}";
28 hash = "sha256-K85AmksP/dXKL4DQKadyvjK7y5x6yEgc6vDJAPfblTw=";
29 };
30
31 postPatch = ''
32 substituteInPlace pyproject.toml \
33 --replace "timeout = 20" "timeout = 300"
34 '';
35
36 propagatedBuildInputs = [
37 async-timeout
38 coloredlogs
39 jsonschema
40 voluptuous
41 zigpy
42 ];
43
44 nativeCheckInputs = [
45 pytest-asyncio
46 pytest-mock
47 pytest-rerunfailures
48 pytest-timeout
49 pytestCheckHook
50 ];
51
52 pytestFlagsArray = [
53 "--reruns=3"
54 ];
55
56 pythonImportsCheck = [
57 "zigpy_znp"
58 ];
59
60 meta = with lib; {
61 description = "Library for zigpy which communicates with TI ZNP radios";
62 homepage = "https://github.com/zigpy/zigpy-znp";
63 changelog = "https://github.com/zigpy/zigpy-znp/releases/tag/v${version}";
64 license = licenses.gpl3Plus;
65 maintainers = with maintainers; [ mvnetbiz ];
66 platforms = platforms.linux;
67 };
68}