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