1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 pytestCheckHook,
7 mock,
8 jinja2,
9 pygments, # for Erlang support
10 pathspec, # for .gitignore support
11}:
12
13buildPythonPackage rec {
14 pname = "lizard";
15 version = "1.17.31";
16 format = "setuptools";
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "terryyin";
21 repo = "lizard";
22 rev = version;
23 hash = "sha256-8lu4EknyAI+gn7GOSo13RRHNogpZdgxJ9fTvy7NyIsM=";
24 };
25
26 propagatedBuildInputs = [
27 jinja2
28 pygments
29 pathspec
30 ];
31
32 nativeCheckInputs = [
33 pytestCheckHook
34 mock
35 ];
36
37 disabledTestPaths = [
38 # re.error: global flags not at the start of the expression at position 14
39 "test/test_languages/testFortran.py"
40 ];
41
42 pythonImportsCheck = [ "lizard" ];
43
44 meta = with lib; {
45 changelog = "https://github.com/terryyin/lizard/blob/${version}/CHANGELOG.md";
46 description = "Code analyzer without caring the C/C++ header files";
47 mainProgram = "lizard";
48 downloadPage = "https://github.com/terryyin/lizard";
49 homepage = "http://www.lizard.ws";
50 license = licenses.mit;
51 maintainers = with maintainers; [ jpetrucciani ];
52 };
53}