From 389f351027eae4a0162deea777a59edf2c7a2014 Mon Sep 17 00:00:00 2001 From: Justin Lecher Date: Thu, 1 Apr 2010 19:09:20 +0000 Subject: [PATCH] Fixed the prefix support for Slot:2 Package-Manager: portage-2.2_rc67/cvs/Linux x86_64 --- sci-libs/fftw/ChangeLog | 8 +- sci-libs/fftw/Manifest | 15 ++- sci-libs/fftw/fftw-2.1.5-r5.ebuild | 4 +- sci-libs/fftw/fftw-2.1.5-r6.ebuild | 145 +++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 5 deletions(-) create mode 100644 sci-libs/fftw/fftw-2.1.5-r6.ebuild diff --git a/sci-libs/fftw/ChangeLog b/sci-libs/fftw/ChangeLog index 861eb2cfd234..aabbb74818ea 100644 --- a/sci-libs/fftw/ChangeLog +++ b/sci-libs/fftw/ChangeLog @@ -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 fftw-2.1.5-r5.ebuild, + +fftw-2.1.5-r6.ebuild: + Fixed the prefix support for Slot:2 28 Mar 2010; Justin Lecher fftw-2.1.5-r5.ebuild: Keyworded for ~amd64-linux diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest index 2ca5ce5ace52..85881fda710d 100644 --- a/sci-libs/fftw/Manifest +++ b/sci-libs/fftw/Manifest @@ -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----- diff --git a/sci-libs/fftw/fftw-2.1.5-r5.ebuild b/sci-libs/fftw/fftw-2.1.5-r5.ebuild index 727fcee734dc..e059d9e516d6 100644 --- a/sci-libs/fftw/fftw-2.1.5-r5.ebuild +++ b/sci-libs/fftw/fftw-2.1.5-r5.ebuild @@ -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 index 000000000000..8fe7c649d2b3 --- /dev/null +++ b/sci-libs/fftw/fftw-2.1.5-r6.ebuild @@ -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 +} -- 2.26.2