159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
84 lines
1.8 KiB
Nix
84 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
pythonOlder,
|
|
rustPlatform,
|
|
cargo,
|
|
rustc,
|
|
libiconv,
|
|
buildPythonPackage,
|
|
setuptools,
|
|
setuptools-rust,
|
|
pytestCheckHook,
|
|
pytest-mypy-plugins,
|
|
hypothesis,
|
|
freezegun,
|
|
time-machine,
|
|
nix-update-script,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "whenever";
|
|
version = "0.6.9";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.9";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ariebovenberg";
|
|
repo = "whenever";
|
|
rev = "refs/tags/${version}";
|
|
hash = "sha256-Y2+ZQhQpUf747OlzhQRdT1B3jZgCr0BViJ6ujPJWo3w=";
|
|
};
|
|
|
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
|
inherit src;
|
|
hash = "sha256-B1weEmW+Q7VxwnLxv9QH75I6IgEICTd70ci/I14ehLY=";
|
|
};
|
|
|
|
build-system = [
|
|
setuptools
|
|
setuptools-rust
|
|
rustPlatform.cargoSetupHook
|
|
cargo
|
|
rustc
|
|
];
|
|
|
|
buildInputs = lib.optionals stdenv.isDarwin [
|
|
libiconv
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
pytest-mypy-plugins
|
|
# pytest-benchmark # developer sanity check, should not block distribution
|
|
hypothesis
|
|
freezegun
|
|
time-machine
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
# benchmarks
|
|
"benchmarks/python/test_date.py"
|
|
"benchmarks/python/test_instant.py"
|
|
"benchmarks/python/test_local_datetime.py"
|
|
"benchmarks/python/test_zoned_datetime.py"
|
|
];
|
|
|
|
pythonImportsCheck = [ "whenever" ];
|
|
|
|
# a bunch of failures, including an assumption of what the timezone on the host is
|
|
# TODO: try enabling on bump
|
|
doCheck = false;
|
|
|
|
passthru.updateScript = nix-update-script { };
|
|
|
|
meta = with lib; {
|
|
description = "Strict, predictable, and typed datetimes";
|
|
homepage = "https://github.com/ariebovenberg/whenever";
|
|
changelog = "https://github.com/ariebovenberg/whenever/blob/${src.rev}/CHANGELOG.rst";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ pbsds ];
|
|
};
|
|
}
|