1{
2 lib,
3 boost,
4 buildPythonPackage,
5 cmake,
6 cryptography,
7 fetchFromGitHub,
8 git,
9 pc-ble-driver,
10 pythonAtLeast,
11 pythonOlder,
12 scikit-build,
13 setuptools,
14 swig,
15 wrapt,
16}:
17
18buildPythonPackage rec {
19 pname = "pc-ble-driver-py";
20 version = "0.17.0";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "NordicSemiconductor";
27 repo = "pc-ble-driver-py";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-brC33ar2Jq3R2xdrklvVsQKf6pcnKwD25PO4TIvXgTg=";
30 };
31
32 nativeBuildInputs = [
33 cmake
34 swig
35 git
36 setuptools
37 scikit-build
38 ];
39
40 buildInputs = [
41 boost
42 pc-ble-driver
43 ];
44
45 propagatedBuildInputs = [
46 cryptography
47 wrapt
48 ];
49
50 dontUseCmakeConfigure = true;
51
52 # doCheck tries to write to the global python directory to install things
53 doCheck = false;
54
55 pythonImportsCheck = [ "pc_ble_driver_py" ];
56
57 meta = with lib; {
58 description = "Bluetooth Low Energy nRF5 SoftDevice serialization";
59 homepage = "https://github.com/NordicSemiconductor/pc-ble-driver-py";
60 changelog = "https://github.com/NordicSemiconductor/pc-ble-driver-py/releases/tag/v${version}";
61 license = licenses.unfreeRedistributable;
62 maintainers = with maintainers; [ gebner ];
63 platforms = platforms.unix;
64 };
65}