summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gentoo.org>2016-09-29 20:12:56 +0300
committerAndrew Savchenko <bircoph@gentoo.org>2016-09-29 20:20:38 +0300
commitff277b921fc3cdb1a531522e8424d29f3d243490 (patch)
tree62d711d34f9fdc635ca4efa0ccbe9fd4a4f20b2e /dev-util/duma
parentdev-scheme/kawa: remove unused patch (diff)
downloadgentoo-ff277b921fc3cdb1a531522e8424d29f3d243490.tar.gz
gentoo-ff277b921fc3cdb1a531522e8424d29f3d243490.tar.bz2
gentoo-ff277b921fc3cdb1a531522e8424d29f3d243490.zip
dev-util/duma: bump to EAPI 6
Package-Manager: portage-2.3.1 Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>
Diffstat (limited to 'dev-util/duma')
-rw-r--r--dev-util/duma/duma-2.5.15-r2.ebuild93
1 files changed, 93 insertions, 0 deletions
diff --git a/dev-util/duma/duma-2.5.15-r2.ebuild b/dev-util/duma/duma-2.5.15-r2.ebuild
new file mode 100644
index 000000000000..f789883bdb3b
--- /dev/null
+++ b/dev-util/duma/duma-2.5.15-r2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit 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
+ mirror://gentoo/${P}-GNUmakefile.patch.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="examples"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${WORKDIR}"/${P}-GNUmakefile.patch
+)
+
+src_configure() {
+ # other flags will break duma
+ export CFLAGS="-O0 -Wall -Wextra -U_FORTIFY_SOURCE"
+ tc-export AR CC CXX LD RANLIB
+
+ case "${CHOST}" in
+ *-linux-gnu)
+ OS=linux;;
+ *-solaris*)
+ OS=solaris;;
+ *-darwin*)
+ OS=osx;;
+ *-freebsd*)
+ OS=freebsd;;
+ *-netbsd*)
+ OS=netbsd;;
+ *-cygwin*)
+ OS=cygwin;;
+ **-irix**)
+ OS=irix;;
+ esac
+ export OS="${OS}"
+ elog "Detected OS is: ${OS}"
+
+ if use amd64 && ! [ -n "${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="${D}/usr" libdir="${D}/usr/$(get_libdir)" \
+ docdir="${D}/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
+ insinto /usr/share/doc/${PF}/examples
+ doins 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"
+}