summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Bettis <jbettis@google.com>2024-01-18 20:00:50 +0000
committerSam James <sam@gentoo.org>2024-01-25 13:42:31 +0000
commit3a2c07fded0773596b896b5ba59cfd7459f36af1 (patch)
tree7d595853be6f7c8112b3a56a2c77464932faa068 /dev-util/lcov
parentnet-fs/nfs-utils: remove stale /etc/conf.d/nfs sed (diff)
downloadgentoo-3a2c07fded0773596b896b5ba59cfd7459f36af1.tar.gz
gentoo-3a2c07fded0773596b896b5ba59cfd7459f36af1.tar.bz2
gentoo-3a2c07fded0773596b896b5ba59cfd7459f36af1.zip
dev-util/lcov: Add patch to fix bad error code var
There is a mistake in the lcov code for inconsistent line numbers, the ignorable error code is an undefined variable. This causes errors like genhtml: ERROR: "/mnt/host/source/src/platform/ec/common/vboot/vb21_lib.c":18: function 'vb21_is_packed_key _valid last line is 24 but is 25 in testcase 'vboot' (use "genhtml --ignore-errors code_ ..." to bypass this error) Switch to the correct variable that was fixed in https://github.com/linux-test-project/lcov/commit/6f48bf214a06fe09c9708b130a233280c691a7a0#diff-173ac1b8ad02cbcecdc47f8c7fa7762bbcc7050d0efa6a375ffb74eb1517f68cL5342 but not included in the 2.0 release. Signed-off-by: Jeremy Bettis <jbettis@google.com> Closes: https://github.com/gentoo/gentoo/pull/34888 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/lcov')
-rw-r--r--dev-util/lcov/files/lcov-2.0-wrong-error-code.patch18
-rw-r--r--dev-util/lcov/lcov-2.0-r2.ebuild89
2 files changed, 107 insertions, 0 deletions
diff --git a/dev-util/lcov/files/lcov-2.0-wrong-error-code.patch b/dev-util/lcov/files/lcov-2.0-wrong-error-code.patch
new file mode 100644
index 000000000000..669308d157d3
--- /dev/null
+++ b/dev-util/lcov/files/lcov-2.0-wrong-error-code.patch
@@ -0,0 +1,18 @@
+From: Jeremy Bettis <jbettis@google.com>
+
+Fix incorrect error code usage.
+
+Bug: https://github.com/linux-test-project/lcov/issues/259
+Signed-off-by: Jeremy Bettis <jbettis@google.com>
+
+--- lcov-2.0/lib/lcovutil.pm
++++ lcov-2.0-fixed/lib/lcovutil.pm
+@@ -4219,7 +4219,7 @@
+ } else {
+ if ($f->end_line() != $func->end_line()) {
+ lcovutil::ignorable_error(
+- $lcovutil::ERROR_INCONSISTENT,
++ $lcovutil::ERROR_INCONSISTENT_DATA,
+ '"' . $func->file() .
+ '":' . $first . ': function \'' .
+ $func->name() . ' last line is ' .
diff --git a/dev-util/lcov/lcov-2.0-r2.ebuild b/dev-util/lcov/lcov-2.0-r2.ebuild
new file mode 100644
index 000000000000..a55e751b194d
--- /dev/null
+++ b/dev-util/lcov/lcov-2.0-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+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
+else
+ SRC_URI="https://github.com/linux-test-project/lcov/releases/download/v${PV}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux ~x64-macos"
+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/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}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-wrong-error-code.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/xlsxwriter[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ 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
+}