summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/lcov/lcov-2.3.ebuild')
-rw-r--r--dev-util/lcov/lcov-2.3.ebuild106
1 files changed, 106 insertions, 0 deletions
diff --git a/dev-util/lcov/lcov-2.3.ebuild b/dev-util/lcov/lcov-2.3.ebuild
new file mode 100644
index 000000000000..179a58d973ac
--- /dev/null
+++ b/dev-util/lcov/lcov-2.3.ebuild
@@ -0,0 +1,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 ~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
+}