1{ stdenv
2, buildPythonPackage
3, fetchPypi
4, isPy27
5, click
6, click-log
7, click-threading
8, requests_toolbelt
9, requests
10, requests_oauthlib # required for google oauth sync
11, atomicwrites
12, hypothesis
13, pytestCheckHook
14, pytest-localserver
15, pytest-subtesthack
16, setuptools_scm
17}:
18
19buildPythonPackage rec {
20 version = "0.16.8";
21 pname = "vdirsyncer";
22 disabled = isPy27;
23
24 src = fetchPypi {
25 inherit pname version;
26 sha256 = "bfdb422f52e1d4d60bd0635d203fb59fa7f613397d079661eb48e79464ba13c5";
27 };
28
29 propagatedBuildInputs = [
30 click click-log click-threading
31 requests_toolbelt
32 requests
33 requests_oauthlib # required for google oauth sync
34 atomicwrites
35 ];
36
37 nativeBuildInputs = [
38 setuptools_scm
39 ];
40
41 checkInputs = [
42 hypothesis
43 pytestCheckHook
44 pytest-localserver
45 pytest-subtesthack
46 ];
47
48 postPatch = ''
49 substituteInPlace setup.py --replace "click>=5.0,<6.0" "click"
50 '';
51
52 preCheck = ''
53 export DETERMINISTIC_TESTS=true
54 '';
55
56 disabledTests = [ "test_verbosity" ];
57
58 meta = with stdenv.lib; {
59 homepage = "https://github.com/pimutils/vdirsyncer";
60 description = "Synchronize calendars and contacts";
61 license = licenses.mit;
62 maintainers = with maintainers; [ loewenheim ];
63 };
64}