nixpkgs/pkgs/development/python-modules/isort/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

82 lines
2.1 KiB
Nix

{ lib, buildPythonPackage, fetchFromGitHub
, colorama
, hypothesis
, poetry-core
, setuptools
, pylama
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "isort";
version = "5.11.4";
format = "pyproject";
src = fetchFromGitHub {
owner = "PyCQA";
repo = "isort";
rev = "refs/tags/${version}";
sha256 = "sha256-1x0rhQOr6pPFuHtbYSCR10tXeDTGwf47ek49wBmJP+I=";
};
nativeBuildInputs = [
poetry-core
setuptools
];
nativeCheckInputs = [
colorama
hypothesis
pylama
pytestCheckHook
];
postCheck = ''
# Confirm that the produced executable script is wrapped correctly and runs
# OK, by launching it in a subshell without PYTHONPATH
(
unset PYTHONPATH
echo "Testing that `isort --version-number` returns OK..."
$out/bin/isort --version-number
)
'';
preCheck = ''
HOME=$TMPDIR
export PATH=$PATH:$out/bin
'';
pytestFlagsArray = [
"--ignore=tests/benchmark/" # requires pytest-benchmark
"--ignore=tests/integration/" # pulls in 10 other packages
"--ignore=tests/unit/profiles/test_black.py" # causes infinite recursion to include black
];
disabledTests = [
"test_run" # doesn't like paths in /build
"test_fuzz_show_unified_diff" # flakey
"test_pyi_formatting_issue_942"
"test_requirements_finder"
"test_pipfile_finder"
"test_main" # relies on git
"test_command_line" # not thread safe
"test_encoding_not_in_comment" # not python 3.9 compatible
"test_encoding_not_in_first_two_lines" # not python 3.9 compatible
"test_requirements_dir" # requires network
# plugin not available
"test_isort_literals_issue_1358"
"test_isort_supports_formatting_plugins_issue_1353"
"test_sort_configurable_sort_issue_1732"
"test_value_assignment_list"
# profiles not available
"test_isort_supports_shared_profiles_issue_970"
];
meta = with lib; {
description = "A Python utility / library to sort Python imports";
homepage = "https://github.com/PyCQA/isort";
license = licenses.mit;
maintainers = with maintainers; [ couchemar ];
};
}