1{ lib
2, async-timeout
3, bluetooth-adapters
4, btsocket
5, buildPythonPackage
6, fetchFromGitHub
7, poetry-core
8, pyric
9, pytestCheckHook
10, pythonOlder
11, usb-devices
12}:
13
14buildPythonPackage rec {
15 pname = "bluetooth-auto-recovery";
16 version = "1.2.3";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "Bluetooth-Devices";
23 repo = pname;
24 rev = "refs/tags/v${version}";
25 hash = "sha256-1ytiTIAV00Wk2zqZKRAsstVLuyzPEGBISz0g0ssC5Eo=";
26 };
27
28 nativeBuildInputs = [
29 poetry-core
30 ];
31
32 propagatedBuildInputs = [
33 async-timeout
34 bluetooth-adapters
35 btsocket
36 pyric
37 usb-devices
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 ];
43
44 postPatch = ''
45 substituteInPlace pyproject.toml \
46 --replace " --cov=bluetooth_auto_recovery --cov-report=term-missing:skip-covered" ""
47 '';
48
49 pythonImportsCheck = [
50 "bluetooth_auto_recovery"
51 ];
52
53 meta = with lib; {
54 description = "Library for recovering Bluetooth adapters";
55 homepage = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery";
56 changelog = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/blob/v${version}/CHANGELOG.md";
57 license = with licenses; [ mit ];
58 maintainers = with maintainers; [ fab ];
59 };
60}