1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5, click
6, click-log
7, click-threading
8, requests-toolbelt
9, requests
10, atomicwrites
11, hypothesis
12, pytestCheckHook
13, pytest-subtesthack
14, setuptools-scm
15, aiostream
16, aiohttp-oauthlib
17, aiohttp
18, pytest-asyncio
19, trustme
20, aioresponses
21, vdirsyncer
22, testers
23}:
24
25buildPythonPackage rec {
26 pname = "vdirsyncer";
27 version = "0.19.1";
28 format = "pyproject";
29
30 disabled = pythonOlder "3.7";
31
32 src = fetchPypi {
33 inherit pname version;
34 hash = "sha256-qnbHclqlpxH2N0vFzYO+eKrmjHSCljWp7Qc81MCfA64=";
35 };
36
37 postPatch = ''
38 sed -i -e '/--cov/d' -e '/--no-cov/d' pyproject.toml
39 '';
40
41 propagatedBuildInputs = [
42 atomicwrites
43 click
44 click-log
45 click-threading
46 requests
47 requests-toolbelt
48 aiostream
49 aiohttp
50 aiohttp-oauthlib
51 ];
52
53 nativeCheckInputs = [
54 hypothesis
55 pytestCheckHook
56 pytest-subtesthack
57 pytest-asyncio
58 trustme
59 aioresponses
60 ];
61
62 preCheck = ''
63 export DETERMINISTIC_TESTS=true
64 '';
65
66 disabledTests = [
67 "test_create_collections" # Flaky test exceeds deadline on hydra: https://github.com/pimutils/vdirsyncer/issues/837
68 "test_request_ssl"
69 "test_verbosity"
70 ];
71
72 passthru.tests.version = testers.testVersion { package = vdirsyncer; };
73
74 meta = with lib; {
75 homepage = "https://github.com/pimutils/vdirsyncer";
76 description = "Synchronize calendars and contacts";
77 license = licenses.mit;
78 maintainers = with maintainers; [ loewenheim ];
79 };
80}