depot/third_party/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
Default email 02cf88bb76 Project import generated by Copybara.
GitOrigin-RevId: c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d
2022-08-12 15:06:08 +03:00

75 lines
1.5 KiB
Nix

{ lib
, buildPythonPackage
, base36
, chacha20poly1305-reuseable
, cryptography
, fetchFromGitHub
, h11
, orjson
, pyqrcode
, pytest-asyncio
, pytest-timeout
, pytestCheckHook
, pythonOlder
, zeroconf
}:
buildPythonPackage rec {
pname = "hap-python";
version = "4.5.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "ikalchev";
repo = "HAP-python";
rev = "refs/tags/v${version}";
sha256 = "sha256-/XJvCL9hMIrOUwGPcrvSrJ6SZ/E6BQy+isFFlAniIM4=";
};
propagatedBuildInputs = [
chacha20poly1305-reuseable
cryptography
h11
orjson
zeroconf
];
passthru.optional-dependencies.QRCode = [
base36
pyqrcode
];
checkInputs = [
pytest-asyncio
pytest-timeout
pytestCheckHook
]
++ passthru.optional-dependencies.QRCode;
disabledTestPaths = [
# Disable tests requiring network access
"tests/test_accessory_driver.py"
"tests/test_hap_handler.py"
"tests/test_hap_protocol.py"
];
disabledTests = [
"test_persist_and_load"
"test_we_can_connect"
"test_idle_connection_cleanup"
"test_we_can_start_stop"
"test_push_event"
"test_bridge_run_stop"
"test_migration_to_include_client_properties"
];
pythonImportsCheck = [ "pyhap" ];
meta = with lib; {
homepage = "https://github.com/ikalchev/HAP-python";
description = "HomeKit Accessory Protocol implementation in python";
license = licenses.asl20;
maintainers = with maintainers; [ oro ];
};
}