diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2012-07-20 20:30:20 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2012-07-20 20:30:20 +0000 |
commit | fd473513a210cbe5120f8b1df32ab84f1f5a8f8f (patch) | |
tree | 54ea144a5dbd1ab2eaae87efe112416ddaf3657f /sci-libs | |
parent | PHP Kolab patch broken with newer versions of c-client (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-2.1.5-r5.ebuild | 139 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.2.2-r1.ebuild | 127 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.3-r1.ebuild | 133 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.3-r2.ebuild | 136 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.3.1.ebuild | 137 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.3.2.ebuild | 46 |
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 } |