summaryrefslogtreecommitdiff
path: root/dev-debug/duma
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-04-12 00:33:29 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-04-12 00:33:29 +0100
commit3a6d209caa07e3be8e8423251b70c8bbeeedb17f (patch)
treeaa94c255fa1bd982214ca518fb93d674cc253101 /dev-debug/duma
parent1f43daba2fbe6f53e67c63944941dc645657c5b3 (diff)
gentoo auto-resync : 12:04:2024 - 00:33:28
Diffstat (limited to 'dev-debug/duma')
-rw-r--r--dev-debug/duma/Manifest1
-rw-r--r--dev-debug/duma/duma-2.5.15-r3.ebuild85
2 files changed, 86 insertions, 0 deletions
diff --git a/dev-debug/duma/Manifest b/dev-debug/duma/Manifest
index 0d6ed8566c67..f4278257c429 100644
--- a/dev-debug/duma/Manifest
+++ b/dev-debug/duma/Manifest
@@ -2,4 +2,5 @@ AUX duma-2.5.15-gcc6.patch 599 BLAKE2B 7fa6c2d42b9c1191e40854aae2bfee236b0c9f9e5
DIST duma-2.5.15-GNUmakefile.patch.bz2 4618 BLAKE2B 506127ce1f8f3d01d0443ab1240c585aa734bf3756ae632ccec8ff88f33fc0ffc5113705d5c3c31c14bf52a2cf3c82132669c2c14d24f0c6df17b8e802c8ef40 SHA512 6d83294897a60c6d0ebac388c8f791adc6a199b2c9838497bcfff39502262014c8437a331e08e3526568d3ef755a7dfdc2557771bdae89c58cd5f714eae70df2
DIST duma_2_5_15.tar.gz 240479 BLAKE2B c79f47ba418e22a65a2ad2d4cbff796c2a620ec5f36743d543fe1260e61ec700c648033ac3c91e71be3f3e1129a1c12e9f83a91277244962cfbd494d9588d681 SHA512 0e2abdb08cfbaf9fd0a6be348c831a83ac4ee86d2297dcd1c4d625ddb4b2c1c73eef05e2b895e291d5b8076b1baea559c89d475f30e409210df4ab69b71b6345
EBUILD duma-2.5.15-r2.ebuild 2164 BLAKE2B 350d182db6009a3ee6b84ec03a9dd9b703282e26600cbe00710dc8ac07cf1136d54d9782d1c9ae31a1ab1ae970cd7b658d9db5b9125b83564e97108d63c3bbd0 SHA512 64dfeb411018292ccfcfdf784d35db370a69e03fab1867d0dfcd8c66d0c16249e49f7dab8834e98a3c2aa825da9679adb33f8f45d7b3f61a5e72b0354d462b51
+EBUILD duma-2.5.15-r3.ebuild 2117 BLAKE2B c9ca086184e8b8c7d83a1d2ab145cfeea2d244b34d35b355422b488615797f6cae0155f549b13076c9c0ad2f713ce01669caf1939298c0d67c009780e820d27e SHA512 933932e5b1e6f5027e47118fa8ffaabf0c792225c197f635de2c9a20f128f2d76f2552e7f90e2910000b32afbbfa09c320179ca76d722f7f86a985d6273f304a
MISC metadata.xml 513 BLAKE2B 38e5501e1e6330168567d0bac3adee680025df82160f5e3d2b57161ebbf913ab5b3338b28eb13686d62a197cc19167933a80895d67296b92fb76cef8ff3a85d2 SHA512 e3fc78a9197bab39ccbd386824fe9862d6b34fa424df0fc137281b0277aa725ab4ddc0f360b5460f36dce14d2ce1f7b1bb566280bb31ae327e8d85c1523b1f28
diff --git a/dev-debug/duma/duma-2.5.15-r3.ebuild b/dev-debug/duma/duma-2.5.15-r3.ebuild
new file mode 100644
index 000000000000..829ceeeaf79f
--- /dev/null
+++ b/dev-debug/duma/duma-2.5.15-r3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="DUMA (Detect Unintended Memory Access) is a memory debugging library"
+HOMEPAGE="http://duma.sourceforge.net"
+SRC_URI="mirror://sourceforge/duma/${P//[.-]/_}.tar.gz
+ mirror://gentoo/${P}-GNUmakefile.patch.bz2"
+S=${WORKDIR}/${P//[.-]/_}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="examples"
+
+PATCHES=(
+ "${WORKDIR}"/${P}-GNUmakefile.patch
+ "${FILESDIR}"/${P}-gcc6.patch
+)
+
+src_configure() {
+ # other flags will break duma
+ export CFLAGS="-O0 -Wall -Wextra -U_FORTIFY_SOURCE"
+ tc-export AR CC CXX LD RANLIB
+
+ # bug #789708
+ append-cxxflags -std=c++14
+
+ case "${CHOST}" in
+ *-linux-gnu)
+ OS=linux;;
+ *-solaris*)
+ OS=solaris;;
+ *-darwin*)
+ OS=osx;;
+ esac
+ export OS="${OS}"
+ elog "Detected OS is: ${OS}"
+
+ if use amd64 && [[ -z "${DUMA_ALIGNMENT}" ]]; then
+ export DUMA_ALIGNMENT=16
+ elog "Exported DUMA_ALIGNMENT=${DUMA_ALIGNMENT} for x86_64,"
+ fi
+}
+
+src_compile() {
+ # The below must be run first if distcc is enabled, otherwise
+ # the real build breaks on parallel makes.
+ emake reconfig
+ emake
+}
+
+src_test() {
+ emake test
+
+ elog "Please, see the output above to verify all tests have passed."
+ elog "Both static and dynamic confidence tests should say PASSED."
+}
+
+src_install() {
+ emake prefix="${ED}/usr" libdir="${ED}/usr/$(get_libdir)" \
+ docdir="${ED}/usr/share/doc/${PF}" install
+
+ sed -i "s|LD_PRELOAD=./libduma|LD_PRELOAD=libduma|" "${D}"/usr/bin/duma \
+ || die "sed failed"
+
+ dodoc CHANGELOG TODO GNUmakefile
+
+ if use examples; then
+ docinto examples
+ dodoc example[1-6].cpp example_makes/ex6/Makefile
+ fi
+}
+
+pkg_postinst() {
+ elog "See the GNUmakefile which will be also installed at"
+ elog "/usr/share/doc/${PF} for more options. You can now export"
+ elog "varibles to the build system easily, e.g.:"
+ elog "# export CPPFLAGS=\"-DFLAG\" (or by using append-cppflags)"
+ elog "# export DUMA_ALIGNMENT=${DUMA_ALIGNMENT} (Default is 16 for x86_64)"
+ elog "See more information about DUMA_ALIGNMENT from Readme.txt"
+}