Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pylama / default.nix
blobe62d356f70eed20e74c30273ba050d82c3eb4239
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , substituteAll
5 , git
6 , eradicate
7 , mccabe
8 , mypy
9 , pycodestyle
10 , pydocstyle
11 , pyflakes
12 , vulture
13 , setuptools
14 , isort
15 , pylint
16 , pytestCheckHook
19 let pylama = buildPythonPackage rec {
20   pname = "pylama";
21   version = "8.4.1";
23   format = "setuptools";
25   src = fetchFromGitHub {
26     name = "${pname}-${version}-source";
27     owner = "klen";
28     repo = "pylama";
29     rev = version;
30     hash = "sha256-WOGtZ412tX3YH42JCd5HIngunluwtMmQrOSUZp23LPU=";
31   };
33   patches = [
34     (substituteAll {
35       src = ./paths.patch;
36       git = "${lib.getBin git}/bin/git";
37     })
38   ];
40   propagatedBuildInputs = [
41     eradicate
42     mccabe
43     mypy
44     pycodestyle
45     pydocstyle
46     pyflakes
47     setuptools
48     vulture
49   ];
51   # escape infinite recursion pylint -> isort -> pylama
52   doCheck = false;
54   nativeCheckInputs = [
55     pylint
56     pytestCheckHook
57   ];
59   preCheck = ''
60     export HOME=$TEMP
61   '';
63   disabledTests = [
64     "test_quotes" # FIXME package pylama-quotes
65     "test_radon" # FIXME package radon
66   ];
68   pythonImportsCheck = [
69     "pylama.main"
70   ];
72   passthru.tests = {
73     check = pylama.overridePythonAttrs (_: { doCheck = true; });
74   };
76   meta = with lib; {
77     description = "Code audit tool for python";
78     homepage = "https://github.com/klen/pylama";
79     changelog = "https://github.com/klen/pylama/blob/${version}/Changelog";
80     license = licenses.mit;
81     maintainers = with maintainers; [ dotlambda ];
82   };
83 }; in pylama