pythonPackages.isort: fix build system, keep version for python 2

This commit is contained in:
Frederik Rietdijk 2020-11-30 18:40:06 +01:00
parent aadeda550a
commit 7d6468de0c
3 changed files with 50 additions and 8 deletions

View file

@ -0,0 +1,43 @@
{ lib, buildPythonPackage, fetchPypi, setuptools, isPy27, futures
, backports_functools_lru_cache, mock, pytest
}:
let
skipTests = [ "test_requirements_finder" "test_pipfile_finder" ] ++ lib.optional isPy27 "test_standard_library_deprecates_user_issue_778";
testOpts = lib.concatMapStringsSep " " (t: "--deselect test_isort.py::${t}") skipTests;
in buildPythonPackage rec {
pname = "isort";
version = "4.3.21"; # Note 4.x is the last version that supports Python2
src = fetchPypi {
inherit pname version;
sha256 = "54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1";
};
propagatedBuildInputs = [
setuptools
] ++ lib.optionals isPy27 [ futures backports_functools_lru_cache ];
checkInputs = [ mock pytest ];
checkPhase = ''
# isort excludes paths that contain /build/, so test fixtures don't work
# with TMPDIR=/build/
PATH=$out/bin:$PATH TMPDIR=/tmp/ pytest ${testOpts}
# 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
)
'';
meta = with lib; {
description = "A Python utility / library to sort Python imports";
homepage = "https://github.com/timothycrosley/isort";
license = licenses.mit;
maintainers = with maintainers; [ couchemar nand0p ];
};
}

View file

@ -1,10 +1,9 @@
{ lib, buildPythonPackage, fetchFromGitHub
, colorama
, hypothesis
, poetry
, poetry-core
, pylama
, pytestCheckHook
, setuptools
}:
let
@ -20,10 +19,8 @@ in buildPythonPackage rec {
sha256 = "1m7jpqssnbsn1ydrw1dn7nrcrggqcvj9v6mk5ampxmvk94xd2r2q";
};
nativeBuildInputs = [ poetry ];
propagatedBuildInputs = [
setuptools
nativeBuildInputs = [
poetry-core
];
checkInputs = [

View file

@ -3056,8 +3056,10 @@ in {
isodate = callPackage ../development/python-modules/isodate { };
isort = callPackage ../development/python-modules/isort {
inherit (pkgs) poetry;
isort = if isPy3k then
callPackage ../development/python-modules/isort { }
else
callPackage ../development/python-modules/isort/4.nix {
};
isoweek = callPackage ../development/python-modules/isoweek { };