summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fisette <ribosome@gentoo.org>2006-11-03 14:59:37 +0000
committerOlivier Fisette <ribosome@gentoo.org>2006-11-03 14:59:37 +0000
commita1150d8744edfb97c0af5af6555cb43dafba622c (patch)
tree7f8fce49643c573c81999f00b03dcd8be858eed1 /sci-libs
parentold (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--sci-libs/fftw/fftw-2.1.5-r2.ebuild144
-rw-r--r--sci-libs/fftw/files/digest-fftw-2.1.5-r23
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