1{ lib
2, buildPythonPackage
3, base36
4, cryptography
5, curve25519-donna
6, ecdsa
7, ed25519
8, fetchFromGitHub
9, h11
10, pyqrcode
11, pytest-asyncio
12, pytest-timeout
13, pytestCheckHook
14, pythonOlder
15, zeroconf
16}:
17
18buildPythonPackage rec {
19 pname = "HAP-python";
20 version = "3.4.1";
21 disabled = pythonOlder "3.5";
22
23 # pypi package does not include tests
24 src = fetchFromGitHub {
25 owner = "ikalchev";
26 repo = pname;
27 rev = "v${version}";
28 sha256 = "sha256-tZ6Zwlx5J62Xqpxxmt8Phdd9ngtKYhP/p3uor1dRfK8=";
29 };
30
31 propagatedBuildInputs = [
32 base36
33 cryptography
34 curve25519-donna
35 ecdsa
36 ed25519
37 h11
38 pyqrcode
39 zeroconf
40 ];
41
42 checkInputs = [
43 pytest-asyncio
44 pytest-timeout
45 pytestCheckHook
46 ];
47
48 # Disable tests requiring network access
49 disabledTestPaths = [
50 "tests/test_accessory_driver.py"
51 "tests/test_hap_handler.py"
52 "tests/test_hap_protocol.py"
53 ];
54
55 disabledTests = [
56 "test_persist_and_load"
57 "test_we_can_connect"
58 "test_idle_connection_cleanup"
59 "test_we_can_start_stop"
60 "test_push_event"
61 "test_bridge_run_stop"
62 ];
63
64 meta = with lib; {
65 homepage = "https://github.com/ikalchev/HAP-python";
66 description = "HomeKit Accessory Protocol implementation in python";
67 license = licenses.asl20;
68 maintainers = with maintainers; [ oro ];
69 };
70}