1{
2 lib,
3 async-timeout,
4 bluetooth-adapters,
5 btsocket,
6 buildPythonPackage,
7 fetchFromGitHub,
8 poetry-core,
9 pyric,
10 pytest-asyncio,
11 pytest-cov-stub,
12 pytestCheckHook,
13 pythonOlder,
14 usb-devices,
15}:
16
17buildPythonPackage rec {
18 pname = "bluetooth-auto-recovery";
19 version = "1.5.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.9";
23
24 src = fetchFromGitHub {
25 owner = "Bluetooth-Devices";
26 repo = "bluetooth-auto-recovery";
27 tag = "v${version}";
28 hash = "sha256-9FwQNauWnWQ7BQoKMwYEEc96/iP6iH9SfvHxlZtePOQ=";
29 };
30
31 build-system = [ poetry-core ];
32
33 dependencies = [
34 async-timeout
35 bluetooth-adapters
36 btsocket
37 pyric
38 usb-devices
39 ];
40
41 nativeCheckInputs = [
42 pytest-asyncio
43 pytest-cov-stub
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "bluetooth_auto_recovery" ];
48
49 meta = with lib; {
50 description = "Library for recovering Bluetooth adapters";
51 homepage = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery";
52 changelog = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/blob/v${version}/CHANGELOG.md";
53 license = with licenses; [ mit ];
54 maintainers = with maintainers; [ fab ];
55 };
56}