1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 colorlog,
6 jinja2,
7 lxml,
8 pygments,
9 pythonOlder,
10 tomli,
11}:
12
13buildPythonPackage rec {
14 pname = "gcovr";
15 version = "7.2";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-4+lctWyojbvnQctdaaor5JTrL8KgnuT2UWRKZw7lrrM=";
23 };
24
25 propagatedBuildInputs = [
26 colorlog
27 jinja2
28 lxml
29 pygments
30 ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
31
32 # There are no unit tests in the pypi tarball. Most of the unit tests on the
33 # github repository currently only work with gcc5, so we just disable them.
34 # See also: https://github.com/gcovr/gcovr/issues/206
35 doCheck = false;
36
37 pythonImportsCheck = [
38 "gcovr"
39 "gcovr.configuration"
40 ];
41
42 meta = {
43 description = "Python script for summarizing gcov data";
44 mainProgram = "gcovr";
45 homepage = "https://www.gcovr.com/";
46 changelog = "https://github.com/gcovr/gcovr/blob/${version}/CHANGELOG.rst";
47 license = lib.licenses.bsd0;
48 maintainers = with lib.maintainers; [ sigmanificient ];
49 };
50}