1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit optfeature prefix python-any-r1
DESCRIPTION="A graphical front-end for GCC's coverage testing tool gcov"
HOMEPAGE="https://github.com/linux-test-project/lcov"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/linux-test-project/lcov.git"
inherit git-r3
else
SRC_URI="https://github.com/linux-test-project/lcov/releases/download/v${PV}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86"
fi
LICENSE="GPL-2+"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
# Python is used for spreadsheet.py
RDEPEND="
dev-lang/perl
dev-perl/Capture-Tiny
dev-perl/DateTime
dev-perl/Devel-Cover
|| (
dev-perl/JSON-XS
dev-perl/Cpanel-JSON-XS
virtual/perl-JSON-PP
dev-perl/JSON
)
dev-perl/Memory-Process
dev-perl/TimeDate
dev-perl/PerlIO-gzip
virtual/perl-Module-Load-Conditional
virtual/perl-Scalar-List-Utils
"
BDEPEND="
test? (
${RDEPEND}
dev-perl/GD
$(python_gen_any_dep '
dev-python/coverage[${PYTHON_USEDEP}]
dev-python/xlsxwriter[${PYTHON_USEDEP}]
')
)
"
python_check_deps() {
python_has_version "dev-python/coverage[${PYTHON_USEDEP}]" \
&& \
python_has_version "dev-python/xlsxwriter[${PYTHON_USEDEP}]"
}
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
# Disable failing tests for now
# https://github.com/linux-test-project/lcov/issues/378
# https://github.com/linux-test-project/lcov/issues/380
sed \
-e 's, extract/,,' \
-e 's, mcdc$,,' \
-i.bak tests/lcov/Makefile || die
# https://github.com/linux-test-project/lcov/issues/381
sed \
-e 's, gendiffcov,,' \
-e 's, py2lcov,,' \
-i.bak tests/Makefile || die
default
if use prefix; then
hprefixify bin/*.{pl,sh}
fi
}
src_compile() { :; }
src_test() {
emake -j1 check
}
src_install() {
emake -j1 \
DESTDIR="${D}" \
CFG_DIR="${EPREFIX}/etc" \
PREFIX="${EPREFIX}/usr" \
LCOV_PERL_PATH="${EPREFIX}/usr/bin/perl" \
install
}
pkg_postinst() {
optfeature_header "Optional outuput support:"
optfeature "png output support" dev-perl/GD[png]
optfeature "spreadsheet output support" dev-python/xlsxwriter
optfeature_header "Optional language support:"
optfeature "Python code coverage support" dev-python/coverage
optfeature "Perl code coverage support" dev-perl/Devel-Cover
}
|