1{ lib
2, buildPythonPackage
3, bx-py-utils
4, colorlog
5, fetchFromGitHub
6, fetchPypi
7, importlib-resources
8, jaraco-classes
9, jaraco-collections
10, jaraco-itertools
11, jaraco-context
12, jaraco-net
13, keyring
14, lomond
15, more-itertools
16, platformdirs
17, pytestCheckHook
18, pythonOlder
19, requests
20, requests-mock
21, requests-toolbelt
22, setuptools
23, setuptools-scm
24}:
25
26buildPythonPackage rec {
27 pname = "jaraco-abode";
28 version = "5.1.0";
29 format = "pyproject";
30
31 disabled = pythonOlder "3.7";
32
33 src = fetchFromGitHub {
34 owner = "jaraco";
35 repo = "jaraco.abode";
36 rev = "refs/tags/v${version}";
37 hash = "sha256-guLgmhjFgYLRZsQ0j92NXkktZ80bwVvMUJLZeg3dgxE=";
38 };
39
40 postPatch = ''
41 # https://github.com/jaraco/jaraco.abode/issues/19
42 echo "graft jaraco" > MANIFEST.in
43 '';
44
45 nativeBuildInputs = [
46 setuptools
47 setuptools-scm
48 ];
49
50 SETUPTOOLS_SCM_PRETEND_VERSION = version;
51
52 propagatedBuildInputs = [
53 requests
54 lomond
55 colorlog
56 keyring
57 requests-toolbelt
58 jaraco-collections
59 jaraco-context
60 jaraco-classes
61 jaraco-net
62 more-itertools
63 importlib-resources
64 bx-py-utils
65 platformdirs
66 jaraco-itertools
67 ];
68
69 nativeCheckInputs = [
70 pytestCheckHook
71 requests-mock
72 ];
73
74 pythonImportsCheck = [
75 "jaraco.abode"
76 ];
77
78 preCheck = ''
79 export HOME=$TEMP
80 '';
81
82 disabledTests = [
83 "_cookie_string"
84 "test_cookies"
85 "test_empty_cookies"
86 "test_invalid_cookies"
87 # Issue with the regex
88 "test_camera_capture_no_control_URLs"
89 ];
90
91 meta = with lib; {
92 changelog = "https://github.com/jaraco/jaraco.abode/blob/${version}/CHANGES.rst";
93 homepage = "https://github.com/jaraco/jaraco.abode";
94 description = "Library interfacing to the Abode home security system";
95 license = licenses.mit;
96 maintainers = with maintainers; [ jamiemagee dotlambda ];
97 };
98}