1{
2 lib,
3 stdenv,
4 aiohttp,
5 buildPythonPackage,
6 fetchFromGitHub,
7 poetry-core,
8 pytest-aiohttp,
9 pytest-timeout,
10 pytestCheckHook,
11 pythonOlder,
12}:
13
14buildPythonPackage rec {
15 pname = "motioneye-client";
16 version = "0.3.14";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchFromGitHub {
22 owner = "dermotduffy";
23 repo = pname;
24 rev = "v${version}";
25 hash = "sha256-kgFSd5RjO+OtnPeAOimPTDVEfJ47rXh2Ku5xEYStHv8=";
26 };
27
28 postPatch = ''
29 substituteInPlace pyproject.toml \
30 --replace 'aiohttp = "^3.8.1,!=3.8.2,!=3.8.3"' 'aiohttp = "*"' \
31 --replace " --cov-report=html:htmlcov --cov-report=xml:coverage.xml --cov-report=term-missing --cov=motioneye_client --cov-fail-under=100" ""
32 '';
33
34 nativeBuildInputs = [ poetry-core ];
35
36 propagatedBuildInputs = [ aiohttp ];
37
38 nativeCheckInputs = [
39 pytest-aiohttp
40 pytest-timeout
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [ "motioneye_client" ];
45
46 meta = with lib; {
47 description = "Python library for motionEye";
48 homepage = "https://github.com/dermotduffy/motioneye-client";
49 license = with licenses; [ mit ];
50 maintainers = with maintainers; [ fab ];
51 broken = stdenv.hostPlatform.isDarwin;
52 };
53}