1{
2 lib,
3 buildPythonPackage,
4 emoji,
5 fetchFromGitHub,
6 freezegun,
7 tzdata,
8 pyparsing,
9 pydantic,
10 pytest-benchmark,
11 pytestCheckHook,
12 pythonOlder,
13 python-dateutil,
14 setuptools,
15 syrupy,
16}:
17
18buildPythonPackage rec {
19 pname = "ical";
20 version = "8.1.1";
21 pyproject = true;
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitHub {
26 owner = "allenporter";
27 repo = "ical";
28 rev = "refs/tags/${version}";
29 hash = "sha256-b0laQRDATmx4401bJKkdHsfT9gpMff8vGaZJ9l8O7w4=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 python-dateutil
36 tzdata
37 pydantic
38 pyparsing
39 ];
40
41 nativeCheckInputs = [
42 emoji
43 freezegun
44 pytest-benchmark
45 pytestCheckHook
46 syrupy
47 ];
48
49 pythonImportsCheck = [ "ical" ];
50
51 meta = with lib; {
52 description = "Library for handling iCalendar";
53 homepage = "https://github.com/allenporter/ical";
54 changelog = "https://github.com/allenporter/ical/releases/tag/${version}";
55 license = licenses.asl20;
56 maintainers = with maintainers; [ dotlambda ];
57 };
58}