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