depot/third_party/nixpkgs/pkgs/development/python-modules/incremental/default.nix

62 lines
1.3 KiB
Nix
Raw Normal View History

{
buildPythonPackage,
click,
fetchFromGitHub,
lib,
pythonOlder,
setuptools,
tomli,
twisted,
}:
let
incremental = buildPythonPackage rec {
pname = "incremental";
version = "24.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "twisted";
repo = "incremental";
rev = "refs/tags/incremental-${version}";
hash = "sha256-5MlIKUaBUwLTet23Rjd2Opf5e54LcHuZDowcGon0lOE=";
};
# From upstream's pyproject.toml:
# "Keep this aligned with the project dependencies."
build-system = dependencies;
dependencies = [ setuptools ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
optional-dependencies = {
scripts = [ click ];
};
# escape infinite recursion with twisted
doCheck = false;
nativeCheckInputs = [ twisted ];
checkPhase = ''
trial incremental
'';
passthru.tests = {
check = incremental.overridePythonAttrs (_: {
doCheck = true;
});
};
pythonImportsCheck = [ "incremental" ];
meta = {
changelog = "https://github.com/twisted/incremental/blob/${src.rev}/NEWS.rst";
homepage = "https://github.com/twisted/incremental";
description = "Small library that versions your Python projects";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
};
in
incremental