1{ 2 lib, 3 async-interrupt, 4 bleak, 5 bleak-retry-connector, 6 bluetooth-adapters, 7 bluetooth-auto-recovery, 8 bluetooth-data-tools, 9 buildPythonPackage, 10 cython, 11 fetchFromGitHub, 12 poetry-core, 13 pytestCheckHook, 14 pythonOlder, 15 setuptools, 16 wheel, 17}: 18 19buildPythonPackage rec { 20 pname = "habluetooth"; 21 version = "2.8.1"; 22 pyproject = true; 23 24 disabled = pythonOlder "3.10"; 25 26 src = fetchFromGitHub { 27 owner = "Bluetooth-Devices"; 28 repo = "habluetooth"; 29 rev = "refs/tags/v${version}"; 30 hash = "sha256-2QiV32gDaoIBLUv/a3YzosFl6+E/nm0WoSUcTx9ph8s="; 31 }; 32 33 postPatch = '' 34 substituteInPlace pyproject.toml \ 35 --replace-fail " --cov=habluetooth --cov-report=term-missing:skip-covered" "" 36 ''; 37 38 build-system = [ 39 cython 40 poetry-core 41 setuptools 42 wheel 43 ]; 44 45 dependencies = [ 46 async-interrupt 47 bleak 48 bleak-retry-connector 49 bluetooth-adapters 50 bluetooth-auto-recovery 51 bluetooth-data-tools 52 ]; 53 54 nativeCheckInputs = [ pytestCheckHook ]; 55 56 pythonImportsCheck = [ "habluetooth" ]; 57 58 meta = with lib; { 59 description = "Library for high availability Bluetooth"; 60 homepage = "https://github.com/Bluetooth-Devices/habluetooth"; 61 changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/v${version}/CHANGELOG.md"; 62 license = licenses.asl20; 63 maintainers = with maintainers; [ fab ]; 64 }; 65}