Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / zigpy / default.nix
blob1f6560377ea7fe9053e23b0677c84f487cdd56f6
1 { lib
2 , aiohttp
3 , aiosqlite
4 , buildPythonPackage
5 , crccheck
6 , cryptography
7 , freezegun
8 , fetchFromGitHub
9 , pycryptodome
10 , pyserial-asyncio
11 , pytest-asyncio
12 , pytest-timeout
13 , pytestCheckHook
14 , pythonOlder
15 , setuptools
16 , voluptuous
17 , wheel
20 buildPythonPackage rec {
21   pname = "zigpy";
22   version = "0.58.1";
23   format = "pyproject";
25   disabled = pythonOlder "3.8";
27   src = fetchFromGitHub {
28     owner = "zigpy";
29     repo = "zigpy";
30     rev = "refs/tags/${version}";
31     hash = "sha256-i2P9QyhT/UQ8Xu0IfQ2OzAxIiMF4H04Jkz3/6e2FCpY=";
32   };
34   postPatch = ''
35     substituteInPlace pyproject.toml \
36       --replace '"setuptools-git-versioning<2"' "" \
37       --replace 'dynamic = ["version"]' 'version = "${version}"'
38   '';
40   nativeBuildInputs = [
41     setuptools
42     wheel
43   ];
45   propagatedBuildInputs = [
46     aiohttp
47     aiosqlite
48     crccheck
49     cryptography
50     pyserial-asyncio
51     pycryptodome
52     voluptuous
53   ];
55   nativeCheckInputs = [
56     freezegun
57     pytest-asyncio
58     pytest-timeout
59     pytestCheckHook
60   ];
62   disabledTests = [
63     # # Our two manual scans succeeded and the periodic one was attempted
64     # assert len(mock_scan.mock_calls) == 3
65     # AssertionError: assert 4 == 3
66     "test_periodic_scan_priority"
67   ];
69   pythonImportsCheck = [
70     "zigpy.application"
71     "zigpy.config"
72     "zigpy.exceptions"
73     "zigpy.types"
74     "zigpy.zcl"
75   ];
77   meta = with lib; {
78     description = "Library implementing a ZigBee stack";
79     homepage = "https://github.com/zigpy/zigpy";
80     changelog = "https://github.com/zigpy/zigpy/releases/tag/${version}";
81     license = licenses.gpl3Plus;
82     maintainers = with maintainers; [ mvnetbiz ];
83     platforms = platforms.linux;
84   };