commit:     ff277b921fc3cdb1a531522e8424d29f3d243490
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 29 17:12:56 2016 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Thu Sep 29 17:20:38 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff277b92

dev-util/duma: bump to EAPI 6

Package-Manager: portage-2.3.1
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 dev-util/duma/duma-2.5.15-r2.ebuild | 93 +++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

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 00000000..f789883
--- /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"
+}

Reply via email to