at 23.11-beta 1.6 kB view raw
1{ lib 2, async-timeout 3, buildPythonPackage 4, fetchFromGitHub 5, fetchpatch 6, cryptography 7, ifaddr 8, pytest-asyncio 9, pytestCheckHook 10, pythonOlder 11, setuptools 12, wheel 13}: 14 15buildPythonPackage rec { 16 pname = "xknx"; 17 version = "2.11.2"; 18 format = "pyproject"; 19 20 disabled = pythonOlder "3.8"; 21 22 src = fetchFromGitHub { 23 owner = "XKNX"; 24 repo = pname; 25 rev = "refs/tags/${version}"; 26 hash = "sha256-rKvHb0wkWVuZO8M8uIQdOiY1N6DmGSpqUgz4YYbUfSM="; 27 }; 28 29 patches = [ 30 (fetchpatch { 31 name = "unpin-setuptools.patch"; 32 url = "https://github.com/XKNX/xknx/commit/c0826aec52ab69b8bd81f600bea154fae16f334e.patch"; 33 hash = "sha256-EpfgEq4pIx7ahqJZalzo30ruj8NlZYHcKHxFXCGL98w="; 34 }) 35 ]; 36 37 nativeBuildInputs = [ 38 setuptools 39 wheel 40 ]; 41 42 propagatedBuildInputs = [ 43 async-timeout 44 cryptography 45 ifaddr 46 ]; 47 48 nativeCheckInputs = [ 49 pytest-asyncio 50 pytestCheckHook 51 ]; 52 53 pythonImportsCheck = [ 54 "xknx" 55 ]; 56 57 disabledTests = [ 58 # Test requires network access 59 "test_scan_timeout" 60 "test_start_secure_routing_knx_keys" 61 "test_start_secure_routing_manual" 62 ]; 63 64 meta = with lib; { 65 description = "KNX Library Written in Python"; 66 longDescription = '' 67 XKNX is an asynchronous Python library for reading and writing KNX/IP 68 packets. It provides support for KNX/IP routing and tunneling devices. 69 ''; 70 homepage = "https://github.com/XKNX/xknx"; 71 changelog = "https://github.com/XKNX/xknx/releases/tag/${version}"; 72 license = with licenses; [ mit ]; 73 maintainers = with maintainers; [ fab ]; 74 platforms = platforms.linux; 75 }; 76}