pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/lcov
Module Name: pkgsrc
Committed By: wiz
Date: Mon Oct 19 14:12:16 UTC 2026
Modified Files:
pkgsrc/devel/lcov: distinfo
pkgsrc/devel/lcov/patches: patch-lib_LcovUtil_Makefile.PL
Log Message:
lcov: use upstream version of build fix
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 pkgsrc/devel/lcov/distinfo
cvs rdiff -u -r1.1 -r1.2 \
pkgsrc/devel/lcov/patches/patch-lib_LcovUtil_Makefile.PL
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/lcov/distinfo
diff -u pkgsrc/devel/lcov/distinfo:1.14 pkgsrc/devel/lcov/distinfo:1.15
--- pkgsrc/devel/lcov/distinfo:1.14 Wed Oct 7 07:44:30 2026
+++ pkgsrc/devel/lcov/distinfo Mon Oct 19 14:12:16 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.14 2026/10/07 07:44:30 wiz Exp $
+$NetBSD: distinfo,v 1.15 2026/10/19 14:12:16 wiz Exp $
BLAKE2s (af02b08f844200aa3ee611062036499f652520d0.diff) = 6cc47e5ce7b40c76c96d364fea51c9505dfbd6c9a01a44b3d2c6dd9b23c7e196
SHA512 (af02b08f844200aa3ee611062036499f652520d0.diff) = 6f2e89cc8caf2277f95f0c2ca5943acd606befbeb44854f8accfff25bbfdac83981d0959cd80738a1183500be2d7971bec28e408a3e4a7c7be04e03aa796ce5d
@@ -6,4 +6,4 @@ Size (af02b08f844200aa3ee611062036499f65
BLAKE2s (lcov-2.6.tar.gz) = a2c53724e238994c00e44e8558db49bef0125ea1b5c78938c43c7aa9f15fb299
SHA512 (lcov-2.6.tar.gz) = fa420e9adeffc68e1c9331a705cd055c4c8367d49742b38ea21a23b25f74ff5c71b4873123d9cde63a40988fb2c334690f4fc18aa30dd23e5fb52927d4b52501
Size (lcov-2.6.tar.gz) = 1172595 bytes
-SHA1 (patch-lib_LcovUtil_Makefile.PL) = d2c57c45698d72477c33ca735fd4798547baa786
+SHA1 (patch-lib_LcovUtil_Makefile.PL) = de70cfa82f69a5407780a278e09d0fe4cf0d0780
Index: pkgsrc/devel/lcov/patches/patch-lib_LcovUtil_Makefile.PL
diff -u pkgsrc/devel/lcov/patches/patch-lib_LcovUtil_Makefile.PL:1.1 pkgsrc/devel/lcov/patches/patch-lib_LcovUtil_Makefile.PL:1.2
--- pkgsrc/devel/lcov/patches/patch-lib_LcovUtil_Makefile.PL:1.1 Sun Oct 4 10:06:14 2026
+++ pkgsrc/devel/lcov/patches/patch-lib_LcovUtil_Makefile.PL Mon Oct 19 14:12:16 2026
@@ -1,16 +1,39 @@
-$NetBSD: patch-lib_LcovUtil_Makefile.PL,v 1.1 2026/10/04 10:06:14 wiz Exp $
+$NetBSD: patch-lib_LcovUtil_Makefile.PL,v 1.2 2026/10/19 14:12:16 wiz Exp $
-Fix build on NetBSD.
-https://github.com/linux-test-project/lcov/issues/552
+Makefile.PL: make the -static-libstdc++ probe use the C++ runtime
+https://github.com/linux-test-project/lcov/pull/560
---- lib/LcovUtil/Makefile.PL.orig 2026-10-04 08:54:16.488088210 +0000
+--- lib/LcovUtil/Makefile.PL.orig 2026-09-29 23:30:59.000000000 +0000
+++ lib/LcovUtil/Makefile.PL
-@@ -191,7 +191,7 @@ my $cxx_runtime_flags = '';
- # Look for libc++ as well as libstdc++: clang spells the option the same
- # way but may be using libc++ instead, in which case that is the library to
- # ask about.
-- if ($find_lib->('libstdc++.a', 'libc++.a') &&
-+ if (0 && $find_lib->('libstdc++.a', 'libc++.a') &&
- $can_link->('-static-libstdc++')) {
- $cxx_runtime_flags = ' -static-libstdc++';
- } else {
+@@ -162,7 +162,21 @@ my $cxx_runtime_flags = '';
+ my $out = File::Spec->catfile($tmpdir, 'probe.so');
+ open(my $probe, '>', $src) or
+ die "Makefile.PL: cannot write $src: $!\n";
+- print($probe "extern \"C\" int lcov_probe() { return 0; }\n");
++ # Use exceptions, as the extension does: an empty probe pulls nothing out
++ # of a static libstdc++.a, so it links even where the real extension cannot
++ # (e.g. a libstdc++.a which is not position-independent - see #552).
++ print($probe <<'END_PROBE');
++#include <stdexcept>
++#include <string>
++extern "C" int lcov_probe(const char *s)
++{
++ try {
++ throw std::runtime_error(std::string(s));
++ } catch (const std::exception &e) {
++ return static_cast<int>(std::string(e.what()).size());
++ }
++}
++END_PROBE
+ close($probe);
+
+ # True when $cxx can build a shared object with these extra flags.
+@@ -206,7 +220,7 @@ my $cxx_runtime_flags = '';
+ if (defined($rpath) && $can_link->($rpath)) {
+ $cxx_runtime_flags = " $rpath";
+ print <<"END_MSG";
+-Makefile.PL: no static C++ library for '$cxx'; using an rpath instead.
++Makefile.PL: no usable static C++ library for '$cxx'; using an rpath instead.
+ The extension will look for its C++ runtime in
+ $dir
+ before anything named by LD_LIBRARY_PATH. Moving or removing that directory
Home |
Main Index |
Thread Index |
Old Index