pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / servers / xandikos / default.nix
blobd86ff503e80391fefca8429675f2d36bef16fc06
2   fetchFromGitHub,
3   fetchpatch2,
4   lib,
5   nixosTests,
6   python3Packages,
7 }:
9 python3Packages.buildPythonApplication rec {
10   pname = "xandikos";
11   version = "0.2.11";
12   pyproject = true;
14   disabled = python3Packages.pythonOlder "3.9";
16   src = fetchFromGitHub {
17     owner = "jelmer";
18     repo = "xandikos";
19     rev = "refs/tags/v${version}";
20     hash = "sha256-cBsceJ6tib8OYx5L2Hv2AqRS+ADRSLIuJGIULNpAmEI=";
21   };
23   patches = [
24     (fetchpatch2 {
25       name = "fix-compatibility-with-icalendar-v6.patch";
26       url = "https://github.com/jelmer/xandikos/commit/ae8924c374ed86b2efde5bfbc75e56f6d8318086.patch";
27       excludes = [ "requirements.txt" ];
28       hash = "sha256-PCKo5C6Ejw9ZsFFLAMw1ZtMoCq9gJxR65K7CM6RUYwU=";
29     })
30   ];
32   build-system = with python3Packages; [
33     setuptools
34   ];
36   dependencies = with python3Packages; [
37     aiohttp
38     aiohttp-openmetrics
39     dulwich
40     defusedxml
41     icalendar
42     jinja2
43     multidict
44     pytz
45     vobject
46   ];
48   passthru.tests.xandikos = nixosTests.xandikos;
50   nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
52   meta = with lib; {
53     description = "Lightweight CalDAV/CardDAV server";
54     homepage = "https://github.com/jelmer/xandikos";
55     license = licenses.gpl3Plus;
56     changelog = "https://github.com/jelmer/xandikos/blob/v${version}/NEWS";
57     maintainers = with maintainers; [ _0x4A6F ];
58     mainProgram = "xandikos";
59   };