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}