While pyproject-hooks is built using bootstrap packages, none of its test dependencies should be, so we must move out of the derivation.
74 lines
1.5 KiB
Nix
74 lines
1.5 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, flit-core
|
|
, pyproject-hooks
|
|
, pytestCheckHook
|
|
, pythonOlder
|
|
, setuptools
|
|
, testpath
|
|
, tomli
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "pyproject-hooks";
|
|
version = "1.0.0";
|
|
format = "pyproject";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchPypi rec {
|
|
pname = "pyproject_hooks";
|
|
inherit version;
|
|
hash = "sha256-8nGymLl/WVXVP7ErcsH7GUjCLBprcLMVxUztrKAmTvU=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
flit-core
|
|
];
|
|
|
|
propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
|
|
tomli
|
|
];
|
|
|
|
# We need to disable tests because this package is part of the bootstrap chain
|
|
# and its test dependencies cannot be built yet when this is being built.
|
|
doCheck = false;
|
|
|
|
passthru.tests = {
|
|
pytest = buildPythonPackage {
|
|
pname = "${pname}-pytest";
|
|
inherit version;
|
|
format = "other";
|
|
|
|
dontBuild = true;
|
|
dontInstall = true;
|
|
|
|
nativeCheckInputs = [
|
|
pyproject-hooks
|
|
pytestCheckHook
|
|
setuptools
|
|
testpath
|
|
];
|
|
|
|
disabledTests = [
|
|
# fail to import setuptools
|
|
"test_setup_py"
|
|
"test_issue_104"
|
|
];
|
|
};
|
|
};
|
|
|
|
pythonImportsCheck = [
|
|
"pyproject_hooks"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Low-level library for calling build-backends in `pyproject.toml`-based project ";
|
|
homepage = "https://github.com/pypa/pyproject-hooks";
|
|
changelog = "https://github.com/pypa/pyproject-hooks/blob/v${version}/docs/changelog.rst";
|
|
license = licenses.mit;
|
|
maintainers = teams.python.members;
|
|
};
|
|
}
|