1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 pytest-asyncio,
7 pytest-cov-stub,
8 pytestCheckHook,
9 pythonOlder,
10}:
11
12buildPythonPackage rec {
13 pname = "aiooui";
14 version = "0.1.9";
15 pyproject = true;
16
17 disabled = pythonOlder "3.9";
18
19 src = fetchFromGitHub {
20 owner = "Bluetooth-Devices";
21 repo = "aiooui";
22 tag = "v${version}";
23 hash = "sha256-tY8/hb3BpxzKM/IB7anfmqGcXK6FmiuoJVxqpFW1Maw=";
24 };
25
26 postPatch = ''
27 # Remove requirements and build part for the OUI data
28 substituteInPlace pyproject.toml \
29 --replace-fail 'script = "build_oui.py"' "" \
30 --replace-fail ", 'requests', 'aiohttp'" "" \
31 --replace-fail '"setuptools>=65.4.1", ' ""
32 '';
33
34 build-system = [ poetry-core ];
35
36 nativeCheckInputs = [
37 pytest-asyncio
38 pytest-cov-stub
39 pytestCheckHook
40 ];
41
42 pythonImportsCheck = [ "aiooui" ];
43
44 meta = with lib; {
45 description = "Async OUI lookups";
46 homepage = "https://github.com/Bluetooth-Devices/aiooui";
47 changelog = "https://github.com/Bluetooth-Devices/aiooui/blob/${src.tag}/CHANGELOG.md";
48 license = licenses.mit;
49 maintainers = with maintainers; [ fab ];
50 };
51}