diff --git a/pkgs/by-name/op/open-web-calendar/package.nix b/pkgs/by-name/op/open-web-calendar/package.nix index 5e77b50f470b..0d8c0cc7cac9 100644 --- a/pkgs/by-name/op/open-web-calendar/package.nix +++ b/pkgs/by-name/op/open-web-calendar/package.nix @@ -12,7 +12,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "open-web-calendar"; - version = "1.42"; + version = "1.48"; pyproject = true; disabled = python.pythonOlder "3.9"; @@ -20,7 +20,7 @@ python.pkgs.buildPythonApplication rec { src = fetchPypi { inherit version; pname = "open_web_calendar"; - hash = "sha256-w4XaT1+qIM80K6B+LIAeYdZzYIw4FYSd/nvWphOx460="; + hash = "sha256-SSe5vkrfTpUFdSLglBxo5//VZfuXYnWs5sUKJL2zWOw="; }; # The Pypi tarball doesn't contain open_web_calendars/features @@ -35,6 +35,7 @@ python.pkgs.buildPythonApplication rec { build-system = with python.pkgs; [ hatchling hatch-vcs + hatch-requirements-txt ]; dependencies = @@ -44,6 +45,10 @@ python.pkgs.buildPythonApplication rec { flask-allowed-hosts flask icalendar + icalendar-compatibility + cryptography + bcrypt + caldav requests pyyaml recurring-ical-events @@ -52,6 +57,7 @@ python.pkgs.buildPythonApplication rec { beautifulsoup4 lxml-html-clean pytz + mergecal ] ++ requests.optional-dependencies.socks; diff --git a/pkgs/development/python-modules/icalendar-compatibility/default.nix b/pkgs/development/python-modules/icalendar-compatibility/default.nix new file mode 100644 index 000000000000..b5969bcca32b --- /dev/null +++ b/pkgs/development/python-modules/icalendar-compatibility/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hatch-vcs, + icalendar, + pytestCheckHook, + git, +}: + +buildPythonPackage rec { + pname = "icalendar-compatibility"; + version = "0.1.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "niccokunzmann"; + repo = "icalendar_compatibility"; + tag = "v${version}"; + hash = "sha256-h9rpbltNEPMteicPJ6oC32NsZS8QXQphLbC0Qiu7j5Q="; + }; + + # hatch-vcs tries to read the current git commit hash + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'dynamic = ["urls", "version"]' 'version = "${version}"' + ''; + + build-system = [ + hatchling + hatch-vcs + ]; + + dependencies = [ icalendar ]; + + nativeCheckInputs = [ + pytestCheckHook + git + ]; + + pythonImportsCheck = [ "icalendar_compatibility" ]; + + # env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + meta = { + homepage = "https://icalendar-compatibility.readthedocs.io/en/latest/"; + changelog = "https://icalendar-compatibility.readthedocs.io/en/latest/changes.html"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ erictapen ]; + }; + +} diff --git a/pkgs/development/python-modules/mergecal/default.nix b/pkgs/development/python-modules/mergecal/default.nix new file mode 100644 index 000000000000..25d038f02b36 --- /dev/null +++ b/pkgs/development/python-modules/mergecal/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + icalendar, + rich, + typer, + x-wr-timezone, + pytestCheckHook, + pytest-cov-stub, +}: + +buildPythonPackage rec { + pname = "mergecal"; + version = "0.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mergecal"; + repo = "python-mergecal"; + tag = "v${version}"; + hash = "sha256-Je3gFREu97Ycofszhr6pKOCiK76oBuzb3ji4LAf5aE8="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + icalendar + rich + typer + x-wr-timezone + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + ]; + + pythonImportChecks = [ "mergecal" ]; + + meta = { + homepage = "https://mergecal.readthedocs.io/en/latest/"; + changelog = "https://github.com/mergecal/python-mergecal/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5264737ca668..9540defc0874 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6322,6 +6322,8 @@ self: super: with self; { icalendar = callPackage ../development/python-modules/icalendar { }; + icalendar-compatibility = callPackage ../development/python-modules/icalendar-compatibility { }; + icalevents = callPackage ../development/python-modules/icalevents { }; icecream = callPackage ../development/python-modules/icecream { }; @@ -8307,6 +8309,8 @@ self: super: with self; { merge3 = callPackage ../development/python-modules/merge3 { }; + mergecal = callPackage ../development/python-modules/mergecal { }; + mergedb = callPackage ../development/python-modules/mergedb { }; mergedeep = callPackage ../development/python-modules/mergedeep { };