summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2012-07-20 20:30:20 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2012-07-20 20:30:20 +0000
commitfd473513a210cbe5120f8b1df32ab84f1f5a8f8f (patch)
tree54ea144a5dbd1ab2eaae87efe112416ddaf3657f /sci-libs
parentPHP Kolab patch broken with newer versions of c-client (diff)
downloadgentoo-2-fd473513a210cbe5120f8b1df32ab84f1f5a8f8f.tar.gz
gentoo-2-fd473513a210cbe5120f8b1df32ab84f1f5a8f8f.tar.bz2
gentoo-2-fd473513a210cbe5120f8b1df32ab84f1f5a8f8f.zip
Checks on gcc for openmp and quad precision, remove doc when not asked, reduce unit tests to smallcheck, quotes cleaning, remove obsolete versions
(Portage version: 2.2.01.20757-prefix/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/fftw/ChangeLog8
-rw-r--r--sci-libs/fftw/fftw-2.1.5-r5.ebuild139
-rw-r--r--sci-libs/fftw/fftw-3.2.2-r1.ebuild127
-rw-r--r--sci-libs/fftw/fftw-3.3-r1.ebuild133
-rw-r--r--sci-libs/fftw/fftw-3.3-r2.ebuild136
-rw-r--r--sci-libs/fftw/fftw-3.3.1.ebuild137
-rw-r--r--sci-libs/fftw/fftw-3.3.2.ebuild46
7 files changed, 33 insertions, 693 deletions
diff --git a/sci-libs/fftw/ChangeLog b/sci-libs/fftw/ChangeLog
index 888b30d01b4d..ee1a67e24d34 100644
--- a/sci-libs/fftw/ChangeLog
+++ b/sci-libs/fftw/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-libs/fftw
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.125 2012/05/24 07:18:19 ottxor Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.126 2012/07/20 20:30:20 bicatali Exp $
+
+ 20 Jul 2012; Sébastien Fabbro <bicatali@gentoo.org> -fftw-2.1.5-r5.ebuild,
+ -fftw-3.2.2-r1.ebuild, -fftw-3.3-r1.ebuild, -fftw-3.3-r2.ebuild,
+ -fftw-3.3.1.ebuild, fftw-3.3.2.ebuild:
+ Checks on gcc for openmp and quad precision, remove doc when not asked, reduce
+ unit tests to smallcheck, quotes cleaning, remove obsolete versions
*fftw-3.3.2 (24 May 2012)
diff --git a/sci-libs/fftw/fftw-2.1.5-r5.ebuild b/sci-libs/fftw/fftw-2.1.5-r5.ebuild
deleted file mode 100644
index 4bc0092f512f..000000000000
--- a/sci-libs/fftw/fftw-2.1.5-r5.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-2.1.5-r5.ebuild,v 1.24 2012/04/25 17:48:26 jlec Exp $
-
-inherit autotools eutils flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-SRC_URI="http://www.fftw.org/${P}.tar.gz"
-HOMEPAGE="http://www.fftw.org"
-
-DEPEND="
- fortran? ( virtual/fortran )
- mpi? ( virtual/mpi )"
-RDEPEND="${DEPEND}"
-
-SLOT="2.1"
-LICENSE="GPL-2"
-IUSE="doc float fortran mpi openmp threads"
-
-KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 s390 sparc x86"
-
-pkg_setup() {
- use openmp && FORTRAN_NEED_OPENMP="1"
- use fortran && fortran-2_pkg_setup
- # this one is reported to cause trouble on pentium4 m series
- filter-mfpmath "sse"
-
- # here I need (surprise) to increase optimization:
- # --enable-i386-hacks requires -fomit-frame-pointer to work properly
- if use x86; then
- is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer"
- fi
- if use openmp && [[ $(tc-getCC) == *gcc* ]] && ! $(tc-has-openmp); then
- ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 "
- ewarn "If you want to build fftw with OpenMP, abort now,"
- ewarn "and switch CC to an OpenMP capable compiler"
- ewarn "Otherwise the configure script will select POSIX threads."
- fi
- use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
-}
-
-src_unpack() {
- # doc suggests installing single and double precision versions
- # via separate compilations. will do in two separate source trees
- # since some sed'ing is done during the build
- # (?if --enable-type-prefix is set?)
-
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}"/${P}-as-needed.patch
- epatch "${FILESDIR}"/${P}-configure.in.patch
- epatch "${FILESDIR}"/${P}-no-test.patch
-
- # fix info files
- for infofile in doc/fftw*info*; do
- cat >> ${infofile} <<-EOF
- INFO-DIR-SECTION Libraries
- START-INFO-DIR-ENTRY
- * fftw: (fftw). ${DESCRIPTION}
- END-INFO-DIR-ENTRY
- EOF
- done
-
- eautoreconf
-
- cd "${WORKDIR}"
- cp -R ${P} ${P}-double
- mv ${P} ${P}-single
-}
-
-src_compile() {
- local myconf="
- --enable-shared
- --enable-type-prefix
- --enable-vec-recurse
- $(use_enable fortran)
- $(use_enable mpi)
- $(use_enable x86 i386-hacks)"
- if use openmp; then
- myconf="${myconf}
- --enable-threads
- --with-openmp"
- elif use threads; then
- myconf="${myconf}
- --enable-threads
- --without-openmp"
- else
- myconf="${myconf}
- --disable-threads
- --without-openmp"
- fi
- cd "${S}-single"
- econf ${myconf} --enable-float
- emake || die "emake for float failed"
-
- cd "${S}-double"
- econf ${myconf}
- emake || die "emake for double failed"
-}
-
-src_test() {
- cd "${S}-single"
- emake -j1 check || die "emake check single failed"
- cd "${S}-double"
- emake -j1 check || die "emake check double failed"
-}
-
-src_install () {
-
- # both builds are installed in the same place
- # libs are distinguished by prefix (s or d), see docs for details
-
- cd "${S}-single"
- emake DESTDIR="${D}" install || die "emake install float failed"
-
- cd "${S}-double"
- emake DESTDIR="${D}" install || die "emake install double failed"
-
- insinto /usr/include
- doins fortran/fftw_f77.i || die "doins failed"
- dodoc AUTHORS ChangeLog NEWS TODO README README.hacks || die "dodoc failed"
- use doc && dohtml doc/*
-
- if use float; then
- for f in "${D}"/usr/{include,$(get_libdir)}/*sfft*; do
- ln -s $(basename ${f}) ${f/sfft/fft}
- done
- for f in "${D}"/usr/{include,$(get_libdir)}/*srfft*; do
- ln -s $(basename ${f}) ${f/srfft/rfft}
- done
- else
- for f in "${D}"/usr/{include,$(get_libdir)}/*dfft*; do
- ln -s $(basename ${f}) ${f/dfft/fft}
- done
- for f in "${D}"/usr/{include,$(get_libdir)}/*drfft*; do
- ln -s $(basename ${f}) ${f/drfft/rfft}
- done
- fi
-}
diff --git a/sci-libs/fftw/fftw-3.2.2-r1.ebuild b/sci-libs/fftw/fftw-3.2.2-r1.ebuild
deleted file mode 100644
index 1d5c392a07d6..000000000000
--- a/sci-libs/fftw/fftw-3.2.2-r1.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.2.2-r1.ebuild,v 1.5 2011/06/24 10:58:37 jlec Exp $
-
-EAPI=2
-
-inherit autotools eutils flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-SRC_URI="http://www.fftw.org/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="3.0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="altivec doc fortran openmp sse sse2 threads"
-
-DEPEND="fortran? ( virtual/fortran )"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- use openmp && FORTRAN_NEED_OPENMP="1"
- use fortran && fortran-2_pkg_setup
- FFTW_THREADS="--disable-threads --disable-openmp"
- if use openmp; then
- FFTW_THREADS="--disable-threads --enable-openmp"
- elif use threads; then
- FFTW_THREADS="--enable-threads --disable-openmp"
- fi
- if use openmp && ! tc-has-openmp; then
- ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 "
- ewarn "If you want to build fftw with OpenMP, abort now,"
- ewarn "and switch CC to an OpenMP capable compiler"
- ewarn "Otherwise, we will build using POSIX threads."
- epause 5
- FFTW_THREADS="--enable-threads --disable-openmp"
- fi
- FFTW_DIRS="single double longdouble"
- use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
-}
-
-src_prepare() {
- use threads && epatch "${FILESDIR}"/${P}-pc-threads.patch
- epatch "${FILESDIR}"/${PN}-3.2.1-as-needed.patch
-
- # fix info file for category directory
- sed -i \
- -e 's/Texinfo documentation system/Libraries/' \
- doc/fftw3.info || die "failed to fix info file"
-
- rm m4/lt* m4/libtool.m4
-
- AT_M4DIR=m4 eautoreconf
- for x in ${FFTW_DIRS}; do
- mkdir "${S}-${x}" || die
- done
-}
-
-src_configure() {
- # filter -Os according to docs
- replace-flags -Os -O2
-
- local myconfcommon="--enable-shared
- $(use_enable fortran)
- ${FFTW_THREADS}"
-
- local myconfsingle="${myconfcommon} --enable-single"
- local myconfdouble="${myconfcommon}"
- local myconflongdouble="${myconfcommon} --enable-long-double"
- if use sse2; then
- myconfsingle="${myconfsingle} --enable-sse"
- myconfdouble="${myconfdouble} --enable-sse2"
- elif use sse; then
- myconfsingle="${myconfsingle} --enable-sse"
- fi
- # altivec only helps singles, not doubles
- if use altivec; then
- myconfsingle="${myconfsingle} --enable-altivec"
- fi
-
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}"
- einfo "Configuring for ${x} precision"
- local p=myconf${x}
- ECONF_SOURCE="${S}" econf ${!p}
- done
-}
-
-src_compile() {
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}"
- einfo "Compiling for ${x} precision"
- emake || die "emake for ${x} precision failed"
- done
-}
-
-src_test () {
- # We want this to be a reasonably quick test, but that is still hard...
- ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine"
- # Do not increase the number of threads, it will not help your performance
- #local testbase="perl check.pl --nthreads=1 --estimate"
- # ${testbase} -${p}d || die "Failure: $n"
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}/tests"
- einfo "Testing ${x} precision"
- emake -j1 check || die "emake test ${x} failed"
- done
-}
-
-src_install () {
- # all builds are installed in the same place
- # libs have distinuguished names; include files, docs etc. identical.
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}"
- emake DESTDIR="${D}" install || die "emake install for ${x} failed"
- done
-
- cd "${S}"
- dodoc AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS
- if use doc; then
- cd doc
- insinto /usr/share/doc/${PF}
- doins -r html fftw3.pdf || die "doc install failed"
- insinto /usr/share/doc/${PF}/faq
- doins FAQ/fftw-faq.html/*
- fi
-}
diff --git a/sci-libs/fftw/fftw-3.3-r1.ebuild b/sci-libs/fftw/fftw-3.3-r1.ebuild
deleted file mode 100644
index b8043e6dee32..000000000000
--- a/sci-libs/fftw/fftw-3.3-r1.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.3-r1.ebuild,v 1.1 2011/10/09 11:56:41 xarthisius Exp $
-
-EAPI=4
-
-inherit autotools eutils flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-SRC_URI="http://www.fftw.org/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="3.0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="altivec doc fortran mpi openmp sse sse2 static-libs threads"
-
-DEPEND="
- fortran? ( virtual/fortran )
- mpi? ( virtual/mpi )"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- use openmp && FORTRAN_NEED_OPENMP="1"
- use fortran && fortran-2_pkg_setup
- use openmp && FFTW_OPENMP="--enable-openmp"
- if use openmp && ! tc-has-openmp; then
- ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 "
- ewarn "If you want to build fftw with OpenMP, abort now,"
- ewarn "and switch CC to an OpenMP capable compiler"
- ewarn "Otherwise, we will build using POSIX threads."
- epause 5
- FFTW_OPENMP="--disable-openmp"
- fi
- FFTW_DIRS="single double longdouble"
- use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
-}
-
-src_prepare() {
- # fix info file for category directory
- sed -i \
- -e 's/Texinfo documentation system/Libraries/' \
- doc/fftw3.info || die "failed to fix info file"
-
- rm m4/lt* m4/libtool.m4
-
- AT_M4DIR=m4 eautoreconf
- for x in ${FFTW_DIRS}; do
- mkdir "${S}-${x}" || die
- done
-}
-
-src_configure() {
- # filter -Os according to docs
- replace-flags -Os -O2
-
- local myconfcommon="--enable-shared
- $(use_enable static-libs static)
- $(use_enable fortran)
- $(use_enable mpi)
- $(use_enable threads)
- ${FFTW_OPENMP}"
-
- local myconfsingle="${myconfcommon} --enable-single"
- local myconfdouble="${myconfcommon}"
- local myconflongdouble="${myconfcommon} --enable-long-double"
- if use sse2; then
- myconfsingle="${myconfsingle} --enable-sse"
- myconfdouble="${myconfdouble} --enable-sse2"
- elif use sse; then
- myconfsingle="${myconfsingle} --enable-sse"
- fi
- # altivec only helps singles, not doubles
- if use altivec; then
- myconfsingle="${myconfsingle} --enable-altivec"
- fi
-
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}"
- einfo "Configuring for ${x} precision"
- local p=myconf${x}
- ECONF_SOURCE="${S}" econf ${!p}
- done
-}
-
-src_compile() {
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}"
- einfo "Compiling for ${x} precision"
- emake
- done
-}
-
-src_test () {
- # We want this to be a reasonably quick test, but that is still hard...
- ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine"
- # Do not increase the number of threads, it will not help your performance
- #local testbase="perl check.pl --nthreads=1 --estimate"
- # ${testbase} -${p}d || die "Failure: $n"
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}/tests"
- einfo "Testing ${x} precision"
- emake -j1 check
- done
-}
-
-src_install () {
- local f u
-
- # all builds are installed in the same place
- # libs have distinuguished names; include files, docs etc. identical.
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}"
- emake DESTDIR="${D}" install
- done
-
- cd "${S}"
- dodoc AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS
- if use doc; then
- cd doc
- insinto /usr/share/doc/${PF}
- doins -r html fftw3.pdf
- insinto /usr/share/doc/${PF}/faq
- doins FAQ/fftw-faq.html/*
- fi
-
- use openmp && [[ ${FFTW_OPENMP} = "--enable-openmp" ]] && u="omp"
- for f in "${ED}"/usr/lib*/pkgconfig/*.pc; do
- for u in $(usev mpi) $(usev threads) ${u}; do
- sed "s|-lfftw3[lf]\?|&_$u &|" "$f" > "${f%.pc}_$u.pc" || die
- done
- done
-}
diff --git a/sci-libs/fftw/fftw-3.3-r2.ebuild b/sci-libs/fftw/fftw-3.3-r2.ebuild
deleted file mode 100644
index 833ca33f11cc..000000000000
--- a/sci-libs/fftw/fftw-3.3-r2.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.3-r2.ebuild,v 1.2 2012/02/05 20:39:36 ottxor Exp $
-
-EAPI=4
-
-inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-SRC_URI="http://www.fftw.org/${P/_/-}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="3.0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="altivec avx doc fortran mpi openmp quad sse sse2 static-libs threads zbus"
-
-DEPEND="
- fortran? ( virtual/fortran[openmp?] )
- mpi? ( virtual/mpi )"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${P/_/-}
-
-AUTOTOOLS_AUTORECONF=1
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS doc/fftw3.pdf )
-
-HTML_DOCS=( doc/html/ )
-
-pkg_setup() {
- if use openmp; then
- tc-has-openmp || die "Please ensure your compiler has openmp support"
- FORTRAN_NEED_OPENMP="1"
- [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
- fi
- use fortran && fortran-2_pkg_setup
- FFTW_DIRS="single double longdouble"
- use quad && FFTW_DIRS+= "quad"
-}
-
-src_prepare() {
- # fix info file for category directory
- sed -i \
- -e 's/Texinfo documentation system/Libraries/' \
- doc/fftw3.info || die "failed to fix info file"
-
- rm -f m4/lt* m4/libtool.m4
-}
-
-src_configure() {
- local x
-
- # filter -Os according to docs
- replace-flags -Os -O2
-
- for x in ${FFTW_DIRS}; do
- myeconfargs=(
- $(use_enable fortran)
- $(use_enable zbus mips-zbus-timer)
- $(use_enable threads)
- $(use_enable openmp)
- )
- if [[ $x == single ]]; then
- #altivec, sse, single-paired only work for single
- myeconfargs+=(
- --enable-single
- $(use_enable altivec)
- $(use_enable avx)
- $(use_enable sse)
- $(use_enable mpi)
- )
- elif [[ $x == double ]]; then
- myeconfargs+=(
- $(use_enable avx)
- $(use_enable sse2)
- $(use_enable mpi)
- )
- elif [[ $x == longdouble ]]; then
- myeconfargs+=(
- --enable-long-double
- $(use_enable mpi)
- )
- elif [[ $x == quad ]]; then
- #quad does not support mpi
- myeconfargs+=( --enable-quad-precision )
- else
- die "${x} precision not implemented in this ebuild"
- fi
-
- einfo "Configuring for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${S}-${x}" \
- autotools-utils_src_configure
- done
-}
-
-src_compile() {
- for x in ${FFTW_DIRS}; do
- einfo "Compiling for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${S}-${x}" \
- autotools-utils_src_compile
- done
-}
-
-src_test () {
- # We want this to be a reasonably quick test, but that is still hard...
- ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine"
- # Do not increase the number of threads, it will not help your performance
- #local testbase="perl check.pl --nthreads=1 --estimate"
- # ${testbase} -${p}d || die "Failure: $n"
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}/tests"
- einfo "Testing ${x} precision"
- emake -j1 check
- done
-}
-
-src_install () {
- local u x
-
- for x in ${FFTW_DIRS}; do
- AUTOTOOLS_BUILD_DIR="${S}-${x}" \
- autotools-utils_src_install
- done
-
- if use doc; then
- insinto /usr/share/doc/"${PF}"/faq
- doins -r "${S}"/doc/FAQ/fftw-faq.html/*
- fi
-
- for x in "${ED}"/usr/lib*/pkgconfig/*.pc; do
- for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do
- sed "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die
- done
- done
-}
diff --git a/sci-libs/fftw/fftw-3.3.1.ebuild b/sci-libs/fftw/fftw-3.3.1.ebuild
deleted file mode 100644
index a371324b7ffa..000000000000
--- a/sci-libs/fftw/fftw-3.3.1.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.3.1.ebuild,v 1.1 2012/03/29 04:02:19 ottxor Exp $
-
-EAPI=4
-
-inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs
-
-DESCRIPTION="Fast C library for the Discrete Fourier Transform"
-HOMEPAGE="http://www.fftw.org/"
-SRC_URI="http://www.fftw.org/${P/_/-}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="3.0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="altivec avx doc fortran mpi neon openmp quad sse sse2 static-libs threads zbus"
-
-DEPEND="
- fortran? ( virtual/fortran[openmp?] )
- mpi? ( virtual/mpi )"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${P/_/-}
-
-AUTOTOOLS_AUTORECONF=1
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS doc/fftw3.pdf )
-
-HTML_DOCS=( doc/html/ )
-
-pkg_setup() {
- if use openmp; then
- tc-has-openmp || die "Please ensure your compiler has openmp support"
- FORTRAN_NEED_OPENMP="1"
- [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
- fi
- use fortran && fortran-2_pkg_setup
- FFTW_DIRS="single double longdouble"
- use quad && FFTW_DIRS+= "quad"
-}
-
-src_prepare() {
- # fix info file for category directory
- sed -i \
- -e 's/Texinfo documentation system/Libraries/' \
- doc/fftw3.info || die "failed to fix info file"
-
- rm -f m4/lt* m4/libtool.m4
-}
-
-src_configure() {
- local x
-
- # filter -Os according to docs
- replace-flags -Os -O2
-
- for x in ${FFTW_DIRS}; do
- myeconfargs=(
- $(use_enable fortran)
- $(use_enable zbus mips-zbus-timer)
- $(use_enable threads)
- $(use_enable openmp)
- )
- if [[ $x == single ]]; then
- #altivec, sse, single-paired only work for single
- myeconfargs+=(
- --enable-single
- $(use_enable altivec)
- $(use_enable avx)
- $(use_enable sse)
- $(use_enable mpi)
- $(use_enable neon)
- )
- elif [[ $x == double ]]; then
- myeconfargs+=(
- $(use_enable avx)
- $(use_enable sse2)
- $(use_enable mpi)
- )
- elif [[ $x == longdouble ]]; then
- myeconfargs+=(
- --enable-long-double
- $(use_enable mpi)
- )
- elif [[ $x == quad ]]; then
- #quad does not support mpi
- myeconfargs+=( --enable-quad-precision )
- else
- die "${x} precision not implemented in this ebuild"
- fi
-
- einfo "Configuring for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${S}-${x}" \
- autotools-utils_src_configure
- done
-}
-
-src_compile() {
- for x in ${FFTW_DIRS}; do
- einfo "Compiling for ${x} precision"
- AUTOTOOLS_BUILD_DIR="${S}-${x}" \
- autotools-utils_src_compile
- done
-}
-
-src_test () {
- # We want this to be a reasonably quick test, but that is still hard...
- ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine"
- # Do not increase the number of threads, it will not help your performance
- #local testbase="perl check.pl --nthreads=1 --estimate"
- # ${testbase} -${p}d || die "Failure: $n"
- for x in ${FFTW_DIRS}; do
- cd "${S}-${x}/tests"
- einfo "Testing ${x} precision"
- emake -j1 check
- done
-}
-
-src_install () {
- local u x
-
- for x in ${FFTW_DIRS}; do
- AUTOTOOLS_BUILD_DIR="${S}-${x}" \
- autotools-utils_src_install
- done
-
- if use doc; then
- insinto /usr/share/doc/"${PF}"/faq
- doins -r "${S}"/doc/FAQ/fftw-faq.html/*
- fi
-
- for x in "${ED}"/usr/lib*/pkgconfig/*.pc; do
- for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do
- sed "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die
- done
- done
-}
diff --git a/sci-libs/fftw/fftw-3.3.2.ebuild b/sci-libs/fftw/fftw-3.3.2.ebuild
index b6487c680f92..43d20858c6b8 100644
--- a/sci-libs/fftw/fftw-3.3.2.ebuild
+++ b/sci-libs/fftw/fftw-3.3.2.ebuild
@@ -1,14 +1,15 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.3.2.ebuild,v 1.1 2012/05/24 07:18:19 ottxor Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.3.2.ebuild,v 1.2 2012/07/20 20:30:20 bicatali Exp $
EAPI=4
+#AUTOTOOLS_AUTORECONF=1
inherit autotools-utils eutils flag-o-matic fortran-2 toolchain-funcs
DESCRIPTION="Fast C library for the Discrete Fourier Transform"
HOMEPAGE="http://www.fftw.org/"
-SRC_URI="http://www.fftw.org/${P/_/-}.tar.gz"
+SRC_URI="http://www.fftw.org/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="3.0"
@@ -20,23 +21,23 @@ DEPEND="
mpi? ( virtual/mpi )"
RDEPEND="${DEPEND}"
-S=${WORKDIR}/${P/_/-}
-
-AUTOTOOLS_AUTORECONF=1
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS doc/fftw3.pdf )
-
-HTML_DOCS=( doc/html/ )
-
pkg_setup() {
if use openmp; then
- tc-has-openmp || die "Please ensure your compiler has openmp support"
- FORTRAN_NEED_OPENMP="1"
- [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
+ if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
+ ewarn "OpenMP is not available in your current selected gcc"
+ die "need openmp capable gcc"
+ fi
+ FORTRAN_NEED_OPENMP=1
fi
use fortran && fortran-2_pkg_setup
FFTW_DIRS="single double longdouble"
- use quad && FFTW_DIRS+= "quad"
+ if use quad; then
+ if [[ $(tc-getCC) == *gcc ]] && ! version_is_at_least 4.6 $(gcc-version); then
+ ewarn "quad precision only available for gcc >= 4.6"
+ die "need quad precision capable gcc"
+ fi
+ FFTW_DIRS+= "quad"
+ fi
}
src_prepare() {
@@ -45,7 +46,8 @@ src_prepare() {
-e 's/Texinfo documentation system/Libraries/' \
doc/fftw3.info || die "failed to fix info file"
- rm -f m4/lt* m4/libtool.m4
+ # why?
+ #rm m4/lt* m4/libtool.m4
}
src_configure() {
@@ -112,26 +114,30 @@ src_test () {
for x in ${FFTW_DIRS}; do
cd "${S}-${x}/tests"
einfo "Testing ${x} precision"
- emake -j1 check
+ emake smallcheck
done
}
src_install () {
local u x
-
+ DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS )
+ HTML_DOCS=( doc/html/ )
for x in ${FFTW_DIRS}; do
AUTOTOOLS_BUILD_DIR="${S}-${x}" \
autotools-utils_src_install
done
if use doc; then
- insinto /usr/share/doc/"${PF}"/faq
- doins -r "${S}"/doc/FAQ/fftw-faq.html/*
+ dodoc doc/*.pdf
+ insinto /usr/share/doc/${PF}/faq
+ doins -r doc/FAQ/fftw-faq.html/*
+ else
+ rm -r "${ED}"/usr/share/doc/${PF}/html
fi
for x in "${ED}"/usr/lib*/pkgconfig/*.pc; do
for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do
- sed "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die
+ sed -e "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die
done
done
}