Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, async-timeout 3, buildPythonPackage 4, fetchFromGitHub 5, cryptography 6, ifaddr 7, pytest-asyncio 8, pytestCheckHook 9, pythonOlder 10, setuptools 11}: 12 13buildPythonPackage rec { 14 pname = "xknx"; 15 version = "2.10.0"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchFromGitHub { 21 owner = "XKNX"; 22 repo = pname; 23 rev = "refs/tags/${version}"; 24 hash = "sha256-3eSS3V1EgLRf8lB3icG4pNGq0VbXjfgwEQ91mMRKyAE="; 25 }; 26 27 nativeBuildInputs = [ 28 setuptools 29 ]; 30 31 propagatedBuildInputs = [ 32 async-timeout 33 cryptography 34 ifaddr 35 ]; 36 37 nativeCheckInputs = [ 38 pytest-asyncio 39 pytestCheckHook 40 ]; 41 42 pythonImportsCheck = [ 43 "xknx" 44 ]; 45 46 disabledTests = [ 47 # Test requires network access 48 "test_scan_timeout" 49 "test_start_secure_routing_knx_keys" 50 "test_start_secure_routing_manual" 51 ]; 52 53 meta = with lib; { 54 description = "KNX Library Written in Python"; 55 longDescription = '' 56 XKNX is an asynchronous Python library for reading and writing KNX/IP 57 packets. It provides support for KNX/IP routing and tunneling devices. 58 ''; 59 homepage = "https://github.com/XKNX/xknx"; 60 changelog = "https://github.com/XKNX/xknx/releases/tag/${version}"; 61 license = with licenses; [ mit ]; 62 maintainers = with maintainers; [ fab ]; 63 platforms = platforms.linux; 64 }; 65}