1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 icalendar,
6 lxml,
7 pytestCheckHook,
8 pythonOlder,
9 python,
10 pytz,
11 recurring-ical-events,
12 requests,
13 setuptools,
14 toPythonModule,
15 tzlocal,
16 vobject,
17 xandikos,
18}:
19
20buildPythonPackage rec {
21 pname = "caldav";
22 version = "1.3.9";
23
24 pyproject = true;
25 disabled = pythonOlder "3.7";
26
27 src = fetchFromGitHub {
28 owner = "python-caldav";
29 repo = pname;
30 rev = "refs/tags/v${version}";
31 hash = "sha256-R9zXwD0sZE4bg6MTHWWCWWlZ5wH0H6g650zA7AboAo8=";
32 };
33
34 nativeBuildInputs = [ setuptools ];
35
36 propagatedBuildInputs = [
37 vobject
38 lxml
39 requests
40 icalendar
41 recurring-ical-events
42 pytz
43 tzlocal
44 ];
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 (toPythonModule (xandikos.override { python3Packages = python.pkgs; }))
49 ];
50
51 pythonImportsCheck = [ "caldav" ];
52
53 meta = with lib; {
54 description = "CalDAV (RFC4791) client library";
55 homepage = "https://github.com/python-caldav/caldav";
56 changelog = "https://github.com/python-caldav/caldav/blob/v${version}/CHANGELOG.md";
57 license = licenses.asl20;
58 maintainers = with maintainers; [
59 marenz
60 dotlambda
61 ];
62 };
63}