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