diff --git a/pkgs/development/python-modules/pylint/1.9.nix b/pkgs/development/python-modules/pylint/1.9.nix new file mode 100644 index 000000000000..ad3140cf1572 --- /dev/null +++ b/pkgs/development/python-modules/pylint/1.9.nix @@ -0,0 +1,49 @@ +{ stdenv, lib, buildPythonPackage, fetchPypi, python, astroid, six, isort, + mccabe, configparser, backports_functools_lru_cache, singledispatch, + pytest, pytestrunner, pyenchant }: + +buildPythonPackage rec { + pname = "pylint"; + version = "1.9.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "1cxr1j037hsm4spmvl64v2j2rdq72pc2z0gnn3iggd4np6y21wpz"; + }; + + checkInputs = [ pytest pytestrunner pyenchant ]; + + propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch ]; + + postPatch = lib.optionalString stdenv.isDarwin '' + # Remove broken darwin test + rm -vf pylint/test/test_functional.py + ''; + + checkPhase = '' + pytest pylint/test -k "not ${lib.concatStringsSep " and not " ( + [ # Broken test + "test_good_comprehension_checks" + # See PyCQA/pylint#2535 + "test_libmodule" ] ++ + # Disable broken darwin tests + lib.optionals stdenv.isDarwin [ + "test_parallel_execution" + "test_py3k_jobs_option" + ] + )}" + ''; + + postInstall = '' + mkdir -p $out/share/emacs/site-lisp + cp "elisp/"*.el $out/share/emacs/site-lisp/ + ''; + + meta = with lib; { + homepage = https://github.com/PyCQA/pylint; + description = "A bug and style checker for Python"; + platforms = platforms.all; + license = licenses.gpl1Plus; + maintainers = with maintainers; [ nand0p ]; + }; +} diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index c9a44548c142..4f4eb3cfc731 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -1,5 +1,5 @@ -{ stdenv, buildPythonPackage, fetchPypi, python, pythonOlder, astroid, isort, - pytest, pytestrunner, mccabe, pytest_xdist, pyenchant }: +{ stdenv, lib, buildPythonPackage, fetchPypi, python, pythonOlder, astroid, + isort, mccabe, pytest, pytestrunner, pyenchant }: buildPythonPackage rec { pname = "pylint"; @@ -12,21 +12,25 @@ buildPythonPackage rec { sha256 = "31142f764d2a7cd41df5196f9933b12b7ee55e73ef12204b648ad7e556c119fb"; }; - checkInputs = [ pytest pytestrunner pytest_xdist pyenchant ]; + checkInputs = [ pytest pytestrunner pyenchant ]; propagatedBuildInputs = [ astroid isort mccabe ]; - postPatch = '' + postPatch = lib.optionalString stdenv.isDarwin '' # Remove broken darwin test rm -vf pylint/test/test_functional.py ''; checkPhase = '' - cat pylint/test/test_self.py - # Disable broken darwin tests - pytest pylint/test -k "not test_parallel_execution \ - and not test_py3k_jobs_option \ - and not test_good_comprehension_checks" + pytest pylint/test -k "not ${lib.concatStringsSep " and not " ( + # Broken test + [ "test_good_comprehension_checks" ] ++ + # Disable broken darwin tests + lib.optionals stdenv.isDarwin [ + "test_parallel_execution" + "test_py3k_jobs_option" + ] + )}" ''; postInstall = '' @@ -34,8 +38,8 @@ buildPythonPackage rec { cp "elisp/"*.el $out/share/emacs/site-lisp/ ''; - meta = with stdenv.lib; { - homepage = https://www.logilab.org/project/pylint; + meta = with lib; { + homepage = https://github.com/PyCQA/pylint; description = "A bug and style checker for Python"; platforms = platforms.all; license = licenses.gpl1Plus; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 11aa73a04bf8..73d2cf6d2ac6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10227,7 +10227,8 @@ in { pygpgme = callPackage ../development/python-modules/pygpgme { }; - pylint = callPackage ../development/python-modules/pylint { }; + pylint = if isPy3k then callPackage ../development/python-modules/pylint { } + else callPackage ../development/python-modules/pylint/1.9.nix { }; pyopencl = callPackage ../development/python-modules/pyopencl { };