1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 chardet,
7 gitpython,
8 pygments,
9 rich,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "pygount";
15 version = "1.8.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "roskakori";
20 repo = "pygount";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-PFqcSnJoGL4bXFy3hu3Iurbb8QK1NqCDs8aJmMxP4Hc=";
23 };
24
25 nativeBuildInputs = [ poetry-core ];
26
27 propagatedBuildInputs = [
28 chardet
29 gitpython
30 pygments
31 rich
32 ];
33
34 nativeCheckInputs = [ pytestCheckHook ];
35
36 disabledTests = [
37 # requires network access
38 "test_can_find_files_from_mixed_cloned_git_remote_url_and_local"
39 "test_can_extract_and_close_and_find_files_from_cloned_git_remote_url_with_revision"
40 ];
41
42 pythonImportsCheck = [ "pygount" ];
43
44 meta = with lib; {
45 description = "Count lines of code for hundreds of languages using pygments";
46 mainProgram = "pygount";
47 homepage = "https://github.com/roskakori/pygount";
48 changelog = "https://github.com/roskakori/pygount/blob/${src.rev}/CHANGES.md";
49 license = with licenses; [ bsd3 ];
50 maintainers = with maintainers; [ nickcao ];
51 };
52}