1{ lib
2, aiohttp
3, amqtt
4, buildPythonPackage
5, certifi
6, docopt
7, fetchFromGitHub
8, fetchpatch
9, geopy
10, mock
11, pytest-asyncio
12, pytestCheckHook
13, pythonOlder
14, setuptools
15, websockets
16}:
17
18buildPythonPackage rec {
19 pname = "volvooncall";
20 version = "0.10.3";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitHub {
26 owner = "molobrakos";
27 repo = "volvooncall";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-FLrsU3u/0+T09cu2zU2fLjuAy9PWAikgbaW8xBALjwU=";
30 };
31
32 patches = [
33 # Remove asynctest, https://github.com/molobrakos/volvooncall/pull/92
34 (fetchpatch {
35 name = "remove-asnyc.patch";
36 url = "https://github.com/molobrakos/volvooncall/commit/ef0df403250288c00ed4c600e9dfa79dcba8941e.patch";
37 hash = "sha256-U+hM7vzD9JSEUumvjPSLpVQcc8jAuZHG3/1dQ3wnIcA=";
38 })
39 ];
40
41 propagatedBuildInputs = [
42 aiohttp
43 ];
44
45 passthru.optional-dependencies = {
46 console = [
47 certifi
48 docopt
49 geopy
50 ];
51 mqtt = [
52 amqtt
53 certifi
54 ];
55 };
56
57 checkInputs = [
58 mock
59 pytest-asyncio
60 pytestCheckHook
61 ] ++ passthru.optional-dependencies.mqtt;
62
63 pythonImportsCheck = [
64 "volvooncall"
65 ];
66
67 meta = with lib; {
68 description = "Retrieve information from the Volvo On Call web service";
69 homepage = "https://github.com/molobrakos/volvooncall";
70 changelog = "https://github.com/molobrakos/volvooncall/releases/tag/v${version}";
71 license = licenses.unlicense;
72 maintainers = with maintainers; [ dotlambda ];
73 };
74}