at 23.11-beta 1.7 kB view raw
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 18}: 19 20buildPythonPackage rec { 21 pname = "zigpy"; 22 version = "0.58.1"; 23 format = "pyproject"; 24 25 disabled = pythonOlder "3.8"; 26 27 src = fetchFromGitHub { 28 owner = "zigpy"; 29 repo = "zigpy"; 30 rev = "refs/tags/${version}"; 31 hash = "sha256-i2P9QyhT/UQ8Xu0IfQ2OzAxIiMF4H04Jkz3/6e2FCpY="; 32 }; 33 34 postPatch = '' 35 substituteInPlace pyproject.toml \ 36 --replace '"setuptools-git-versioning<2"' "" \ 37 --replace 'dynamic = ["version"]' 'version = "${version}"' 38 ''; 39 40 nativeBuildInputs = [ 41 setuptools 42 wheel 43 ]; 44 45 propagatedBuildInputs = [ 46 aiohttp 47 aiosqlite 48 crccheck 49 cryptography 50 pyserial-asyncio 51 pycryptodome 52 voluptuous 53 ]; 54 55 nativeCheckInputs = [ 56 freezegun 57 pytest-asyncio 58 pytest-timeout 59 pytestCheckHook 60 ]; 61 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 ]; 68 69 pythonImportsCheck = [ 70 "zigpy.application" 71 "zigpy.config" 72 "zigpy.exceptions" 73 "zigpy.types" 74 "zigpy.zcl" 75 ]; 76 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 }; 85}