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-benchmark, 9 pytest-cov-stub, 10 pytestCheckHook, 11 pythonOlder, 12 setuptools, 13}: 14 15buildPythonPackage rec { 16 pname = "bluetooth-data-tools"; 17 version = "1.20.0"; 18 pyproject = true; 19 20 disabled = pythonOlder "3.10"; 21 22 src = fetchFromGitHub { 23 owner = "Bluetooth-Devices"; 24 repo = "bluetooth-data-tools"; 25 rev = "refs/tags/v${version}"; 26 hash = "sha256-qg2QZc95DD2uTO0fTwoNaPfL+QSrcqDwJvx41lIZDRs="; 27 }; 28 29 # The project can build both an optimized cython version and an unoptimized 30 # python version. This ensures we fail if we build the wrong one. 31 env.REQUIRE_CYTHON = 1; 32 33 build-system = [ 34 cython 35 poetry-core 36 setuptools 37 ]; 38 39 dependencies = [ cryptography ]; 40 41 nativeCheckInputs = [ 42 pytest-benchmark 43 pytest-cov-stub 44 pytestCheckHook 45 ]; 46 47 pytestFlagsArray = [ "--benchmark-disable" ]; 48 49 pythonImportsCheck = [ "bluetooth_data_tools" ]; 50 51 meta = with lib; { 52 description = "Library for converting bluetooth data and packets"; 53 homepage = "https://github.com/Bluetooth-Devices/bluetooth-data-tools"; 54 changelog = "https://github.com/Bluetooth-Devices/bluetooth-data-tools/blob/v${version}/CHANGELOG.md"; 55 license = licenses.asl20; 56 maintainers = with maintainers; [ fab ]; 57 }; 58}