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 = "11.0.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.11";
24
25 src = fetchFromGitHub {
26 owner = "allenporter";
27 repo = "ical";
28 tag = version;
29 hash = "sha256-jn4xPwnJ/RQNTItYv4QY54UejayI0MmDhKZtg2lkpr8=";
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 pytestFlags = [ "--benchmark-disable" ];
50
51 pythonImportsCheck = [ "ical" ];
52
53 meta = {
54 description = "Library for handling iCalendar";
55 homepage = "https://github.com/allenporter/ical";
56 changelog = "https://github.com/allenporter/ical/releases/tag/${src.tag}";
57 license = lib.licenses.asl20;
58 maintainers = with lib.maintainers; [ dotlambda ];
59 };
60}