Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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
17, pytest-asyncio
18, trustme
19, aioresponses
20, vdirsyncer
21, testers
22}:
23
24buildPythonPackage rec {
25 pname = "vdirsyncer";
26 version = "0.19.0";
27 format = "setuptools";
28
29 disabled = pythonOlder "3.7";
30
31 src = fetchPypi {
32 inherit pname version;
33 hash = "sha256:0995bavlv8s9j0127ncq3yzy5p72lam9qgpswyjfanc6l01q87lf";
34 };
35
36 postPatch = ''
37 substituteInPlace setup.py \
38 --replace "click-log>=0.3.0, <0.4.0" "click-log>=0.3.0, <0.5.0"
39
40 sed -i -e '/--cov/d' -e '/--no-cov/d' setup.cfg
41 '';
42
43 propagatedBuildInputs = [
44 atomicwrites
45 click
46 click-log
47 click-threading
48 requests
49 requests-toolbelt
50 aiostream
51 aiohttp
52 ];
53
54 nativeBuildInputs = [
55 setuptools-scm
56 ];
57
58 checkInputs = [
59 hypothesis
60 pytestCheckHook
61 pytest-subtesthack
62 pytest-asyncio
63 trustme
64 aioresponses
65 ];
66
67 preCheck = ''
68 export DETERMINISTIC_TESTS=true
69 '';
70
71 disabledTests = [
72 "test_create_collections" # Flaky test exceeds deadline on hydra: https://github.com/pimutils/vdirsyncer/issues/837
73 "test_request_ssl"
74 "test_verbosity"
75 ];
76
77 passthru.tests.version = testers.testVersion { package = vdirsyncer; };
78
79 meta = with lib; {
80 homepage = "https://github.com/pimutils/vdirsyncer";
81 description = "Synchronize calendars and contacts";
82 license = licenses.mit;
83 maintainers = with maintainers; [ loewenheim ];
84 };
85}