Fixed the prefix support for Slot:2
authorJustin Lecher <jlec@gentoo.org>
Thu, 1 Apr 2010 19:09:20 +0000 (19:09 +0000)
committerJustin Lecher <jlec@gentoo.org>
Thu, 1 Apr 2010 19:09:20 +0000 (19:09 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sci-libs/fftw/ChangeLog
sci-libs/fftw/Manifest
sci-libs/fftw/fftw-2.1.5-r5.ebuild
sci-libs/fftw/fftw-2.1.5-r6.ebuild [new file with mode: 0644]

index 861eb2cfd234a530866bf47448ec8149d3b68489..aabbb74818ea346f73758bd70f99161818024d47 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sci-libs/fftw
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.99 2010/03/28 18:30:48 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.100 2010/04/01 19:09:20 jlec Exp $
+
+*fftw-2.1.5-r6 (01 Apr 2010)
+
+  01 Apr 2010; Justin Lecher <jlec@gentoo.org> fftw-2.1.5-r5.ebuild,
+  +fftw-2.1.5-r6.ebuild:
+  Fixed the prefix support for Slot:2
 
   28 Mar 2010; Justin Lecher <justin@gentoo.org> fftw-2.1.5-r5.ebuild:
   Keyworded for ~amd64-linux
index 2ca5ce5ace524d96db987fe941c1d7649ee80d27..85881fda710d631152fe3cc416b4ab33ae1e876d 100644 (file)
@@ -1,10 +1,21 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX fftw-2.1.5-as-needed.patch 4374 RMD160 b9bc387a322cec9d36d7d7ff54e556e907767742 SHA1 3274a914d3532190fb8c2c96d944c85b5ab47237 SHA256 b1d65b2dca62257db5c78e81577fb87b7d79f6eb75b8899de48faabfc702e9f0
 AUX fftw-2.1.5-configure.in.patch 8208 RMD160 a1b764dcee85ce7c70b4145feb7c19c82f820562 SHA1 0cddf5f0a3aa6ac196b9ebb9e2af9a9f3202d391 SHA256 67a153b67cd8aef3fedd92da09185063ac0cb17d63f1a06c5f480873e037d6cd
 AUX fftw-2.1.5-no-test.patch 1247 RMD160 deeb232de9301eaf6363b3ae86fa2e940bd46018 SHA1 271d92082832b522a9abad89652c9ccf1167964f SHA256 9a6cad5e81b4a68ef6c8e137a189ffad462cbbea4850211969417b03768eede1
 AUX fftw-3.2.1-as-needed.patch 3184 RMD160 fe4e353851780d1520cfa95cd4403ec7045d9c73 SHA1 c831f88d297579f6feed13a726184dea7f2362f8 SHA256 c70c4544a060f134d88930019562b4b4f413382e33b373e8389036be6aefb91c
 DIST fftw-2.1.5.tar.gz 1256888 RMD160 723308722d76c12710db6473979adf8d086b0909 SHA1 12020b58edc1b0490a83db4aa912fac5dfdfb26b SHA256 f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630
 DIST fftw-3.2.2.tar.gz 3495117 RMD160 27af9b97072fa3a41b91b9430d093f671a1cd359 SHA1 d43b799eedfb9408f62f9f056f5e8a645618467b SHA256 6aa7ae65ee49eb99004f15899f9bb77f54759122f1a350041e81e096157d768f
-EBUILD fftw-2.1.5-r5.ebuild 3847 RMD160 7a311db2b9abb1fa914bd504d4f47dcb4b240eab SHA1 16ab9e20d3ca14bfaff2865a78504ae2c083b3cf SHA256 80c342550e254767a1b946d418f8a43cd0cf0267c7c3f35857cf5bcc73ff5254
+EBUILD fftw-2.1.5-r5.ebuild 3823 RMD160 7d4dedec520b02475884af16de2ca34fc6cc37a4 SHA1 65c35ceefc64ee955646e1918dc2b9e53474c8a7 SHA256 8303d4b4626eded63fdbfcef6326a6977076cd1c8c00becddae11c1b869beabe
+EBUILD fftw-2.1.5-r6.ebuild 3903 RMD160 4302d35de28c9b94061f27b04c4d52205dbda591 SHA1 573d83391c632bb7b45aed74a7a687c30478a077 SHA256 3a79c84876c553a19fadc879d924f14f773b543f151f1f560fdc652d4ac34f43
 EBUILD fftw-3.2.2.ebuild 3683 RMD160 681746c8d11658936d4ac9d8c05657821b840f9d SHA1 e3034b13fee636f004ca94f4a35e6f44ef045978 SHA256 d7a1fce1adf53336cde7dd9aa13c3e2c40f20fe71c8cd623c0693dd027064f97
-MISC ChangeLog 19407 RMD160 f4a6337f613e56fa5121e13b48c219afa5ea6f1c SHA1 c1a7a5c53d5e1315792f9a0c6500a1aecd30170d SHA256 37acdb16016ce00f3783df7ced398f71d970273cdbf962e2d2f29499c4714a11
+MISC ChangeLog 19571 RMD160 2addde73ef277fbd68bba146463ddaf2a0e42ce8 SHA1 e71cdd331759cf9a168a46dad0fdecc289f29350 SHA256 3d646f49ba6ba4757ee465749ad7efe7b58609a5b1d4546cc78d850551697a9a
 MISC metadata.xml 770 RMD160 ca19408a763b8f3db20849456d67c3027cfdba5e SHA1 8c6d41e762d4cc86eaaeee10a2fc9c4743e0e828 SHA256 129a4af8bed71473f17cf323cb11763e09cf9b63eaa764643a1412c649a8c0bb
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAku072YACgkQgAnW8HDreRbbfwCgzkC77/Ggk2HXX+mKa1KgGS3H
+CFUAnRsnpvy2zWQdcbpXai5XaH9YEHaj
+=l3l5
+-----END PGP SIGNATURE-----
index 727fcee734dca96035085d030601fd46279297ec..e059d9e516d6cd11ffb9673274c0de56348acf1f 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 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.15 2010/03/28 18:30:48 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-2.1.5-r5.ebuild,v 1.16 2010/04/01 19:09:20 jlec Exp $
 
 inherit eutils flag-o-matic autotools toolchain-funcs
 
@@ -15,7 +15,7 @@ SLOT="2.1"
 LICENSE="GPL-2"
 IUSE="doc float fortran mpi openmp threads"
 
-KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 s390 sparc x86"
 
 pkg_setup() {
        # this one is reported to cause trouble on pentium4 m series
diff --git a/sci-libs/fftw/fftw-2.1.5-r6.ebuild b/sci-libs/fftw/fftw-2.1.5-r6.ebuild
new file mode 100644 (file)
index 0000000..8fe7c64
--- /dev/null
@@ -0,0 +1,145 @@
+# Copyright 1999-2010 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-r6.ebuild,v 1.1 2010/04/01 19:09:20 jlec Exp $
+
+EAPI="3"
+
+inherit autotools eutils flag-o-matic 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="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 ~amd64-linux ~x86-linux"
+
+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* ]] &&
+               ( [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]] ||
+               ! built_with_use sys-devel/gcc 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."
+               epause 5
+       fi
+       use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed)
+}
+
+src_prepare() {
+       # 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?)
+
+       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_configure() {
+       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 || die "econf for float failed"
+
+       cd "${S}-double"
+       econf ${myconf} || die "econf for double failed"
+}
+
+src_compile() {
+       cd "${S}-single"
+       emake || die "emake for float failed"
+
+       cd "${S}-double"
+       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 "${ED}"/usr/{include,$(get_libdir)}/*sfft*; do
+                       ln -s $(basename ${f}) ${f/sfft/fft}
+               done
+               for f in "${ED}"/usr/{include,$(get_libdir)}/*srfft*; do
+                       ln -s $(basename ${f}) ${f/srfft/rfft}
+               done
+       else
+               for f in "${ED}"/usr/{include,$(get_libdir)}/*dfft*; do
+                       ln -s $(basename ${f}) ${f/dfft/fft}
+               done
+               for f in "${ED}"/usr/{include,$(get_libdir)}/*drfft*; do
+                       ln -s $(basename ${f}) ${f/drfft/rfft}
+               done
+       fi
+}