diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix index 8e1234a323ef..f6c96015ca32 100644 --- a/pkgs/development/python-modules/croniter/default.nix +++ b/pkgs/development/python-modules/croniter/default.nix @@ -1,43 +1,68 @@ { lib, buildPythonPackage, - fetchPypi, - setuptools, + fetchFromGitHub, + hatchling, + packaging, pytestCheckHook, + python, python-dateutil, pytz, + trove-classifiers, tzlocal, + versionCheckHook, + which, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "croniter"; - version = "6.0.0"; + version = "6.2.4"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-N8UEsxOVYRSpg+ziwrB3kLHxCU/p2BzJRzkhR0glVXc="; + src = fetchFromGitHub { + owner = "pallets-eco"; + repo = "croniter"; + tag = "${finalAttrs.version}"; + hash = "sha256-Ff6fHFBOBQmrf8OLPNuhHjRqyPuS1sStd5hWh4oI0cI="; }; - nativeBuildInputs = [ setuptools ]; - - propagatedBuildInputs = [ - python-dateutil - pytz + build-system = [ + hatchling + packaging + trove-classifiers ]; + dependencies = [ python-dateutil ]; + nativeCheckInputs = [ pytestCheckHook + pytz tzlocal ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "hatchling==1.30.1" "hatchling>=1.30.1" + ''; + pythonImportsCheck = [ "croniter" ]; + nativeInstallCheckInputs = [ + versionCheckHook + which + ]; + + versionCheckProgramArg = "${placeholder "out"}/${python.sitePackages}"; + + preInstallCheck = '' + versionCheckProgram="$(which ls)" + ''; + meta = { description = "Library to iterate over datetime object with cron like format"; homepage = "https://github.com/kiorky/croniter"; - changelog = "https://github.com/kiorky/croniter/blob/${version}/CHANGELOG.rst"; + changelog = "https://github.com/kiorky/croniter/blob/${finalAttrs.version}/CHANGELOG.rst"; license = lib.licenses.mit; maintainers = [ ]; }; -} +})