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