From f6bb73a1eb114fc7b3df16678fa14ddf2c3e6e79 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 10 Sep 2023 11:22:50 +0200 Subject: [PATCH] Revert "lcov: update to 2.0" This reverts commit 23545c636cee649bddb35449bd985a24fed895aa. See https://github.com/msys2/MSYS2-packages/pull/4036#issuecomment-1712763143 --- ...1-mingw-lcov1.12-handle-equals-signs.patch | 23 ++++++++++++ ...2-mingw-lcov1.12-fix-undef-behaviour.patch | 37 +++++++++++++++++++ lcov/PKGBUILD | 20 ++++++++-- 3 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 lcov/001-mingw-lcov1.12-handle-equals-signs.patch create mode 100644 lcov/002-mingw-lcov1.12-fix-undef-behaviour.patch diff --git a/lcov/001-mingw-lcov1.12-handle-equals-signs.patch b/lcov/001-mingw-lcov1.12-handle-equals-signs.patch new file mode 100644 index 00000000..8ab09985 --- /dev/null +++ b/lcov/001-mingw-lcov1.12-handle-equals-signs.patch @@ -0,0 +1,23 @@ +Description: Handle "=====" as another form of zero. + gcov prints "=====" instead of "######" when an unexecuted line is + "reachable only by exceptional paths such as C++ exception handlers." + This should be handled the same as "######" for our purposes. +Author: Zack Weinberg +Last-Update: 2013-02-01 + +Index: lcov-1.12/bin/geninfo +=================================================================== +--- lcov-1.12.orig/bin/geninfo ++++ lcov-1.12/bin/geninfo +@@ -1771,8 +1771,9 @@ sub read_gcov_file($) + $number = (split(" ",substr($_, 0, 16)))[0]; + + # Check for zero count which is indicated +- # by ###### +- if ($number eq "######") { $number = 0; } ++ # by ###### or ===== ++ if ($number eq "######" or ++ $number eq "=====") { $number = 0; } + + if ($exclude_line) { + # Register uninstrumented line instead diff --git a/lcov/002-mingw-lcov1.12-fix-undef-behaviour.patch b/lcov/002-mingw-lcov1.12-fix-undef-behaviour.patch new file mode 100644 index 00000000..3621fc89 --- /dev/null +++ b/lcov/002-mingw-lcov1.12-fix-undef-behaviour.patch @@ -0,0 +1,37 @@ +Author: Alastair McKinstry +Description: Fix for undefined behavior in perl5.20 +Origin: http://bugs.debian.org/761308 +Forwarded: no +Last-Updated: 2014-09-13 + +Index: lcov-1.12/bin/lcov +=================================================================== +--- lcov-1.12.orig/bin/lcov ++++ lcov-1.12/bin/lcov +@@ -224,7 +224,9 @@ Getopt::Long::Configure("default"); + # Remove spaces around rc options + my %new_opt_rc; + +- while (my ($key, $value) = each(%opt_rc)) { ++ my @keys = keys %opt_rc; ++ for my $key (@keys) { ++ my $value = $opt_rc{$key}; + $key =~ s/^\s+|\s+$//g; + $value =~ s/^\s+|\s+$//g; + +Index: lcov-1.12/bin/geninfo +=================================================================== +--- lcov-1.12.orig/bin/geninfo ++++ lcov-1.12/bin/geninfo +@@ -284,8 +284,9 @@ Getopt::Long::Configure("default"); + { + # Remove spaces around rc options + my %new_opt_rc; +- +- while (my ($key, $value) = each(%opt_rc)) { ++ my @keys = keys %opt_rc; ++ for my $key (@keys) { ++ my $value = $opt_rc{$key}; + $key =~ s/^\s+|\s+$//g; + $value =~ s/^\s+|\s+$//g; + diff --git a/lcov/PKGBUILD b/lcov/PKGBUILD index 08fd5e1f..d73a3bc8 100644 --- a/lcov/PKGBUILD +++ b/lcov/PKGBUILD @@ -3,17 +3,29 @@ # Contributor: Simon Sobisch pkgname=lcov -pkgver=2.0 +epoch=1 +pkgver=1.16 pkgrel=1 pkgdesc="front-end for GCC's coverage testing tool gcov" arch=('any') url="https://github.com/linux-test-project/lcov" -license=('spdx:GPL-2.0-only') +license=('GPL') depends=('perl' 'perl-JSON' 'perl-PerlIO-gzip') -source=("https://github.com/linux-test-project/lcov/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz") -sha256sums=('1857bb18e27abe8bcec701a907d5c47e01db4d4c512fc098d1a6acd29267bf46') +source=("https://github.com/linux-test-project/lcov/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz" + "001-mingw-lcov1.12-handle-equals-signs.patch" + "002-mingw-lcov1.12-fix-undef-behaviour.patch") +sha256sums=('987031ad5528c8a746d4b52b380bc1bffe412de1f2b9c2ba5224995668e3240b' + '54728aa4e244d3662c65ba91fb486dc1d5c64d9d55745ee334c4131109dc233c' + 'ceaf41f7cc9cea5a6fc4b0385ffef10d1ab8812acd2a5b16dcd8d7bca7120488') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 -i ${srcdir}/001-mingw-lcov1.12-handle-equals-signs.patch + patch -p1 -i ${srcdir}/002-mingw-lcov1.12-fix-undef-behaviour.patch +} package() { cd "${srcdir}/${pkgname}-${pkgver}"