1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 icalendar,
6 lxml,
7 pytestCheckHook,
8 pythonOlder,
9 python,
10 recurring-ical-events,
11 requests,
12 setuptools,
13 setuptools-scm,
14 toPythonModule,
15 tzlocal,
16 vobject,
17 xandikos,
18}:
19
20buildPythonPackage rec {
21 pname = "caldav";
22 version = "1.4.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "python-caldav";
27 repo = "caldav";
28 tag = "v${version}";
29 hash = "sha256-rixhEIcl37ZIiYFOnJY0Ww75xZy3o/436JcgLmoOGi0=";
30 };
31
32 build-system = [
33 setuptools
34 setuptools-scm
35 ];
36
37 dependencies = [
38 vobject
39 lxml
40 requests
41 icalendar
42 recurring-ical-events
43 ];
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 tzlocal
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}