summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Dittrich <markusle@gentoo.org>2006-01-11 16:13:37 +0000
committerMarkus Dittrich <markusle@gentoo.org>2006-01-11 16:13:37 +0000
commitaac0aad6b1deab55acc3c4b9ddad64cdc7d693e0 (patch)
treed0e6e91c93e07c8838d57f94cd45ca397fc84add /sci-libs
parentDrop old version. (diff)
downloadgentoo-2-aac0aad6b1deab55acc3c4b9ddad64cdc7d693e0.tar.gz
gentoo-2-aac0aad6b1deab55acc3c4b9ddad64cdc7d693e0.tar.bz2
gentoo-2-aac0aad6b1deab55acc3c4b9ddad64cdc7d693e0.zip
New lapack-atlas ebuild that compiles against the most recent blas-atlas development release. This fixes the circular dependency issues reported in bug #118521.
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/lapack-atlas/ChangeLog12
-rw-r--r--sci-libs/lapack-atlas/Manifest14
-rw-r--r--sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.115
-rw-r--r--sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild189
4 files changed, 212 insertions, 8 deletions
diff --git a/sci-libs/lapack-atlas/ChangeLog b/sci-libs/lapack-atlas/ChangeLog
index 2ba21980fdc6..889bcf7f7329 100644
--- a/sci-libs/lapack-atlas/ChangeLog
+++ b/sci-libs/lapack-atlas/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sci-libs/lapack-atlas
-# Copyright 2004-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.8 2005/11/13 05:44:04 ribosome Exp $
+# Copyright 2004-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/ChangeLog,v 1.9 2006/01/11 16:13:37 markusle Exp $
+
+*lapack-atlas-3.7.11 (11 Jan 2006)
+
+ 11 Jan 2006; Markus Dittrich <markusle@gentoo.org>
+ +lapack-atlas-3.7.11.ebuild:
+ New lapack-atlas ebuild that compiles against the most recent
+ blas-atlas development release.
+ This fixes the circular dependency issues reported in bug #118521.
*lapack-atlas-3.6.0-r1 (13 Nov 2005)
diff --git a/sci-libs/lapack-atlas/Manifest b/sci-libs/lapack-atlas/Manifest
index 684978f928fd..ba06c0ef84f9 100644
--- a/sci-libs/lapack-atlas/Manifest
+++ b/sci-libs/lapack-atlas/Manifest
@@ -1,9 +1,11 @@
-MD5 d4a9527f27d21f3be1b183a541ce5c22 lapack-atlas-3.6.0-r1.ebuild 4938
-MD5 411293a4de8b51e4379d9c9d9f75852f lapack-atlas-3.6.0.ebuild 5047
-MD5 aa9fc5b563392b0ff749b1eb075c8588 ChangeLog 3380
-MD5 8c623e53daafa025137077c6b65815bd metadata.xml 156
-MD5 13d26350d75e6993f1b3ec48ca97f14e files/war 545
-MD5 b3d716baf0a71dd55ce358d086e4069b files/digest-lapack-atlas-3.6.0-r1 335
+MD5 c3c73b98ca592f1ebcff2fc34ea435d7 ChangeLog 3670
MD5 b3d716baf0a71dd55ce358d086e4069b files/digest-lapack-atlas-3.6.0 335
+MD5 b3d716baf0a71dd55ce358d086e4069b files/digest-lapack-atlas-3.6.0-r1 335
+MD5 61dd7f0f4e157b81d72c6b58d1f47ad3 files/digest-lapack-atlas-3.7.11 338
MD5 1b77dbffbf246309e6e97c77b64735fd files/f77-ATLAS 408
MD5 e362a664ac2e543545706b85664af921 files/unbuffered.patch 497
+MD5 13d26350d75e6993f1b3ec48ca97f14e files/war 545
+MD5 d4a9527f27d21f3be1b183a541ce5c22 lapack-atlas-3.6.0-r1.ebuild 4938
+MD5 411293a4de8b51e4379d9c9d9f75852f lapack-atlas-3.6.0.ebuild 5047
+MD5 6a6ebc29d477a95af200e5b69b33c2db lapack-atlas-3.7.11.ebuild 4927
+MD5 8c623e53daafa025137077c6b65815bd metadata.xml 156
diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11
new file mode 100644
index 000000000000..b633648edaca
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.11
@@ -0,0 +1,5 @@
+MD5 d2940721d6592f43a5d2e7740d13076d atlas3.6.0-shared-libs.1.patch.bz2 5148
+MD5 ccde41dd4f41c47e16ebfa8e6dfd1117 atlas3.7.11.tar.bz2 2032724
+MD5 c35802e688f28f8f65632fb93aad69d8 lapack-20020531-20021004.patch.bz2 59736
+MD5 4192870be88e09ba8c6a805eb31fcfb4 lapack-gentoo.patch 1272
+MD5 a24f59304f87b78cdc7da2ae59c98664 lapack.tgz 4991992
diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild
new file mode 100644
index 000000000000..7a173e389ea6
--- /dev/null
+++ b/sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild
@@ -0,0 +1,189 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/lapack-atlas/lapack-atlas-3.7.11.ebuild,v 1.1 2006/01/11 16:13:37 markusle Exp $
+
+inherit eutils flag-o-matic toolchain-funcs fortran
+
+DESCRIPTION="Full LAPACK implementation using available ATLAS routines"
+LICENSE="BSD"
+HOMEPAGE="http://math-atlas.sourceforge.net/"
+MY_PN="${PN/lapack-/}"
+SRC_URI1="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2"
+SRC_URI2="http://www.netlib.org/lapack/lapack.tgz"
+SRC_URI="${SRC_URI1} ${SRC_URI2}
+ mirror://gentoo/lapack-20020531-20021004.patch.bz2
+ mirror://gentoo/lapack-gentoo.patch
+ mirror://gentoo/${MY_PN}3.6.0-shared-libs.1.patch.bz2"
+
+SLOT="0"
+IUSE="ifc doc"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="virtual/libc
+ >=sys-devel/libtool-1.5
+ ~sci-libs/blas-atlas-3.7.11
+ sci-libs/lapack-config
+ ifc? ( dev-lang/ifc )"
+
+RDEPEND="virtual/libc
+ virtual/blas
+ ifc? ( dev-lang/ifc )" # Need Intel runtime libraries
+
+PROVIDE="virtual/lapack"
+
+FORTRAN="g77 ifc"
+
+S="${WORKDIR}/ATLAS"
+S_LAPACK="${WORKDIR}/LAPACK"
+
+TOP_PATH="${DESTTREE}/$(get_libdir)/lapack"
+# Path where libraries will be installed:
+RPATH="${TOP_PATH}/atlas"
+
+ifc_info() {
+ if [ -z "${IFCFLAGS}" ]
+ then
+ einfo
+ einfo "You may want to set some ifc optimization flags by running this"
+ einfo "ebuild as, for example:"
+ einfo
+ einfo "IFCFLAGS=\"-O3 -tpp7 -xW\" emerge lapack-atlas"
+ einfo "(Pentium 4 exclusive optimizations)."
+ einfo
+ einfo "ifc defaults to -O2, with code tuned for Pentium 4, but that"
+ einfo "will run on any processor."
+ einfo
+ einfo "Beware that ifc's -O3 is very aggressive, sometimes resulting in"
+ einfo "significantly worse performance."
+ einfo
+ fi
+}
+
+src_unpack() {
+ use ifc && ifc_info
+ unpack ${A}
+
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}"/unbuffered.patch
+ epatch "${DISTDIR}"/atlas3.6.0-shared-libs.1.patch.bz2
+ epatch "${DISTDIR}"/lapack-20020531-20021004.patch.bz2
+ epatch "${DISTDIR}"/lapack-gentoo.patch
+ cp "${FILESDIR}"/war "${S}"
+ chmod a+x "${S}"/war
+}
+
+atlas_fail() {
+ eerror
+ eerror "ATLAS auto-config failed."
+ eerror "Please run 'interactive=1 emerge lapack-atlas' to configure"
+ eerror "manually."
+ eerror
+ die "ATLAS auto-config failed."
+}
+
+src_compile() {
+ cd "${S}"
+ if [ -n "${interactive}" ]; then
+ echo "${interactive}"
+ make config CC="$(tc-getCC) -DUSE_LIBTOOL -DINTERACTIVE" || die
+ else
+ # Use ATLAS defaults for all questions:
+ (echo | make config CC="$(tc-getCC) -DUSE_LIBTOOL") || atlas_fail
+ fi
+
+ TMPSTR=$(ls Make.Linux*)
+ ATLAS_ARCH=${TMPSTR#'Make.'}
+
+ CC="libtool --mode=compile --tag=CC $(tc-getCC) -I/usr/include/atlas"
+
+ cd "${S}"/src/lapack/${ATLAS_ARCH}
+ make lib CC="${CC}" || die
+
+ cd "${S}"/interfaces/lapack/C/src/${ATLAS_ARCH}
+ make lib CC="${CC}" || die
+
+ cd "${S}"/interfaces/lapack/F77/src/${ATLAS_ARCH}
+
+ make lib CC="${CC}" F77="libtool --mode=compile --tag=F77 g77" || die
+
+ cd "${S_LAPACK}"
+ if use ifc; then
+ FC="ifc"
+ FFLAGS="${IFCFLAGS}"
+ NOOPT="-O0" # Do NOT change this. It is applied to two files with
+ # routines to determine machine constants.
+ else
+ FC="g77"
+ # g77 hates opts, esp. machine-specific
+ ALLOWED_FLAGS="-O -O1 -O2 -fstack-protector -fno-unit-at-a-time \
+ -pipe -g -Wall"
+ strip-flags
+ FFLAGS="${CFLAGS}"
+ NOOPT=""
+ fi
+ make lapacklib FORTRAN="libtool --mode=compile --tag=F77 ${FC}" OPTS="${FFLAGS}" \
+ NOOPT="${NOOPT}" || die
+
+ cd "${S_LAPACK}"/SRC
+ cp -sf "${S}"/gentoo/liblapack.a/*.o .
+ cp -sf "${S}"/gentoo/liblapack.a/*.lo .
+ cp -sf "${S}"/gentoo/liblapack.a/.libs/*.o .libs/
+
+ if use ifc; then
+ ifc ${FFLAGS} -shared .libs/*.o -Wl,-soname -Wl,liblapack.so.0 \
+ -o liblapack.so.0.0.0 -lblas -lcblas -latlas \
+ -L$(gcc-config -L) -lg2c || die
+ ar cru liblapack.a *.o || die
+ ranlib liblapack.a || die
+ else
+ libtool --mode=link --tag=CC $(tc-getCC) -o liblapack.la *.lo \
+ -rpath "${RPATH}" -lblas -lcblas -latlas -lg2c || die
+ fi
+}
+
+src_install () {
+ dodir "${RPATH}"
+
+ cd "${S_LAPACK}"/SRC
+ if use ifc; then
+ strip --strip-unneeded liblapack.so.0.0.0 || die
+ strip --strip-debug liblapack.a || die
+
+ exeinto "${RPATH}"
+ doexe liblapack.so.0.0.0 || die
+ dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so.0 || die
+ dosym liblapack.so.0.0.0 ${RPATH}/liblapack.so || die
+
+ insinto "${RPATH}"
+ doins liblapack.a || die
+ else
+ libtool --mode=install install -s liblapack.la "${D}/${RPATH}" || die
+ fi
+
+ insinto "${TOP_PATH}"
+ doins "${FILESDIR}"/f77-ATLAS || die
+
+ insinto /usr/include/atlas
+ cd "${S}"/include
+ doins clapack.h || die
+
+ cd "${S}"
+ dodoc README || die
+ cd "${S}"/doc
+ dodoc AtlasCredits.txt ChangeLog || die
+ if use doc; then
+ dodoc lapackqref.ps || die
+ fi
+}
+
+pkg_postinst() {
+ /usr/bin/lapack-config ATLAS
+
+ einfo
+ einfo "To link with ATLAS LAPACK from C or Fortran, simply use:"
+ einfo
+ einfo "-llapack"
+ einfo
+ einfo "C users: your header is /usr/include/atlas/clapack.h"
+ einfo
+}