at master 1.6 kB view raw
1{ 2 lib, 3 aiohttp, 4 aresponses, 5 awesomeversion, 6 backoff, 7 buildPythonPackage, 8 cachetools, 9 fetchFromGitHub, 10 poetry-core, 11 pytest-asyncio, 12 pytest-cov-stub, 13 pytest-freezegun, 14 pytestCheckHook, 15 pythonOlder, 16 xmltodict, 17 yarl, 18}: 19 20buildPythonPackage rec { 21 pname = "rokuecp"; 22 version = "0.19.5"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.9"; 26 27 src = fetchFromGitHub { 28 owner = "ctalkington"; 29 repo = "python-rokuecp"; 30 tag = version; 31 hash = "sha256-HPJORJQ/LqWCpywiZmwFXKKFRE8V9kG5iDrbzPX2YVg="; 32 }; 33 34 postPatch = '' 35 substituteInPlace pyproject.toml \ 36 --replace-fail 'version = "0.0.0"' 'version = "${version}"' 37 ''; 38 39 build-system = [ poetry-core ]; 40 41 dependencies = [ 42 aiohttp 43 backoff 44 cachetools 45 xmltodict 46 awesomeversion 47 yarl 48 ]; 49 50 nativeCheckInputs = [ 51 aresponses 52 pytest-asyncio 53 pytest-cov-stub 54 pytest-freezegun 55 pytestCheckHook 56 ]; 57 58 disabledTests = [ 59 # Network related tests are having troube in the sandbox 60 "test_resolve_hostname" 61 "test_get_dns_state" 62 # Assertion issue 63 "test_guess_stream_format" 64 "test_update_tv" 65 "test_get_apps_single_app" 66 "test_get_tv_channels_single_channel" 67 ]; 68 69 pythonImportsCheck = [ "rokuecp" ]; 70 71 meta = with lib; { 72 description = "Asynchronous Python client for Roku (ECP)"; 73 homepage = "https://github.com/ctalkington/python-rokuecp"; 74 changelog = "https://github.com/ctalkington/python-rokuecp/releases/tag/${version}"; 75 license = licenses.mit; 76 maintainers = with maintainers; [ fab ]; 77 }; 78}