diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2007-04-30 16:44:54 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2007-04-30 16:44:54 +0000 |
commit | 833605798c27d509f9f41c3927d1812621859a79 (patch) | |
tree | 7ad13581c1b7b2b307bae565e64e6ab33ece111c /sci-libs/fftw | |
parent | Version bump. (diff) | |
download | gentoo-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/ChangeLog | 12 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-2.1.5-r3.ebuild | 127 | ||||
-rw-r--r-- | sci-libs/fftw/files/digest-fftw-2.1.5-r3 | 3 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-as-needed.patch | 19 | ||||
-rw-r--r-- | sci-libs/fftw/metadata.xml | 9 |
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> |