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