83 lines
2.2 KiB
Bash
83 lines
2.2 KiB
Bash
# Copyright 1999-2009 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/dev-util/duma/duma-2.5.14-r1.ebuild,v 1.3 2009/09/23 17:44:31 patrick Exp $
|
|
|
|
inherit eutils toolchain-funcs versionator
|
|
|
|
MY_P="${PN}_$(replace_all_version_separators '_')"
|
|
S="${WORKDIR}/${MY_P}"
|
|
|
|
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"
|
|
|
|
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" \
|
|
-i -e "s:share/doc/duma:share/doc/${P}:g" \
|
|
Makefile || die "sed failed"
|
|
}
|
|
|
|
src_compile(){
|
|
use amd64 && export DUMA_ALIGNMENT=16
|
|
# append-flags doesn't work here (stupid static makefile) and neither
|
|
# does distcc or some user-defined CFLAGS. Custom function definitions
|
|
# and all that...
|
|
gmake -j1 CFLAGS="${DUMA_OPTIONS} -O0 -Wall" 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
|
|
}
|