diff options
Diffstat (limited to 'sci-libs/djbfft/djbfft-0.76-r2.ebuild')
-rw-r--r-- | sci-libs/djbfft/djbfft-0.76-r2.ebuild | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/sci-libs/djbfft/djbfft-0.76-r2.ebuild b/sci-libs/djbfft/djbfft-0.76-r2.ebuild new file mode 100644 index 000000000000..82052a6daf94 --- /dev/null +++ b/sci-libs/djbfft/djbfft-0.76-r2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal + +DESCRIPTION="Extremely fast library for floating-point convolution" +HOMEPAGE="http://cr.yp.to/djbfft.html" +SRC_URI="http://cr.yp.to/djbfft/${P}.tar.gz" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="alpha amd64 arm ~hppa ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="" +DOCS=( CHANGES README TODO VERSION ) + +src_prepare() { + SOVER="${PV:0:1}.${PV:2:1}.${PV:3:1}" # a.bc -> a.b.c + # mask out everything, which is not suggested by the author (RTFM)! + ALLOWED_FLAGS="-fstack-protector -march -mcpu -pipe -mpreferred-stack-boundary -ffast-math" + strip-flags + + SONAME="libdjbfft.so.${SOVER}" + + epatch \ + "${FILESDIR}"/${P}-gcc3.patch \ + "${FILESDIR}"/${P}-shared.patch \ + "${FILESDIR}"/${P}-headers.patch + multilib_copy_sources +} + +multilib_src_configure() { + [[ ${ABI} == x86* ]] && append-cflags -malign-double + + sed -i -e "s:\"lib\":\"$(get_libdir)\":" hier.c || die + echo "$(tc-getCC) ${CFLAGS} -fPIC" > "conf-cc" + echo "$(tc-getCC) ${LDFLAGS}" > "conf-ld" + echo "${ED}usr" > "conf-home" + einfo "conf-cc: $(<conf-cc)" +} + +multilib_src_compile() { + emake \ + LIBDJBFFT=${SONAME} \ + LIBPERMS=0755 \ + ${SONAME} + echo "the compile function was:" + cat ./compile + echo "the conf-ld function was:" + cat ./conf-ld +} + +multilib_src_test() { + local t + for t in accuracy accuracy2 speed; do + emake ${t} + einfo "Testing ${t}" + LD_LIBRARY_PATH=. ./${t} > ${t}.out || die "test ${t} failed" + done +} + +multilib_src_install() { + emake LIBDJBFFT=${SONAME} install + ./install || die "install failed" + dosym ${SONAME} /usr/$(get_libdir)/libdjbfft.so + dosym ${SONAME} /usr/$(get_libdir)/libdjbfft.so.${SOVER%%.*} +} |