1{ lib 2, buildPythonPackage 3, fetchPypi 4, pythonOlder 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.18.0"; 21 pname = "vdirsyncer"; 22 disabled = pythonOlder "3.7"; 23 24 src = fetchPypi { 25 inherit pname version; 26 sha256 = "sha256-J7w+1R93STX7ujkpFcjI1M9jmuUaRLZ0aGtJoQJfwgE="; 27 }; 28 29 propagatedBuildInputs = [ 30 atomicwrites 31 click 32 click-log 33 click-threading 34 requests 35 requests_oauthlib # required for google oauth sync 36 requests-toolbelt 37 ]; 38 39 nativeBuildInputs = [ 40 setuptools-scm 41 ]; 42 43 checkInputs = [ 44 hypothesis 45 pytestCheckHook 46 pytest-localserver 47 pytest-subtesthack 48 ]; 49 50 postPatch = '' 51 sed -i -e '/--cov/d' -e '/--no-cov/d' setup.cfg 52 ''; 53 54 preCheck = '' 55 export DETERMINISTIC_TESTS=true 56 ''; 57 58 disabledTests = [ 59 "test_create_collections" # Flaky test exceeds deadline on hydra: https://github.com/pimutils/vdirsyncer/issues/837 60 "test_request_ssl" 61 "test_verbosity" 62 ]; 63 64 meta = with lib; { 65 homepage = "https://github.com/pimutils/vdirsyncer"; 66 description = "Synchronize calendars and contacts"; 67 license = licenses.mit; 68 maintainers = with maintainers; [ loewenheim ]; 69 }; 70}