Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, stdenv
3, buildPythonPackage
4, fetchPypi
5, pythonOlder
6
7# build
8, autoPatchelfHook
9
10# runtime
11, openssl_1_1
12
13# propagates
14, aenum
15, coloredlogs
16, construct
17, cryptography
18, dacite
19, ecdsa
20, rich
21, pyyaml
22, ipdb
23, deprecation
24, mobly
25, pygobject3
26}:
27
28buildPythonPackage rec {
29 pname = "home-assistant-chip-core";
30 version = "2023.5.2";
31 format = "wheel";
32
33 disabled = pythonOlder "3.7";
34
35 src = let
36 system = {
37 "aarch64-linux" = {
38 name = "aarch64";
39 hash = "sha256-25TzM5UMkeGJe4NLUWQXeZ8TQvfdd9NAdsRIw870/0s=";
40 };
41 "x86_64-linux" = {
42 name = "x86_64";
43 hash = "sha256-KfQ/Ta+BqOHCrB+6ipaPWKkM7fH/ChtkrvtZdVrNpnI=";
44 };
45 }.${stdenv.system} or (throw "Unsupported system");
46 in fetchPypi {
47 pname = "home_assistant_chip_core";
48 inherit version format;
49 dist = "cp37";
50 python = "cp37";
51 abi = "abi3";
52 platform = "manylinux_2_31_${system.name}";
53 hash = system.hash;
54 };
55
56 nativeBuildInputs = [
57 autoPatchelfHook
58 ];
59
60 buildInputs = [
61 openssl_1_1
62 ];
63
64 propagatedBuildInputs = [
65 aenum
66 coloredlogs
67 construct
68 cryptography
69 dacite
70 ecdsa
71 rich
72 pyyaml
73 ipdb
74 deprecation
75 mobly
76 pygobject3
77 ];
78
79 pythonImportsCheck = [
80 "chip"
81 "chip.ble"
82 # https://github.com/project-chip/connectedhomeip/pull/24376
83 #"chip.configuration"
84 "chip.discovery"
85 "chip.native"
86 "chip.storage"
87 ];
88
89 doCheck = false; # no tests
90
91 meta = with lib; {
92 description = "Python-base APIs and tools for CHIP";
93 homepage = "https://github.com/home-assistant-libs/chip-wheels";
94 changelog = "https://github.com/home-assistant-libs/chip-wheels/releases/tag/${version}";
95 license = licenses.asl20;
96 maintainers = teams.home-assistant.members;
97 platforms = [ "aarch64-linux" "x86_64-linux" ];
98 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
99 };
100}