summaryrefslogtreecommitdiff
path: root/dev-util/duma/duma-2.5.13.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-util/duma/duma-2.5.13.ebuild
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-util/duma/duma-2.5.13.ebuild')
-rw-r--r--dev-util/duma/duma-2.5.13.ebuild84
1 files changed, 84 insertions, 0 deletions
diff --git a/dev-util/duma/duma-2.5.13.ebuild b/dev-util/duma/duma-2.5.13.ebuild
new file mode 100644
index 000000000000..5098d942b1e8
--- /dev/null
+++ b/dev-util/duma/duma-2.5.13.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils flag-o-matic multilib toolchain-funcs versionator
+
+MY_P="${PN}_$(replace_all_version_separators '_')"
+
+DESCRIPTION="DUMA (Detect Unintended Memory Access) is a memory debugging library"
+HOMEPAGE="http://duma.sourceforge.net/"
+
+SRC_URI="mirror://sourceforge/duma/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ app-shells/bash"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ #DUMA_OPTIONS="-DDUMA_LIB_NO_LEAKDETECTION"
+ DUMA_OPTIONS="-DDUMA_USE_FRAMENO"
+ if [ -n "${DUMA_OPTIONS}" ]; then
+ ewarn ""
+ elog "Custom build options are ${DUMA_OPTIONS}."
+ else
+ ewarn ""
+ elog "Custom build options are not set!"
+ fi
+ elog "See the package Makefile for for more options (also installed"
+ elog "with package docs as Makefile.duma)."
+ ewarn ""
+}
+
+src_unpack(){
+ unpack ${A}
+ cd "${S}"
+ sed -i -e "s:(prefix)/lib:(prefix)/$(get_libdir):g" Makefile
+ sed -i -e "s:share/doc/duma:share/doc/${P}:g" Makefile
+}
+
+src_compile(){
+ replace-flags O? O0
+ append-flags -Wall -Wextra -U_FORTIFY_SOURCE
+ tc-export AR CC CXX LD RANLIB
+
+ use amd64 && export DUMA_ALIGNMENT=16
+
+ make CPPFLAGS="${DUMA_OPTIONS}" reconfig || die "make reconfig failed"
+ emake CFLAGS="${CFLAGS}" CC=$(tc-getCC) || die "make failed"
+}
+
+src_test() {
+ ewarn "Control-C now if you want to disable tests..."
+ epause 5
+
+ cd "${S}"
+ use amd64 && export DUMA_ALIGNMENT=16
+ make CFLAGS="${DUMA_OPTIONS} ${CFLAGS}" \
+ CC=$(tc-getCC) test || die "make test failed"
+
+ elog ""
+ ewarn "Check output above to verify all tests have passed. Both"
+ ewarn "static and dynamic confidence tests should say PASSED."
+ elog ""
+}
+
+src_install(){
+ # make install fails nicely here on the first file...
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc CHANGELOG TODO
+ # All the good comments on duma build options are in the Makefile
+ newdoc Makefile Makefile.duma
+
+ if use examples; then
+ insinto /usr/share/doc/${P}/examples
+ doins example[1-6].cpp
+ doins example_makes/ex6/Makefile
+ fi
+}