at 23.11-beta 2.2 kB view raw
1{ lib 2, buildPythonPackage 3, aiohttp 4, async-timeout 5, chacha20poly1305-reuseable 6, cryptography 7, deepdiff 8, fetchFromGitHub 9, ifaddr 10, mediafile 11, miniaudio 12, protobuf 13, pydantic 14, pyfakefs 15, pytest-aiohttp 16, pytest-asyncio 17, pytest-httpserver 18, pytest-timeout 19, pytestCheckHook 20, pythonRelaxDepsHook 21, pythonOlder 22, requests 23, setuptools 24, srptools 25, stdenv 26, tabulate 27, zeroconf 28}: 29 30buildPythonPackage rec { 31 pname = "pyatv"; 32 version = "0.14.4"; 33 pyproject = true; 34 35 disabled = pythonOlder "3.8"; 36 37 src = fetchFromGitHub { 38 owner = "postlund"; 39 repo = "pyatv"; 40 rev = "refs/tags/v${version}"; 41 hash = "sha256-w3WOlZFfuCmekUsr8msi2LXTm6j8/Bk49L3MiYF7lOM="; 42 }; 43 44 postPatch = '' 45 substituteInPlace setup.py \ 46 --replace "pytest-runner" "" 47 ''; 48 49 pythonRelaxDeps = [ 50 "aiohttp" 51 "async_timeout" 52 "bitarray" 53 "chacha20poly1305-reuseable" 54 "cryptography" 55 "ifaddr" 56 "mediafile" 57 "miniaudio" 58 "protobuf" 59 "requests" 60 "srptools" 61 "zeroconf" 62 ]; 63 64 nativeBuildInputs = [ 65 pythonRelaxDepsHook 66 setuptools 67 ]; 68 69 propagatedBuildInputs = [ 70 aiohttp 71 async-timeout 72 chacha20poly1305-reuseable 73 cryptography 74 ifaddr 75 mediafile 76 miniaudio 77 protobuf 78 pydantic 79 requests 80 srptools 81 tabulate 82 zeroconf 83 ]; 84 85 nativeCheckInputs = [ 86 deepdiff 87 pyfakefs 88 pytest-aiohttp 89 pytest-asyncio 90 pytest-httpserver 91 pytest-timeout 92 pytestCheckHook 93 ]; 94 95 disabledTests = lib.optionals (stdenv.isDarwin) [ 96 # tests/protocols/raop/test_raop_functional.py::test_stream_retransmission[raop_properties2-2-True] - assert False 97 "test_stream_retransmission" 98 ]; 99 100 disabledTestPaths = [ 101 # Test doesn't work in the sandbox 102 "tests/protocols/companion/test_companion_auth.py" 103 "tests/protocols/mrp/test_mrp_auth.py" 104 ]; 105 106 __darwinAllowLocalNetworking = true; 107 108 pythonImportsCheck = [ 109 "pyatv" 110 ]; 111 112 meta = with lib; { 113 description = "Python client library for the Apple TV"; 114 homepage = "https://github.com/postlund/pyatv"; 115 changelog = "https://github.com/postlund/pyatv/blob/v${version}/CHANGES.md"; 116 license = licenses.mit; 117 maintainers = with maintainers; [ fab ]; 118 }; 119}