Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 cryptography,
6 cython,
7 poetry-core,
8 pytest-codspeed,
9 pytest-cov-stub,
10 pytestCheckHook,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "bluetooth-data-tools";
16 version = "1.28.4";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "Bluetooth-Devices";
21 repo = "bluetooth-data-tools";
22 tag = "v${version}";
23 hash = "sha256-IAGlM1B/PAPyaBIfHG3RScn8odboZMg3YmQJSfoyKR4=";
24 };
25
26 # The project can build both an optimized cython version and an unoptimized
27 # python version. This ensures we fail if we build the wrong one.
28 env.REQUIRE_CYTHON = 1;
29
30 build-system = [
31 cython
32 poetry-core
33 setuptools
34 ];
35
36 dependencies = [ cryptography ];
37
38 nativeCheckInputs = [
39 pytest-codspeed
40 pytest-cov-stub
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [ "bluetooth_data_tools" ];
45
46 meta = {
47 description = "Library for converting bluetooth data and packets";
48 homepage = "https://github.com/Bluetooth-Devices/bluetooth-data-tools";
49 changelog = "https://github.com/Bluetooth-Devices/bluetooth-data-tools/blob/${src.tag}/CHANGELOG.md";
50 license = lib.licenses.asl20;
51 maintainers = with lib.maintainers; [ fab ];
52 };
53}