nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, buildPythonPackage
3, fetchPypi
4, fetchpatch
5, isPy27
6, click
7, click-log
8, click-threading
9, requests_toolbelt
10, requests
11, requests_oauthlib # required for google oauth sync
12, atomicwrites
13, hypothesis
14, pytestCheckHook
15, pytest-localserver
16, pytest-subtesthack
17, setuptools_scm
18}:
19
20buildPythonPackage rec {
21 version = "0.16.8";
22 pname = "vdirsyncer";
23 disabled = isPy27;
24
25 src = fetchPypi {
26 inherit pname version;
27 sha256 = "bfdb422f52e1d4d60bd0635d203fb59fa7f613397d079661eb48e79464ba13c5";
28 };
29
30 propagatedBuildInputs = [
31 click click-log click-threading
32 requests_toolbelt
33 requests
34 requests_oauthlib # required for google oauth sync
35 atomicwrites
36 ];
37
38 nativeBuildInputs = [
39 setuptools_scm
40 ];
41
42 checkInputs = [
43 hypothesis
44 pytestCheckHook
45 pytest-localserver
46 pytest-subtesthack
47 ];
48
49 patches = [
50 (fetchpatch {
51 name = "update-usage-deprecated-method.patch";
52 url = "https://github.com/pimutils/vdirsyncer/commit/7577fa21177442aacc2d86640ef28cebf1c4aaef.patch";
53 sha256 = "0inkr1wfal20kssij8l5myhpjivxg8wlvhppqc3lvml9d1i75qbh";
54 })
55 ];
56
57 postPatch = ''
58 substituteInPlace setup.py --replace "click>=5.0,<6.0" "click"
59 '';
60
61 preCheck = ''
62 export DETERMINISTIC_TESTS=true
63 '';
64
65 disabledTests = [
66 "test_verbosity"
67 "test_create_collections" # Flaky test exceeds deadline on hydra: https://github.com/pimutils/vdirsyncer/issues/837
68 ];
69
70 meta = with lib; {
71 homepage = "https://github.com/pimutils/vdirsyncer";
72 description = "Synchronize calendars and contacts";
73 license = licenses.mit;
74 maintainers = with maintainers; [ loewenheim ];
75 };
76}