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