summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2007-04-30 16:44:54 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2007-04-30 16:44:54 +0000
commit833605798c27d509f9f41c3927d1812621859a79 (patch)
tree7ad13581c1b7b2b307bae565e64e6ab33ece111c /sci-libs/fftw
parentVersion bump. (diff)
downloadgentoo-2-833605798c27d509f9f41c3927d1812621859a79.tar.gz
gentoo-2-833605798c27d509f9f41c3927d1812621859a79.tar.bz2
gentoo-2-833605798c27d509f9f41c3927d1812621859a79.zip
Revamped ebuild for version 2: x86 hacks now only for x86 arches, added a
(Portage version: 2.1.2.2)
Diffstat (limited to 'sci-libs/fftw')
-rw-r--r--sci-libs/fftw/ChangeLog12
-rw-r--r--sci-libs/fftw/fftw-2.1.5-r3.ebuild127
-rw-r--r--sci-libs/fftw/files/digest-fftw-2.1.5-r33
-rw-r--r--sci-libs/fftw/files/fftw-2.1.5-as-needed.patch19
-rw-r--r--sci-libs/fftw/metadata.xml9
5 files changed, 160 insertions, 10 deletions
diff --git a/sci-libs/fftw/ChangeLog b/sci-libs/fftw/ChangeLog
index 7ff3a88e5be3..330894018bce 100644
--- a/sci-libs/fftw/ChangeLog
+++ b/sci-libs/fftw/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sci-libs/fftw
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.48 2007/04/27 04:09:10 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.49 2007/04/30 16:44:54 bicatali Exp $
+
+*fftw-2.1.5-r3 (30 Apr 2007)
+
+ 30 Apr 2007; Sébastien Fabbro <bicatali@gentoo.org>
+ files/fftw-2.1.5-as-needed.patch, metadata.xml, +fftw-2.1.5-r3.ebuild:
+ Revamped ebuild for version 2: x86 hacks now only for x86 arches, added a
+ doc flag, added a float USE flag instead of the SINGLE env variable,
+ switched to virtual/mpi, added a src_test, fixed the as-needed patch,
+ general cleaning and added longdescription in metadata.xml. Closing bugs
+ #130381 and bug #152393.
27 Apr 2007; Jeroen Roovers <jer@gentoo.org> fftw-2.1.5-r2.ebuild:
Marked ~hppa.
diff --git a/sci-libs/fftw/fftw-2.1.5-r3.ebuild b/sci-libs/fftw/fftw-2.1.5-r3.ebuild
new file mode 100644
index 000000000000..080a180dc057
--- /dev/null
+++ b/sci-libs/fftw/fftw-2.1.5-r3.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2007 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-r3.ebuild,v 1.1 2007/04/30 16:44:54 bicatali Exp $
+
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+
+inherit flag-o-matic multilib autotools
+
+IUSE="doc mpi float"
+
+DESCRIPTION="C subroutine library for computing the Discrete Fourier Transform (DFT)"
+SRC_URI="http://www.fftw.org/${P}.tar.gz"
+HOMEPAGE="http://www.fftw.org"
+
+# hppa does not have yet a virtual/mpi, and just got ~.
+DEPEND="mpi? ( !hppa? ( virtual/mpi ) )
+ mpi? ( hppa? ( sys-cluster/lam-mpi ) )"
+
+SLOT="2.1"
+LICENSE="GPL-2"
+
+KEYWORDS="alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
+
+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 [ "${ARCH}" == "x86" ]; then
+ is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer"
+ fi
+}
+
+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"
+ # fix info files
+ for infofile in doc/fftw*info*; do
+ echo "INFO-DIR-SECTION Libraries" >>${infofile}
+ echo "START-INFO-DIR-ENTRY" >>${infofile}
+ echo "* fftw: (fftw). C subroutine library for computing the Discrete Fourier Transform (DFT)" >>${infofile}
+ echo "END-INFO-DIR-ENTRY" >>${infofile}
+ done
+
+ eautoreconf
+
+ cd "${WORKDIR}"
+ cp -R ${P} ${P}-double
+ mv ${P} ${P}-single
+}
+
+
+src_compile() {
+ cd "${S}-single"
+ econf \
+ --enable-float \
+ --enable-shared \
+ --enable-type-prefix \
+ --enable-vec-recurse \
+ --enable-threads \
+ $(use_enable mpi) \
+ $(use_enable x86 i386-hacks) \
+ || die "econf for float failed"
+ emake || die "emake for float failed"
+
+ # the only difference here is no --enable-float
+ cd "${S}-double"
+ econf \
+ --enable-shared \
+ --enable-type-prefix \
+ --enable-vec-recurse \
+ --enable-threads \
+ $(use_enable mpi) \
+ $(use_enable x86 i386-hacks) \
+ || die "econf for double failed"
+ emake || die "emake for double failed"
+}
+
+src_test() {
+ cd "${S}-single"
+ emake check || die "emake check single failed"
+ cd "${S}-double"
+ emake 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"
+ 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/*
+
+ cd "${S}-double"
+ emake DESTDIR="${D}" install || die "emake install double failed"
+
+ if use float; then
+ dosym sfftw.h /usr/include/fftw.h
+ dosym srfftw.h /usr/include/rfftw.h
+ dosym libsfftw.so /usr/$(get_libdir)/libfftw.so
+ dosym libsrfftw.so /usr/$(get_libdir)/librfftw.so
+ dosym sfftw_threads.h /usr/include/fftw_threads.h
+ dosym srfftw_threads.h /usr/include/rfftw_threads.h
+ dosym libsfftw_threads.so /usr/$(get_libdir)/libfftw_threads.so
+ dosym libsrfftw_threads.so /usr/$(get_libdir)/librfftw_threads.so
+ else
+ dosym dfftw.h /usr/include/fftw.h
+ dosym drfftw.h /usr/include/rfftw.h
+ dosym libdfftw.so /usr/$(get_libdir)/libfftw.so
+ dosym libdrfftw.so /usr/$(get_libdir)/librfftw.so
+ dosym dfftw_threads.h /usr/include/fftw_threads.h
+ dosym drfftw_threads.h /usr/include/rfftw_threads.h
+ dosym libdfftw_threads.so /usr/$(get_libdir)/libfftw_threads.so
+ dosym libdrfftw_threads.so /usr/$(get_libdir)/librfftw_threads.so
+ fi
+}
diff --git a/sci-libs/fftw/files/digest-fftw-2.1.5-r3 b/sci-libs/fftw/files/digest-fftw-2.1.5-r3
new file mode 100644
index 000000000000..949efaeda653
--- /dev/null
+++ b/sci-libs/fftw/files/digest-fftw-2.1.5-r3
@@ -0,0 +1,3 @@
+MD5 8d16a84f3ca02a785ef9eb36249ba433 fftw-2.1.5.tar.gz 1256888
+RMD160 723308722d76c12710db6473979adf8d086b0909 fftw-2.1.5.tar.gz 1256888
+SHA256 f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630 fftw-2.1.5.tar.gz 1256888
diff --git a/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch
index f34ee1237e8d..1f25232bc05d 100644
--- a/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch
+++ b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch
@@ -1,11 +1,12 @@
---- fftw-2.1.5-single/rfftw/Makefile.in.old 2006-10-22 18:30:13.000000000 +0200
-+++ fftw-2.1.5-single/rfftw/Makefile.in 2006-10-22 18:45:49.000000000 +0200
-@@ -177,7 +177,7 @@
- CONFIG_CLEAN_FILES =
- LTLIBRARIES = $(lib_LTLIBRARIES)
+Index: fftw-2.1.5/rfftw/Makefile.am
+===================================================================
+--- fftw-2.1.5.orig/rfftw/Makefile.am
++++ fftw-2.1.5/rfftw/Makefile.am
+@@ -18,6 +18,7 @@ lib@FFTW_PREFIX@rfftw_la_SOURCES = $(COD
+ rfftw.h
--lib@FFTW_PREFIX@rfftw_la_LIBADD =
+ lib@FFTW_PREFIX@rfftw_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
+lib@FFTW_PREFIX@rfftw_la_LIBADD = ../fftw/lib@FFTW_PREFIX@fftw.la
- am__objects_1 = frc_1.lo frc_2.lo frc_3.lo frc_4.lo frc_5.lo frc_6.lo \
- frc_7.lo frc_8.lo frc_9.lo frc_10.lo frc_11.lo frc_12.lo \
- frc_13.lo frc_14.lo frc_15.lo frc_16.lo frc_32.lo frc_64.lo \
+ MAINTAINERCLEANFILES = $(CODELETS) rconfig.c
+ DISTCLEANFILES = srfftw.h drfftw.h
+
diff --git a/sci-libs/fftw/metadata.xml b/sci-libs/fftw/metadata.xml
index b229aec85b8f..9c91dfbff0eb 100644
--- a/sci-libs/fftw/metadata.xml
+++ b/sci-libs/fftw/metadata.xml
@@ -2,4 +2,13 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>sci</herd>
+<longdescription lang="en">
+The Fastest Fourier Transform in the West is a C subroutine library
+for computing the Discrete Fourier Transform (DFT) in one or more
+dimensions, of both real and complex data, and of arbitrary input
+size. It is becoming the FFT library of choice for most
+applications. Benchmarks, performed on a variety of platforms, show
+that FFTW's performance is typically superior to that of other
+publicly available FFT software.
+</longdescription>
</pkgmetadata>