summaryrefslogtreecommitdiff
path: root/dev-debug/leaktracer
diff options
context:
space:
mode:
Diffstat (limited to 'dev-debug/leaktracer')
-rw-r--r--dev-debug/leaktracer/Manifest3
-rw-r--r--dev-debug/leaktracer/leaktracer-2.4-r3.ebuild56
-rw-r--r--dev-debug/leaktracer/metadata.xml5
3 files changed, 64 insertions, 0 deletions
diff --git a/dev-debug/leaktracer/Manifest b/dev-debug/leaktracer/Manifest
new file mode 100644
index 000000000000..78c521601efd
--- /dev/null
+++ b/dev-debug/leaktracer/Manifest
@@ -0,0 +1,3 @@
+DIST leaktracer-2.4-gentoo_p2.tbz2 11957 BLAKE2B 0af20e7a43c88a16027e859779924ef3fc86af5fb8324a96721f190db4ef59d78681ea4b91ef9843ed467541c9ca3a9b1618339174fdc1901a13b5221acc5479 SHA512 12f348564933c8cf372208f846bb21b175f041e7687811e9c6ce8062e7f285b9d2395e7853a20df11d9b0d5b8fff89efc76ccbac9f8b7c0bc4fd4ea25d476718
+EBUILD leaktracer-2.4-r3.ebuild 1383 BLAKE2B da5c32dbe9d14c1c5a91f6b6cf12f5ab0fddc21d2a3f832d5e52ca2a5eda088ee2ffcdda3a615785b104f586f5077f57ebef87bdb31b389e13da38eb096320b0 SHA512 1ed1b8e1e59d5015e190871bf16e719a173a8f97a00250b67222742bee770ebaaa9abed0b379f003ed782bb857e8bad3bd8fcdfdcd329eaefee2e94553114749
+MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a
diff --git a/dev-debug/leaktracer/leaktracer-2.4-r3.ebuild b/dev-debug/leaktracer/leaktracer-2.4-r3.ebuild
new file mode 100644
index 000000000000..e0ba6140a682
--- /dev/null
+++ b/dev-debug/leaktracer/leaktracer-2.4-r3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# Upstream-package has no version in it's name.
+# We therefore repackage it directly, together with the patches.
+PATCH_LEVEL="2"
+
+DESCRIPTION="Trace and analyze memory leaks in C++ programs"
+HOMEPAGE="https://andreasen.org/LeakTracer/"
+SRC_URI="mirror://gentoo/${P}-gentoo_p${PATCH_LEVEL}.tbz2"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="dev-lang/perl
+ dev-debug/gdb"
+RDEPEND="${DEPEND}"
+
+# leaktracer is being realized using LD_PRELOAD and segfaults
+# when being run in the sandbox and the library is _not_ in
+# /usr/$(get_libdir) which is not possible before installation
+RESTRICT="test"
+
+src_prepare() {
+ eapply -p1 "${WORKDIR}/patches/01_all_gcc-cflags.patch"
+ eapply -p0 "${WORKDIR}/patches/05_all_libdir.patch"
+ eapply -p1 "${WORKDIR}/patches/15_all_printf.patch"
+
+ sed -i \
+ -e "s|%LIBDIR%|$(get_libdir)|" \
+ LeakCheck || die "sed for setting lib path failed"
+
+ eapply_user
+}
+
+src_compile() {
+ emake CXX="$(tc-getCXX)"
+}
+
+src_install() {
+ dobin LeakCheck leak-analyze
+ dolib.so LeakTracer.so
+ dodoc README test.cc
+ docinto html
+ dodoc README.html
+}
+
+pkg_postinst() {
+ elog "To use LeakTracer, run LeakCheck my_prog and then leak-analyze my_prog leak.out"
+ elog "Please refer to README file for more info."
+}
diff --git a/dev-debug/leaktracer/metadata.xml b/dev-debug/leaktracer/metadata.xml
new file mode 100644
index 000000000000..85e4ed814fa2
--- /dev/null
+++ b/dev-debug/leaktracer/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>