1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 git,
6 hatch-vcs,
7 hatchling,
8 icalendar,
9 python-dateutil,
10 tzdata,
11 x-wr-timezone,
12 pytestCheckHook,
13 pytz,
14 restructuredtext-lint,
15 pygments,
16}:
17
18buildPythonPackage rec {
19 pname = "recurring-ical-events";
20 version = "3.8.0";
21 pyproject = true;
22
23 src = fetchFromGitHub {
24 owner = "niccokunzmann";
25 repo = "python-recurring-ical-events";
26 tag = "v${version}";
27 hash = "sha256-tkfrdyY5tBTX7I2h2mQzySxkITxRBbATfPluXxQAqmE=";
28 };
29
30 postPatch = ''
31 substituteInPlace pyproject.toml \
32 --replace 'dynamic = ["urls", "version"]' 'version = "${version}"'
33 '';
34
35 build-system = [
36 hatch-vcs
37 hatchling
38 ];
39
40 dependencies = [
41 icalendar
42 python-dateutil
43 tzdata
44 x-wr-timezone
45 ];
46
47 nativeCheckInputs = [
48 pytestCheckHook
49 pytz
50 restructuredtext-lint
51 pygments
52 ];
53
54 pythonImportsCheck = [ "recurring_ical_events" ];
55
56 meta = {
57 changelog = "https://github.com/niccokunzmann/python-recurring-ical-events/blob/${src.tag}/docs/changelog.md";
58 description = "Repeat ICalendar events by RRULE, RDATE and EXDATE";
59 homepage = "https://github.com/niccokunzmann/python-recurring-ical-events";
60 license = lib.licenses.lgpl3Plus;
61 maintainers = with lib.maintainers; [ dotlambda ];
62 };
63}