diff options
author | Jeremy Bettis <jbettis@google.com> | 2024-01-18 20:00:50 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-01-25 13:42:31 +0000 |
commit | 3a2c07fded0773596b896b5ba59cfd7459f36af1 (patch) | |
tree | 7d595853be6f7c8112b3a56a2c77464932faa068 /dev-util/lcov | |
parent | net-fs/nfs-utils: remove stale /etc/conf.d/nfs sed (diff) | |
download | gentoo-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.patch | 18 | ||||
-rw-r--r-- | dev-util/lcov/lcov-2.0-r2.ebuild | 89 |
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 +} |