diff options
author | Olivier Fisette <ribosome@gentoo.org> | 2006-11-03 14:59:37 +0000 |
---|---|---|
committer | Olivier Fisette <ribosome@gentoo.org> | 2006-11-03 14:59:37 +0000 |
commit | a1150d8744edfb97c0af5af6555cb43dafba622c (patch) | |
tree | 7f8fce49643c573c81999f00b03dcd8be858eed1 /sci-libs | |
parent | old (diff) | |
download | gentoo-2-a1150d8744edfb97c0af5af6555cb43dafba622c.tar.gz gentoo-2-a1150d8744edfb97c0af5af6555cb43dafba622c.tar.bz2 gentoo-2-a1150d8744edfb97c0af5af6555cb43dafba622c.zip |
Fixed "--as-needed" brokenness in the stable branch
(Portage version: 2.1.1-r1)
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/fftw/ChangeLog | 9 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-2.1.5-r2.ebuild | 144 | ||||
-rw-r--r-- | sci-libs/fftw/files/digest-fftw-2.1.5-r2 | 3 |
3 files changed, 155 insertions, 1 deletions
diff --git a/sci-libs/fftw/ChangeLog b/sci-libs/fftw/ChangeLog index 1b48109b53a0..5c5b613fe2c5 100644 --- a/sci-libs/fftw/ChangeLog +++ b/sci-libs/fftw/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sci-libs/fftw # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.42 2006/11/01 00:54:56 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.43 2006/11/03 14:59:37 ribosome Exp $ + +*fftw-2.1.5-r2 (03 Nov 2006) + + 03 Nov 2006; Olivier Fisette <ribosome@gentoo.org> -fftw-2.1.5-r1.ebuild, + +fftw-2.1.5-r2.ebuild: + Fixed "--as-needed" brokenness in the stable branch. Adding a new revision + to force unknowingly affected users to recompile. 01 Nov 2006; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog: Update for my nick change spyderous -> dberkholz. diff --git a/sci-libs/fftw/fftw-2.1.5-r2.ebuild b/sci-libs/fftw/fftw-2.1.5-r2.ebuild new file mode 100644 index 000000000000..efc99d2af3a1 --- /dev/null +++ b/sci-libs/fftw/fftw-2.1.5-r2.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2006 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-r2.ebuild,v 1.1 2006/11/03 14:59:37 ribosome Exp $ + +inherit flag-o-matic multilib libtool + +IUSE="mpi" + +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" + +DEPEND="mpi? ( >=sys-cluster/lam-mpi-6.5.6 )" +SLOT="2.1" +LICENSE="GPL-2" + +KEYWORDS="alpha amd64 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}" != "amd64" ]; then + is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer" + fi + + einfo "" + einfo "This ebuild installs double and single precision versions of library" + einfo "This involves some name mangling, as supported by package and required" + einfo "by some apps that use it." + einfo "By default, the symlinks to non-mangled names will be created off" + einfo "double-precision version. In order to symlink to single-precision use" + einfo "SINGLE=yes emerge fftw" + einfo "" +} + +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 "${P}.tar.gz" + cd "${WORKDIR}" + mv ${P} ${P}-single + + unpack "${P}.tar.gz" + cd "${WORKDIR}" + mv ${P} ${P}-double +} + + +src_compile() { + local myconf="" + use mpi && myconf="${myconf} --enable-mpi" + + if [ "${ARCH}" == "amd64" ]; then + myconf="${myconf} --disable-i386-hacks" + else + myconf="${myconf} --enable-i386-hacks" + fi + + #mpi is not a valid flag yet. In this revision it is used merely to block --enable-mpi option + #it might be needed if it is decided that lam is an optional dependence + + cd "${S}-single" + epatch "${FILESDIR}/${P}-as-needed.patch" + libtoolize --copy --force + econf \ + --enable-shared \ + --enable-threads \ + --enable-type-prefix \ + --enable-float \ + --enable-vec-recurse \ + ${myconf} || die "./configure failed" + emake || die + + #the only difference here is no --enable-float + cd "${S}-double" + epatch "${FILESDIR}/${P}-as-needed.patch" + libtoolize --copy --force + econf \ + --enable-shared \ + --enable-threads \ + --enable-type-prefix \ + --enable-vec-recurse \ + ${myconf} || die "./configure failed" + emake || die +} + +src_install () { + #both builds are installed in the same place + #libs are distinguished by preffix (s or d), see docs for details + cd "${S}-single" + + make DESTDIR=${D} install || die + + cd "${S}-double" + + # fix info file + local infofile + 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 + make DESTDIR=${D} install || die + + # Install documentation. + cd "${S}-single" + + dodoc AUTHORS ChangeLog COPYING INSTALL NEWS TODO + dohtml doc/fftw*.html + + if [ "$SINGLE" = "yes" ]; then + cd ${D}usr/include + dosym sfftw.h /usr/include/fftw.h + dosym srfftw.h /usr/include/rfftw.h + dosym sfftw_threads.h /usr/include/fftw_threads.h + dosym srfftw_threads.h /usr/include/rfftw_threads.h + cd ${D}usr/$(get_libdir) + dosym libsfftw.so /usr/$(get_libdir)/libfftw.so + dosym libsrfftw.so /usr/$(get_libdir)/librfftw.so + dosym libsfftw_threads.so /usr/$(get_libdir)/libfftw_threads.so + dosym libsrfftw_threads.so /usr/$(get_libdir)/librfftw_threads.so + else + cd ${D}usr/include + dosym dfftw.h /usr/include/fftw.h + dosym drfftw.h /usr/include/rfftw.h + dosym dfftw_threads.h /usr/include/fftw_threads.h + dosym drfftw_threads.h /usr/include/rfftw_threads.h + cd ${D}usr/$(get_libdir) + dosym libdfftw.so /usr/$(get_libdir)/libfftw.so + dosym libdrfftw.so /usr/$(get_libdir)/librfftw.so + dosym libdfftw_threads.so /usr/$(get_libdir)/libfftw_threads.so + dosym libdrfftw_threads.so /usr/$(get_libdir)/librfftw_threads.so + fi + + cd "${S}-single/fortran" + insinto usr/include + doins fftw_f77.i +} diff --git a/sci-libs/fftw/files/digest-fftw-2.1.5-r2 b/sci-libs/fftw/files/digest-fftw-2.1.5-r2 new file mode 100644 index 000000000000..949efaeda653 --- /dev/null +++ b/sci-libs/fftw/files/digest-fftw-2.1.5-r2 @@ -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 |