nixpkgs/pkgs/servers/xandikos/default.nix
2024-09-30 22:20:57 -07:00

61 lines
1.4 KiB
Nix

{
fetchFromGitHub,
fetchpatch2,
lib,
nixosTests,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "xandikos";
version = "0.2.11";
pyproject = true;
disabled = python3Packages.pythonOlder "3.9";
src = fetchFromGitHub {
owner = "jelmer";
repo = "xandikos";
rev = "refs/tags/v${version}";
hash = "sha256-cBsceJ6tib8OYx5L2Hv2AqRS+ADRSLIuJGIULNpAmEI=";
};
patches = [
(fetchpatch2 {
name = "fix-compatibility-with-icalendar-v6.patch";
url = "https://github.com/jelmer/xandikos/commit/ae8924c374ed86b2efde5bfbc75e56f6d8318086.patch";
excludes = [ "requirements.txt" ];
hash = "sha256-PCKo5C6Ejw9ZsFFLAMw1ZtMoCq9gJxR65K7CM6RUYwU=";
})
];
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
aiohttp
aiohttp-openmetrics
dulwich
defusedxml
icalendar
jinja2
multidict
pytz
vobject
];
passthru.tests.xandikos = nixosTests.xandikos;
nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
meta = with lib; {
description = "Lightweight CalDAV/CardDAV server";
homepage = "https://github.com/jelmer/xandikos";
license = licenses.gpl3Plus;
changelog = "https://github.com/jelmer/xandikos/blob/v${version}/NEWS";
maintainers = with maintainers; [ _0x4A6F ];
mainProgram = "xandikos";
};
}