summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/lcov/lcov-9999.ebuild')
-rw-r--r--dev-util/lcov/lcov-9999.ebuild45
1 files changed, 39 insertions, 6 deletions
diff --git a/dev-util/lcov/lcov-9999.ebuild b/dev-util/lcov/lcov-9999.ebuild
index aaf34d6df283..18570df4f842 100644
--- a/dev-util/lcov/lcov-9999.ebuild
+++ b/dev-util/lcov/lcov-9999.ebuild
@@ -3,6 +3,12 @@
EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+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
@@ -11,19 +17,41 @@ else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux ~x64-macos"
fi
-inherit optfeature prefix
-
-DESCRIPTION="A graphical front-end for GCC's coverage testing tool gcov"
-HOMEPAGE="https://github.com/linux-test-project/lcov"
-
LICENSE="GPL-2+"
SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+# Python is used for spreadsheet.py
RDEPEND="
dev-lang/perl
- dev-perl/JSON
+ dev-perl/Capture-Tiny
+ dev-perl/DateTime
+ || (
+ dev-perl/JSON-XS
+ dev-perl/Cpanel-JSON-XS
+ virtual/perl-JSON-PP
+ dev-perl/JSON
+ )
dev-perl/PerlIO-gzip
"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-perl/GD
+ $(python_gen_any_dep '
+ dev-python/xlsxwriter[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+python_check_deps() {
+ python_has_version "dev-python/xlsxwriter[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
src_prepare() {
default
@@ -47,5 +75,10 @@ src_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
}