1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 freezegun,
7 ical,
8 pydantic,
9 pytest-aiohttp,
10 pytest-asyncio,
11 pytestCheckHook,
12 pythonOlder,
13 setuptools,
14}:
15
16buildPythonPackage rec {
17 pname = "gcal-sync";
18 version = "8.0.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.10";
22
23 src = fetchFromGitHub {
24 owner = "allenporter";
25 repo = "gcal_sync";
26 tag = version;
27 hash = "sha256-+L34vKV7xCD+Jj47WrQufzLZddPhhKWaSMo1UQKeHRY=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 aiohttp
34 ical
35 pydantic
36 ];
37
38 __darwinAllowLocalNetworking = true;
39
40 nativeCheckInputs = [
41 freezegun
42 pytest-aiohttp
43 pytest-asyncio
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "gcal_sync" ];
48
49 meta = with lib; {
50 description = "Library for syncing Google Calendar to local storage";
51 homepage = "https://github.com/allenporter/gcal_sync";
52 changelog = "https://github.com/allenporter/gcal_sync/releases/tag/${src.tag}";
53 license = licenses.asl20;
54 maintainers = with maintainers; [ dotlambda ];
55 };
56}