aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2008-03-17 16:21:32 +0000
committerbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2008-03-17 16:21:32 +0000
commit76ffb781ed7a917f23b67454e9f950e5e3b83527 (patch)
tree94fa8e1ddc7cb9ef80b78ea7896a5845f074f95b /sci-libs
parentmove stuff to root (diff)
downloadsci-76ffb781ed7a917f23b67454e9f950e5e3b83527.tar.gz
sci-76ffb781ed7a917f23b67454e9f950e5e3b83527.tar.bz2
sci-76ffb781ed7a917f23b67454e9f950e5e3b83527.zip
moved overlay to new directory
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@979 32389bae-6d03-0410-99cf-db05cde120eb
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/cgal-python/Manifest3
-rw-r--r--sci-libs/cgal-python/cgal-python-0.9.1.ebuild43
-rw-r--r--sci-libs/cgal-python/metadata.xml5
-rw-r--r--sci-libs/cgal/Manifest5
-rw-r--r--sci-libs/cgal/cgal-3.2.1.ebuild121
-rw-r--r--sci-libs/cgal/files/cgal_redhat.patch27
-rw-r--r--sci-libs/cgal/files/cgal_soname.patch11
-rw-r--r--sci-libs/cgal/metadata.xml5
-rw-r--r--sci-libs/jama/ChangeLog8
-rw-r--r--sci-libs/jama/Manifest5
-rw-r--r--sci-libs/jama/jama-1.2.5.ebuild34
-rw-r--r--sci-libs/jama/metadata.xml15
-rw-r--r--sci-libs/lapackpp/ChangeLog8
-rw-r--r--sci-libs/lapackpp/Manifest4
-rw-r--r--sci-libs/lapackpp/lapackpp-2.5.2.ebuild38
-rw-r--r--sci-libs/lapackpp/metadata.xml18
-rw-r--r--sci-libs/matio/ChangeLog21
-rw-r--r--sci-libs/matio/Manifest4
-rw-r--r--sci-libs/matio/matio-1.3.1.ebuild38
-rw-r--r--sci-libs/matio/metadata.xml5
-rw-r--r--sci-libs/mkl/Manifest4
-rw-r--r--sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch18
-rw-r--r--sci-libs/mkl/files/mkl-10.0.2.018-tests.patch21
-rw-r--r--sci-libs/mkl/mkl-10.0.2.018.ebuild327
-rw-r--r--sci-libs/parmetis/Manifest4
-rw-r--r--sci-libs/parmetis/files/parmetis-3.1-autotools.patch270
-rw-r--r--sci-libs/parmetis/metadata.xml13
-rw-r--r--sci-libs/parmetis/parmetis-3.1-r1.ebuild38
-rw-r--r--sci-libs/superlu/Manifest6
-rw-r--r--sci-libs/superlu/files/superlu-3.0-autotools.patch298
-rw-r--r--sci-libs/superlu/files/superlu-examples.patch22
-rw-r--r--sci-libs/superlu/files/superlu-makeinc.patch18
-rw-r--r--sci-libs/superlu/metadata.xml21
-rw-r--r--sci-libs/superlu/superlu-3.0.ebuild60
-rw-r--r--sci-libs/tnt/ChangeLog8
-rw-r--r--sci-libs/tnt/Manifest7
-rw-r--r--sci-libs/tnt/metadata.xml14
-rw-r--r--sci-libs/tnt/tnt-1.2.6.ebuild34
-rw-r--r--sci-libs/tnt/tnt-3.0.8.ebuild31
39 files changed, 1632 insertions, 0 deletions
diff --git a/sci-libs/cgal-python/Manifest b/sci-libs/cgal-python/Manifest
new file mode 100644
index 000000000..6650be7cc
--- /dev/null
+++ b/sci-libs/cgal-python/Manifest
@@ -0,0 +1,3 @@
+DIST cgal-python-0.9.1.tar.gz 146703 RMD160 e52f352b359678132db3019ed2d5edec57dd93a3 SHA1 38d08c28ac31eb2f84289a7e2487c49b2575b11f SHA256 507608cf34e6bdee77fdc0aaa753a2d882a8e1f36fb2531bc52a44774bc902e1
+EBUILD cgal-python-0.9.1.ebuild 1107 RMD160 5535aa19d07856cf7a17e8d99ead8e5b5dd16cec SHA1 92887ad601aa5a5361a77a7a3756275883bc81dc SHA256 370c1847ff7deb0eed3e5064cc76bbccfb80fde54dc7b2f8c1f258f30a7b963e
+MISC metadata.xml 169 RMD160 e1db75ae5d177dffc400468c7d76a7e1fe41876d SHA1 0c953712f9b97d5ab3f95ae71997ffbc96c4007d SHA256 36837b011d26f0b83477c7a8632cb0099aedbcba5a3e45c61f20292e079f6180
diff --git a/sci-libs/cgal-python/cgal-python-0.9.1.ebuild b/sci-libs/cgal-python/cgal-python-0.9.1.ebuild
new file mode 100644
index 000000000..64ee76434
--- /dev/null
+++ b/sci-libs/cgal-python/cgal-python-0.9.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit python toolchain-funcs
+
+DESCRIPTION="Provide Python bindings for the CGAL library"
+HOMEPAGE="http://cgal-python.gforge.inria.fr/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/945/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="examples"
+
+DEPEND="sci-libs/cgal"
+RDEPEND="sci-libs/cgal"
+
+src_unpack(){
+ python_version
+ unpack "${A}"
+ cd "${S}"
+ # include python header needed by boost
+ for i in $(find ./bindings/ -name Makefile); do
+ sed "s:-I../..:-I/usr/include/python${PYVER} -I../..:g" -i $i
+ sed "s:@g++:$(tc-getCXX) -fno-strict-aliasing:g" -i $i
+ done
+}
+
+src_compile(){
+ CGAL_MAKEFILE=/usr/share/CGAL/makefile emake
+}
+
+src_install(){
+ CGAL_MAKEFILE=/usr/share/CGAL/makefile emake package
+ pylibdir="$(${python} -c 'from distutils.sysconfig import get_python_lib;print get_python_lib()')"
+ dodir "${pylibdir}"
+ cp -r cgal_package/CGAL "${D}/${pylibdir}"
+ if use example; then
+ dodir /usr/share/doc/${P}
+ cp -r ./test "${D}/usr/share/doc/${P}"
+ fi
+}
diff --git a/sci-libs/cgal-python/metadata.xml b/sci-libs/cgal-python/metadata.xml
new file mode 100644
index 000000000..3190fbf9c
--- /dev/null
+++ b/sci-libs/cgal-python/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+</pkgmetadata>
diff --git a/sci-libs/cgal/Manifest b/sci-libs/cgal/Manifest
new file mode 100644
index 000000000..1ed3ce408
--- /dev/null
+++ b/sci-libs/cgal/Manifest
@@ -0,0 +1,5 @@
+AUX cgal_redhat.patch 847 RMD160 e2a34445fc5d4ef3ff700e640ae0c0724cc8b014 SHA1 f68421364555d0f0b1c55f33aee65de94023bb0a SHA256 150b3c57a2031f95e5227628806d5f4bc587cc10f68bc3e7335d374a4db277a5
+AUX cgal_soname.patch 436 RMD160 abbaf339bc91c55cc85688b0d431c73314c37838 SHA1 3a290d1844fa59c4015860931eb772aef698144b SHA256 1d51e828c7c4a13e0d9ba9120a55d09ffde5a35b8b4141827868e0f6805a4ae1
+DIST CGAL-3.2.1.tar.gz 6391058 RMD160 a0d484140c58f19c0aecd2085588df4d51d41165 SHA1 7999cdd99b35324a6cd0c4c1747e08f5bcd87b95 SHA256 b3dd4fa56744738cb77f18c5097a409fa0ab8245e745fb56e8ebca4311c2a353
+EBUILD cgal-3.2.1.ebuild 3640 RMD160 63328ed295a0f90cede55b177bce19b9be33000b SHA1 78fcb2727f174047d074add1458c01e920042a68 SHA256 9c175795ca341598bc2cabf362400a921f455f2a8d180f5d4c16efe0ab97eea3
+MISC metadata.xml 169 RMD160 e1db75ae5d177dffc400468c7d76a7e1fe41876d SHA1 0c953712f9b97d5ab3f95ae71997ffbc96c4007d SHA256 36837b011d26f0b83477c7a8632cb0099aedbcba5a3e45c61f20292e079f6180
diff --git a/sci-libs/cgal/cgal-3.2.1.ebuild b/sci-libs/cgal/cgal-3.2.1.ebuild
new file mode 100644
index 000000000..3c61263ad
--- /dev/null
+++ b/sci-libs/cgal/cgal-3.2.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils toolchain-funcs qt3
+
+DESCRIPTION="The Computational Geometry Algorithms Library is an Open
+Source C++ library of geometric algorithms and data structures."
+HOMEPAGE="http://www.cgal.org/"
+DLPAGE="http://www.cgal.org/download/"
+PKN="$(echo ${PN} | tr {a-z} {A-Z})"
+PK="$(echo ${P} | tr {a-z} {A-Z})"
+SRC_URI="${PK}.tar.gz"
+#SRC_URI="ftp://ftp.mpi-sb.mpg.de/pub/outgoing/${PKN}/${PK}.tar.gz"
+
+LICENSE="LGPL-2 QPL"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="X zlib qt3 examples"
+RESTRICT="fetch"
+
+DEPEND="zlib? ( sys-libs/zlib )
+ qt3? ( $(qt_min_version 3.0) )
+ examples? ( $(qt_min_version 3.0) )
+ X? ( virtual/x11 )
+ dev-libs/mpfr
+ sci-libs/libcore
+ dev-libs/gmp
+ dev-libs/boost"
+RDEPEND="virtual/libc"
+
+S="${WORKDIR}/${PK}"
+
+pkg_nofetch() {
+ einfo "Due to license restrictions that may apply to the file in this"
+ einfo "package, you must download ${SRC_URI} file manually from"
+ einfo "${DLPAGE} and put it in ${DISTDIR}."
+}
+
+src_unpack(){
+ if use examples; then
+ ewarn "Examples actualy require 28M of disk space."
+ fi
+ unpack "${A}"
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}_soname.patch"
+ # Patch from redhat bug #199168
+ # http://bugzilla.redhat.com/bugzilla/attachment.cgi?id=135376
+ # it should be not applied becauseof its textrelaction and issue
+ # about undefined symbol: _ZN18QMetaObjectCleanUpC1EPKcPFP11QMetaObjectvE
+ # epatch "${FILESDIR}/${PN}_redhat.patch"
+}
+
+src_compile(){
+ CGALDIR="${S}/cgal_install_dir"
+ myconf="--prefix=${CGALDIR} \
+ --with-boost=n \
+ --with-boost-param-options=n \
+ --with-core=n \
+ --with-gmp=n \
+ --with-gmpxx=n \
+ --with-mpfr=n"
+
+ use X && myconf="${myconf} --with-x11=n"
+ use zlib && myconf="${myconf} --with-zlib=n"
+ if use qt3 || use examples; then
+ myconf="${myconf} --with-qt3mt=n --qt_incl_dir ${QTDIR}/include/ \
+ --qt_lib_dir ${QTDIR}/lib"
+ fi
+
+ myconf="${myconf} --without-autofind"
+
+ # we use CORE headers provided by libcore
+ rm -r "${S}/include/CORE"
+
+ ./install_cgal ${myconf} -ni $(which $(tc-getCXX)) || \
+ die "Unable to compile"
+}
+
+src_install(){
+ SDIR="$(ls ${CGALDIR}/lib/)"
+ LIBNAME="${CGALDIR}/lib/${SDIR}/libCGAL"
+
+ dolib "${LIBNAME}.a" "${LIBNAME}.so" || die "Unable to install ${LIBNAME}"
+ if use qt3 || use examples; then
+ dolib "${LIBNAME}Qt.a" ||\
+ die "Unable to install ${LIBNAME}Qt.a"
+ #"${LIBNAME}Qt.so"
+ fi
+ dosym "/usr/lib/libCGAL.so" "/usr/lib/libCGAL.so.1" && \
+ dosym "/usr/lib/libCGAL.so" "/usr/lib/libCGAL.so.1.0.0" || \
+ die "Unable to create symlinks"
+
+ CGALINC="${CGALDIR}/include/"
+ rm -r "${CGALINC}/OpenNL/LICENSE.OPENNL" || \
+ die "Unable to remove uneeded headers"
+ if ! use qt3 || ! use examples ; then
+ rm $(find ${CGALINC}/CGAL/ -name "Qt*") || \
+ die "Unable to remove Qt headers"
+ fi
+ cp -rp "${CGALINC}" "${D}/usr/" || \
+ die "Unable to install headers"
+
+ sed "s:${CGALDIR}:/usr:g" -i \
+ "${CGALDIR}/make/makefile_${SDIR}" || die "Unable to correct makefle"
+ dodir "/usr/share/CGAL" || die "Unable to create share directory"
+ cp "${CGALDIR}/make/makefile_${SDIR}" "${D}/usr/share/CGAL/makefile" || \
+ die "Unable to install makefile"
+ einfo "CGAL_MAKEFILE was installed in : /usr/share/CGAL/makefile"
+
+ if use examples; then
+ dodir /usr/share/doc/${P}
+ cp -r "${S}/demo" "${D}/usr/share/doc/${P}"
+ cp -r "${S}/examples" "${D}/usr/share/doc/${P}"
+ einfo "There are 2 directories : demo and examples in"
+ einfo "/usr/share/doc/${P}"
+ einfo "which contains samples applications. To compile them"
+ einfo "use the following command :"
+ einfo "CGAL_MAKEFILE=/usr/share/CGAL/makefile make"
+ fi
+}
diff --git a/sci-libs/cgal/files/cgal_redhat.patch b/sci-libs/cgal/files/cgal_redhat.patch
new file mode 100644
index 000000000..77a4073e1
--- /dev/null
+++ b/sci-libs/cgal/files/cgal_redhat.patch
@@ -0,0 +1,27 @@
+diff -ur src/CGALQt/makefile src/CGALQt/makefile
+--- src/CGALQt/makefile 2006-05-23 17:15:58.000000000 +0200
++++ src/CGALQt/makefile 2006-05-24 15:59:33.000000000 +0200
+@@ -71,15 +71,21 @@
+
+ static_lib: lib
+
+-lib: lib_no_install
++lib: lib_no_install lib_shared
+ mv $(CGAL_QT_LIB) $(CGAL_LIB_DESTINATION)
++ mv libCGALQt.so $(CGAL_LIB_DESTINATION)
++ rm $(CGAL_OBJECTS)
+
+ lib_no_install: $(CGAL_OBJECTS)
+ $(CGAL_LIB_CREATE)$(CGAL_QT_LIB) \
+ `ls *$(OBJ_EXT) | awk '{for (i=1; i<=NF;++i){printf "$(CGAL_OBJ_PREFIX)";print $$i}}'`\
+ $(CGAL_LIB_LDFLAGS)
+ $(RANLIB) $(CGAL_QT_LIB)
+- rm $(CGAL_OBJECTS)
++
++lib_shared: $(CGAL_OBJECTS)
++ $(CGAL_SHARED_LIB_CREATE)libCGALQt.so \
++ `ls *$(OBJ_EXT) | awk '{for (i=1; i<=NF;++i){printf "$(CGAL_OBJ_PREFIX)";print $$i}}'`\
++ $(CGAL_LIB_LDFLAGS)
+
+ clean:
+ rm -f $(CGAL_QT_LIB) $(CGAL_OBJECTS) *.moc
diff --git a/sci-libs/cgal/files/cgal_soname.patch b/sci-libs/cgal/files/cgal_soname.patch
new file mode 100644
index 000000000..a0bfb630d
--- /dev/null
+++ b/sci-libs/cgal/files/cgal_soname.patch
@@ -0,0 +1,11 @@
+--- install_cgal 2006-07-13 21:01:01.000000000 +0200
++++ install_cgal 2006-10-04 13:33:18.000000000 +0200
+@@ -767,7 +767,7 @@
+ CGAL_OBJ_PREFIX=""
+ CGAL_SHARED_LIB_CXXFLAGS="-fpic"
+ CGAL_SHARED_LIB_LDFLAGS=
+- CGAL_SHARED_LIB_CREATE="\$(CGAL_CXX) -shared"
++ CGAL_SHARED_LIB_CREATE="\$(CGAL_CXX) -shared -Wl,-soname,libCGAL.so.1"
+ CGAL_SHARED_LIB_INSTALL_NAME=""
+ CGAL_WINLIB_CXXFLAGS=""
+ CGAL_QT_CXXFLAGS=""
diff --git a/sci-libs/cgal/metadata.xml b/sci-libs/cgal/metadata.xml
new file mode 100644
index 000000000..3190fbf9c
--- /dev/null
+++ b/sci-libs/cgal/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-geosciences</herd>
+</pkgmetadata>
diff --git a/sci-libs/jama/ChangeLog b/sci-libs/jama/ChangeLog
new file mode 100644
index 000000000..b23a774a4
--- /dev/null
+++ b/sci-libs/jama/ChangeLog
@@ -0,0 +1,8 @@
+# ChangeLog for sci-libs/jama
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 17 Dec 2007; Sébastien Fabbro <bicatali@gentoo.org> +metadata.xml,
+ +jama-1.2.5.ebuild:
+ Initial import
+
diff --git a/sci-libs/jama/Manifest b/sci-libs/jama/Manifest
new file mode 100644
index 000000000..973ca3b66
--- /dev/null
+++ b/sci-libs/jama/Manifest
@@ -0,0 +1,5 @@
+DIST jama102doc.zip 61085 RMD160 c68377da88b1dc300e39b3eeabda730d5647307b SHA1 40fbbfd6faa17956d6211c27bdf6660b837b3a9c SHA256 0175a981cba82b316f17e1066e605a1bc6aa2840edf70b5e1a06305f16e5f7e3
+DIST jama125.zip 16277 RMD160 e36476e35245235f09905ae5518adaaabb59c188 SHA1 5ca8b154d0a0c30e2c50700ffe70567315ebcf2c SHA256 7432bf51d7101f63d5880421f940f64cea124f1460ff2fcfb6226e6744d1360c
+EBUILD jama-1.2.5.ebuild 626 RMD160 9f2f532aa7835644fcf5a96169bf073c39afaf9d SHA1 a4b648d62db6a1b6f3530a0bad97b48d41314a76 SHA256 182a6aae9c734cc056c9492d3b339f01a4d35a4e87ea7b9ce3d13666e3218731
+MISC ChangeLog 224 RMD160 06e81f6675c9eb7713d59f8ec234a943c97dfed3 SHA1 552ae50fd534d16b21fe6fa45aa945c90e5571ae SHA256 b70263c913b018148d10978ec249bc06d23e3201cb8a13b148142b5676afb0ea
+MISC metadata.xml 472 RMD160 1c0426134e50e9803ff8317e047b17e37b3295a4 SHA1 7961e2f2081aef2954cc4ea2283a8700af6cfd96 SHA256 368b7be799007fdaf744a75987f9f34716c5386d86856cd7c19540d2ca0959d0
diff --git a/sci-libs/jama/jama-1.2.5.ebuild b/sci-libs/jama/jama-1.2.5.ebuild
new file mode 100644
index 000000000..e126b794c
--- /dev/null
+++ b/sci-libs/jama/jama-1.2.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+MYPV=${PV//./}
+DOCPV=102
+
+DESCRIPTION="Java-like matrix C++ templates"
+HOMEPAGE="http://math.nist.gov/tnt/"
+SRC_URI="http://math.nist.gov/tnt/${PN}${MYPV}.zip
+ doc? ( http://math.nist.gov/tnt/${PN}${DOCPV}doc.zip )"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc"
+
+DEPEND="app-arch/unzip"
+RDEPEND="sci-libs/tnt"
+
+S="${WORKDIR}"
+
+src_compile() {
+ einfo "Nothing to compile"
+}
+
+src_install() {
+ insinto /usr/include
+ doins *.h || die
+ use doc && dohtml doxygen/html/*
+}
diff --git a/sci-libs/jama/metadata.xml b/sci-libs/jama/metadata.xml
new file mode 100644
index 000000000..6b12ce442
--- /dev/null
+++ b/sci-libs/jama/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+JAMA/C++: a translation of the Java Matrix Library, developed by the
+Mathworks and NIST, into C++ . It includes the following routines:
+* classical matrix linear algebra
+* QR
+* SVD
+* Cholesky
+* Eigenvalue solver
+It is based on NIST's Template Numerical Toolkit.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/lapackpp/ChangeLog b/sci-libs/lapackpp/ChangeLog
new file mode 100644
index 000000000..0ad3c5d2d
--- /dev/null
+++ b/sci-libs/lapackpp/ChangeLog
@@ -0,0 +1,8 @@
+# ChangeLog for sci-libs/lapackpp
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 20 Aug 2007; Sébastien Fabbro <bicatali@gentoo.org>
+ +lapackpp-2.5.2.ebuild, +metadata.xml:
+ Initial import
+
diff --git a/sci-libs/lapackpp/Manifest b/sci-libs/lapackpp/Manifest
new file mode 100644
index 000000000..c3985bd5d
--- /dev/null
+++ b/sci-libs/lapackpp/Manifest
@@ -0,0 +1,4 @@
+DIST lapackpp-2.5.2.tar.gz 571096 RMD160 4afe2d18d78450b8ad11ed350b597a2eab09ad38 SHA1 24a5867cf5cea4c3505597beb85121f71a342561 SHA256 f79c985801e1de9d8b5165894c60fd3b08818e9b0a406ff29fe48783a5134a9c
+EBUILD lapackpp-2.5.2.ebuild 880 RMD160 a5380e010266bfb732f49cc31f2bdb9f8d90d075 SHA1 2ea1ddda89a0282cb9cdc0981a1ef2eec97b5ed6 SHA256 59558a056a86d829d80aa2bae9b6c68f252cd51c22beb41b88910a473b033f72
+MISC ChangeLog 232 RMD160 ff2edbb4039e144655f8660d53849b8a4cc543a7 SHA1 44c84bc527ef81be0b34dc71c440d2d66dafb04a SHA256 c09db4778ce957cfdc5c5eb956cc22580198a0bcdb674119c097e4280de9add4
+MISC metadata.xml 843 RMD160 6ae5c4725768374a0d9b1b511230693c2056e005 SHA1 74da47532a68ad6a64e515d8793c7e4d08fda448 SHA256 91ec444b6dd8603a84b473e8272d4b7b0c10bd6641b12506627fcf86cecf4ed8
diff --git a/sci-libs/lapackpp/lapackpp-2.5.2.ebuild b/sci-libs/lapackpp/lapackpp-2.5.2.ebuild
new file mode 100644
index 000000000..7446b1229
--- /dev/null
+++ b/sci-libs/lapackpp/lapackpp-2.5.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+DESCRIPTION="C++ wrapper for LAPACK"
+HOMEPAGE="http://lapackpp.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+LICENSE="LGPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="virtual/blas
+ virtual/lapack"
+DEPEND="${DEPEND}
+ dev-util/pkgconfig
+ doc? ( app-doc/doxygen )"
+
+src_compile() {
+ econf \
+ --disable-atlas \
+ --with-blas="$(pkg-config --libs blas)" \
+ --with-lapack="$(pkg-config --libs lapack)" \
+ || die "econf failed"
+ emake || die "emake failed"
+ if use doc; then
+ emake srcdoc || die "emake srcdoc failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc NEWS README ChangeLog AUTHORS || die "dodoc failed"
+ if use doc; then
+ dohtml api-doc/html || die "dohtml failed"
+ fi
+}
diff --git a/sci-libs/lapackpp/metadata.xml b/sci-libs/lapackpp/metadata.xml
new file mode 100644
index 000000000..96625413a
--- /dev/null
+++ b/sci-libs/lapackpp/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+LAPACK++ (Linear Algebra PACKage in C++) is a software library for
+numerical linear algebra that solves systems of linear equations and eigenvalue
+problems on high performance computer architectures.
+
+Computational support is provided for supports various matrix classes
+for vectors, non-symmetric matrices, SPD matrices, symmetric matrices,
+banded, triangular, and tridiagonal matrices; however, it does not include all
+of the capabilities of original f77 LAPACK. Emphasis is given to
+routines for solving linear systems consisting of non-symmetric matrices,
+symmetric positive definite systems, and solving linear least-square
+systems.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/matio/ChangeLog b/sci-libs/matio/ChangeLog
new file mode 100644
index 000000000..2e51a3bb3
--- /dev/null
+++ b/sci-libs/matio/ChangeLog
@@ -0,0 +1,21 @@
+# ChangeLog for sci-libs/matio
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*matio-1.3.1 (20 Sep 2006)
+
+ 20 Sep 2006; Andrey Grozin <A.G.Grozin@inp.nsk.su>
+ +matio-1.3.1.ebuild, -matio-1.3.0.ebuild, -files/matio-1.1.4.patch:
+ version bump, now at sourceforge
+
+*matio-1.3.0 (28 August 2006)
+
+ 28 August 2006; Andrey Grozin <A.G.Grozin@inp.nsk.su>
+ +matio-1.3.0.ebuild, -matio-1.1.4.ebuild:
+ version bump
+
+*matio-1.1.4 (16 June 2006)
+
+ 16 June 2006; Andrey Grozin <A.G.Grozin@inp.nsk.su>
+ +metadata.xml, +matio-1.1.4.ebuild, +files/matio-1.1.4.patch:
+ Initial import.
diff --git a/sci-libs/matio/Manifest b/sci-libs/matio/Manifest
new file mode 100644
index 000000000..e145fa37f
--- /dev/null
+++ b/sci-libs/matio/Manifest
@@ -0,0 +1,4 @@
+DIST matio-1.3.1.tar.gz 938713 RMD160 64e12e1774db3054ce11f6efd15686c8432a3197 SHA1 70af161a788f7f5e171f27e2655763454ec33839 SHA256 5c8e5df8500c4e444865f65e94ba2b1084a0a370733195655099f5c6f2069eb0
+EBUILD matio-1.3.1.ebuild 914 RMD160 eb29d7b49384781c1a9f5d597613df2f80cb5885 SHA1 62d8c149d89d04a83a4765ff0763a2dcb5673996 SHA256 73931df6056b3a856b16b174342ce7e536aee0ca95ee465a4ec1db38f6186e04
+MISC ChangeLog 614 RMD160 4f8e87a9ab63a5a191d44506e709bb6b12b4053f SHA1 02008a45278e5c147425e2878c2edb14bb4c6b1a SHA256 b484aadb1ab72c5b263ba70a319a48e95afaff6f5e580a5c09a5d44abdc00847
+MISC metadata.xml 156 RMD160 dc078172bfebcb25d69bdf8731714f9cce9d3e36 SHA1 da2b240a255820145b7c83a5c48e45b96b7e9ee6 SHA256 5d22100902db7507a5b5493dd4a66cdb08025faf80a2c0b75e6392315c47f900
diff --git a/sci-libs/matio/matio-1.3.1.ebuild b/sci-libs/matio/matio-1.3.1.ebuild
new file mode 100644
index 000000000..a5cc1da74
--- /dev/null
+++ b/sci-libs/matio/matio-1.3.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils fortran
+
+DESCRIPTION="Library for reading and writing matlab .mat files"
+HOMEPAGE="http://sourceforge.net/projects/matio/"
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc fortran"
+SRC_URI="mirror://sourceforge/matio/${P}.tar.gz"
+DEPEND="doc? ( app-doc/doxygen virtual/tetex )"
+FORTRAN="gfortran"
+
+#### Remove the following line when moving this ebuild to the main tree!
+RESTRICT="nomirror"
+
+pkg_setup() {
+ use fortran && fortran_pkg_setup
+}
+
+src_compile() {
+ addwrite /var/cache/fonts
+ addwrite /usr/share/texmf
+ econf --enable-shared \
+ --disable-test \
+ $(use_enable fortran ) \
+ $(use_enable doc docs ) \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc README ChangeLog
+}
diff --git a/sci-libs/matio/metadata.xml b/sci-libs/matio/metadata.xml
new file mode 100644
index 000000000..b229aec85
--- /dev/null
+++ b/sci-libs/matio/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+</pkgmetadata>
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
new file mode 100644
index 000000000..3e2c49474
--- /dev/null
+++ b/sci-libs/mkl/Manifest
@@ -0,0 +1,4 @@
+AUX mkl-10.0.2.018-openmpi.patch 332 RMD160 255a2cb3fdba6fd1803d830e9cd791da954d958f SHA1 6a3a7b690873c9bc4c003f47739dfa9394ab9627 SHA256 758c3aef0124932426002aa502c0e7b721a026d6c54c37c679d3ee7eb607b58c
+AUX mkl-10.0.2.018-tests.patch 528 RMD160 15f11a38567bd533626008fce62e6021372bfc53 SHA1 8c9358d798f597e87d8a62fff27b79123273ebe3 SHA256 f65a074c64a3969b08d41f88874f25fdc06693b5a5aee930bd7ef9763e94e71d
+DIST l_mkl_p_10.0.2.018.tgz 227440983 RMD160 0c28416597ef917328193fa0c6403d7c0e7b971d SHA1 1aa8c47701b142ab52ebcda27fdda4c5d0903471 SHA256 311d2885a33d553a2d1b1370eed1e3e9bccc246f2dcd20e3558ed492443ba20f
+EBUILD mkl-10.0.2.018.ebuild 8933 RMD160 87503b074bd00f371a34f6f2f42451453ae3e107 SHA1 8d11e096325f3ea78cd7e1191864a13f4b42f447 SHA256 802e2c328778cda9216d76672bcdf00273ef137d4b7b9354f7e1de2dc784644b
diff --git a/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch b/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch
new file mode 100644
index 000000000..6f7f9edeb
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch
@@ -0,0 +1,18 @@
+--- interfaces/fftw2x_cdft/makefile.orig 2008-03-11 23:26:26.287984332 +0000
++++ interfaces/fftw2x_cdft/makefile 2008-03-13 10:56:44.755095617 +0000
+@@ -172,6 +172,15 @@
+ endif
+
+
++ifeq ($(mpi),openmpi)
++CS = mpicc
++ifdef mpidir
++_CS = $(mpidir)/bin/$(CS)
++else
++_CS = $(CS)
++endif
++endif
++
+ vpath %.c wrappers
+
+ $(WRP): %.o: %.c
diff --git a/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch b/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch
new file mode 100644
index 000000000..975170f7d
--- /dev/null
+++ b/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch
@@ -0,0 +1,21 @@
+--- tests/scalapack/make.inc.orig 2008-03-13 22:36:06.119890888 +0000
++++ tests/scalapack/make.inc 2008-03-13 22:54:58.201781899 +0000
+@@ -59,6 +59,9 @@
+ IFACE_PART = _ilp64
+ COPTS = -DMKL_ILP64
+ FOPTS = -i8
++ifeq ($(compiler),gnu)
++FOPTS = -fdefault-integer-8
++endif
+ else
+ ADD_IFACE = _lp64
+ IFACE_PART = _lp64
+@@ -203,7 +206,7 @@
+ # Compiler flags
+ F77FLAGS=-w -u $(OPTS)
+ ifeq ($(comp),gnu)
+-F77FLAGS=$(OPTS) -ff90 -fno-globals -Wno-globals
++F77FLAGS=$(OPTS)
+ endif
+ # Remove objects variable
+ RMOBJ=rm -f *.o core work.pc*
diff --git a/sci-libs/mkl/mkl-10.0.2.018.ebuild b/sci-libs/mkl/mkl-10.0.2.018.ebuild
new file mode 100644
index 000000000..e502100ea
--- /dev/null
+++ b/sci-libs/mkl/mkl-10.0.2.018.ebuild
@@ -0,0 +1,327 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils toolchain-funcs fortran check-reqs
+
+PID=967
+PB=${PN}
+DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, math functions"
+HOMEPAGE="http://developer.intel.com/software/products/mkl/"
+
+KEYWORDS="~amd64 ~ia64 ~x86"
+SRC_URI="http://registrationcenter-download.intel.com/irc_nas/${PID}/l_${PN}_p_${PV}.tgz"
+
+#slotting not yet supported (would need a mkl-config)
+#MAJOR=$(get_major_version ${PV})
+#MINOR=$(get_version_component_range 2 ${PV})
+#SLOT="${MAJOR}.${MINOR}"
+
+SLOT="0"
+LICENSE="Intel-SDP"
+
+IUSE="doc fftw fortran95 int64 mpi"
+RESTRICT="strip mirror"
+
+DEPEND="app-admin/eselect-blas
+ app-admin/eselect-cblas
+ app-admin/eselect-lapack"
+
+RDEPEND="${DEPEND}
+ dev-util/pkgconfig
+ doc? ( app-doc/blas-docs app-doc/lapack-docs )
+ mpi? ( virtual/mpi )"
+
+MKL_DIR=/opt/intel/${PN}/${PV}
+
+pkg_setup() {
+
+ # Check the license
+ [[ -z ${MKL_LICENSE} && -d /opt/intel/licenses ]] && \
+ MKL_LICENSE=$(find /opt/intel/licenses -name *MKL*.lic)
+ if [[ -z ${MKL_LICENSE} ]]; then
+ eerror "Did not find any valid mkl license."
+ eerror "Register at ${HOMEPAGE} to receive a license"
+ eerror "and place it in /opt/intel/licenses or run:"
+ eerror "\t MKL_LICENSE=/my/license/dir emerge mkl"
+ die "license setup failed"
+ fi
+
+ # Check if we have enough free diskspace to install
+ CHECKREQS_DISK_BUILD="1100"
+ check_reqs
+
+ # Check and setup fortran
+ FORTRAN="gfortran ifc g77"
+ if use fortran95; then
+ FORTRAN="gfortran ifc"
+ # blas95 and lapack95 don't compile with gfortran < 4.2
+ gcc-version lt 4 2 && FORTRAN="ifc"
+ fi
+ use int64 && FORTRAN="gfortran ifc"
+ fortran_pkg_setup
+ MKL_FC="gnu"
+ [[ ${FORTRANC} == if* ]] && MKL_FC="intel"
+
+ # build profiles according to what compiler is installed
+ MKL_CC="gnu"
+ [[ $(tc-getCC) == icc ]] && MKL_CC="intel"
+
+ if has_version sys-cluster/mpich; then
+ MKL_MPI=mpich
+ elif has_version sys-cluster/mpich2; then
+ MKL_MPI=mpich2
+ elif has_version sys-cluster/openmpi; then
+ MKL_MPI=openmpi
+ elif has_version sys-cluster/lam-mpi; then
+ MKL_MPI=lam-mpi
+ else
+ MKL_MPI=intelmpi
+ fi
+}
+
+src_unpack() {
+
+ unpack ${A}
+ cd l_${PN}_*_${PV}/install
+
+ cp ${MKL_LICENSE} "${WORKDIR}"/
+ MKL_LIC="$(basename ${MKL_LICENSE})"
+
+ # binary blob extractor installs rpm leftovers in /opt/intel
+ addwrite /opt/intel
+ # undocumented features: INSTALLMODE_mkl=NONRPM
+
+ # We need to install mkl non-interactively.
+ # If things change between versions, first do it interactively:
+ # tar xf l_*; ./install.sh --duplicate mkl.ini;
+ # The file will be instman/mkl.ini
+ # Then check it and modify the ebuild-created one below
+ # --norpm is required to be able to install 10.x
+ cat > mkl.ini <<-EOF
+ [MKL]
+ EULA_ACCEPT_REJECT=ACCEPT
+ FLEXLM_LICENSE_LOCATION=${WORKDIR}/${MKL_LIC}
+ INSTALLMODE_mkl=NONRPM
+ INSTALL_DESTINATION=${S}
+ EOF
+ einfo "Extracting ..."
+ ./install \
+ --silent ./mkl.ini \
+ --installpath "${S}" \
+ --log log.txt &> /dev/null
+
+ if [[ -z $(find "${S}" -name libmkl.so) ]]; then
+ eerror "Could not find extracted files"
+ eerror "See ${PWD}/log.txt to see why"
+ die "extracting failed"
+ fi
+
+ # remove unused stuff and set up intel names
+ rm -rf "${WORKDIR}"/l_*
+
+ cd "${S}"
+ # allow openmpi to work
+ epatch "${FILESDIR}"/${P}-openmpi.patch
+ # make scalapack tests work for gfortran
+ epatch "${FILESDIR}"/${P}-tests.patch
+ case ${ARCH} in
+ x86) MKL_ARCH=32
+ MKL_KERN=ia32
+ rm -rf lib*/{em64t,64}
+ ;;
+
+ amd64) MKL_ARCH=em64t
+ MKL_KERN=em64t
+ rm -rf lib*/{32,64}
+ ;;
+
+ ia64) MKL_ARCH=64
+ MKL_KERN=ipf
+ rm -rf lib*/{32,em64t}
+ ;;
+ esac
+ MKL_LIBDIR=${MKL_DIR}/lib/${MKL_ARCH}
+}
+
+src_compile() {
+ cd "${S}"/interfaces
+ if use fortran95; then
+ einfo "Compiling fortan95 static lib wrappers"
+ local myconf="lib${MKL_ARCH}"
+ [[ ${FORTRANC} == gfortran ]] && \
+ myconf="${myconf} FC=gfortran"
+ if use int64; then
+ myconf="${myconf} interface=ilp64"
+ [[ ${FORTRANC} == gfortran ]] && \
+ myconf="${myconf} FOPTS=-fdefault-integer-8"
+ fi
+ for x in blas95 lapack95; do
+ pushd ${x}
+ emake ${myconf} || die "emake ${x} failed"
+ popd
+ done
+ fi
+
+ if use fftw; then
+ local fftwdirs="fftw2xc fftw2xf fftw3xc fftw3xf"
+ local myconf="lib${MKL_ARCH} compiler=${MKL_CC}"
+ if use mpi; then
+ fftwdirs="${fftwdirs} fftw2x_cdft"
+ myconf="${myconf} mpi=${MKL_MPI}"
+ fi
+ einfo "Compiling fftw static lib wrappers"
+ for x in ${fftwdirs}; do
+ pushd ${x}
+ emake ${myconf} || die "emake ${x} failed"
+ popd
+ done
+ fi
+}
+
+src_test() {
+ cd "${S}"/tests
+ local myconf
+ local testdirs="blas cblas"
+ use int64 && myconf="${myconf} interface=ilp64"
+ if use mpi; then
+ testdirs="${testdirs} scalapack"
+ myconf="${myconf} mpi=${MKL_MPI}"
+ fi
+ for x in ${testdirs}; do
+ pushd ${x}
+ einfo "Testing ${x}"
+ emake \
+ compiler=${MKL_FC} \
+ ${myconf} \
+ so${MKL_ARCH} \
+ || die "emake ${x} failed"
+ popd
+ done
+}
+
+mkl_make_generic_profile() {
+ cd "${S}"
+ # produce eselect files
+ # don't make them in FILESDIR, it changes every major version
+ cat > eselect.blas <<-EOF
+ ${MKL_LIBDIR}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/libblas.a
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libblas.so
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libblas.so.0
+ EOF
+ cat > eselect.cblas <<-EOF
+ ${MKL_LIBDIR}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/libcblas.a
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libcblas.so
+ ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libcblas.so.0
+ ${MKL_DIR}/include/mkl_cblas.h /usr/include/cblas.h
+ EOF
+ cat > eselect.lapack <<-EOF
+ ${MKL_LIBDIR}/libmkl_lapack.a /usr/@LIBDIR@/liblapack.a
+ ${MKL_LIBDIR}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so
+ ${MKL_LIBDIR}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so.0
+ EOF
+}
+
+# usage: mkl_add_profile <profile> <interface_lib> <thread_lib> <rtl_lib>
+mkl_add_profile() {
+ cd "${S}"
+ local prof=${1}
+ insinto ${MKL_LIBDIR}
+ for x in blas cblas lapack; do
+ cat > ${x}-${prof}.pc <<-EOF
+ prefix=/usr
+ libdir=${MKL_LIBDIR}
+ includedir=${prefix}/include
+ Name: ${x}
+ Description: Intel(R) Math Kernel Library implementation of ${p}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread
+ EOF
+ cp eselect.${x} eselect.${x}.${prof}
+ echo "${MKL_LIBDIR}/${x}-${prof}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc" \
+ >> eselect.${x}.${prof}
+ doins ${x}-${prof}.pc
+ eselect ${x} add $(get_libdir) eselect.${x}.${prof} ${prof}
+ done
+}
+
+mkl_make_profiles() {
+ local clib
+ has_version 'dev-lang/ifc' && clib="intel"
+ built_with_use sys-devel/gcc fortran && clib="${clib} gf"
+ local slib="-lmkl_sequential"
+ local rlib="-liomp5"
+ for c in ${clib}; do
+ local ilib="-lmkl_${c}_lp64"
+ use x86 && ilib="-lmkl_${c}"
+ local tlib="-lmkl_${c/gf/gnu}_thread"
+ local comp="${c/gf/gfortran}"
+ comp="${comp/intel/ifort}"
+ mkl_add_profile mkl-${comp} ${ilib} ${slib}
+ mkl_add_profile mkl-${comp}-threads ${ilib} ${tlib} ${rlib}
+ if use int64; then
+ ilib="-lmkl_${c}_ilp64"
+ mkl_add_profile mkl-${comp}-int64 ${ilib} ${slib}
+ mkl_add_profile mkl-${comp}-threads-int64 ${ilib} ${tlib} ${rlib}
+ fi
+ done
+}
+
+src_install() {
+ dodir ${MKL_DIR}
+ # upstream installs a link, no idea why
+ dosym ${MKL_DIR} ${MKL_DIR/mkl/cmkl}
+
+ # install license
+ if [[ ! -f /opt/intel/licenses/${MKL_LIC} ]]; then
+ insinto /opt/intel/licenses
+ doins "${WORKDIR}"/${MKL_LIC} || die "install license failed"
+ fi
+
+ # install main stuff: cp faster than doins
+ einfo "Installing files..."
+ local cpdirs="benchmarks doc examples include interfaces lib man tests"
+ local doinsdirs="tools"
+ cp -pPR ${cpdirs} "${D}"${MKL_DIR} \
+ || die "installing mkl failed"
+ doins ${doinsdirs} || die "doins ${doinsdirs} failed"
+
+ # install blas/lapack profiles
+ mkl_make_generic_profile
+ mkl_make_profiles
+
+ # install env variables
+ local env_file=35mkl
+ echo "LDPATH=${MKL_LIBDIR}" > ${env_file}
+ echo "MANPATH=${MKL_DIR}/man" >> ${env_file}
+ doenvd ${env_file} || die "doenvd failed"
+}
+
+pkg_postinst() {
+ # if blas profile is mkl, set lapack and cblas profiles as mkl
+ local blas_lib=$(eselect blas show | cut -d' ' -f2)
+ local def_prof="mkl-gfortran-threads"
+ has_version 'dev-lang/ifc' && def_prof="mkl-ifort-threads"
+ use int64 && def_prof="${def_prof}-int64"
+ for x in blas cblas lapack; do
+ local current_lib=$(eselect ${x} show | cut -d' ' -f2)
+ if [[ -z ${current_lib} || \
+ ${current_lib} == mkl* || \
+ ${blas_lib} == mkl* ]]; then
+ # work around eselect bug #189942
+ local configfile="${ROOT}"/etc/env.d/${x}/$(get_libdir)/config
+ [[ -e ${configfile} ]] && rm -f ${configfile}
+ eselect ${x} set ${def_prof}
+ elog "${x} has been eselected to ${def_prof}"
+ if [[ ${current_lib} != ${blas_lib} ]]; then
+ eselect blas set ${def_prof}
+ elog "${x} is now set to ${def_prof} for consistency"
+ fi
+ else
+ elog "Current eselected ${x} is ${current_lib}"
+ elog "To use one of mkl profiles, issue (as root):"
+ elog "\t eselect ${x} set <profile>"
+ fi
+ done
+}
diff --git a/sci-libs/parmetis/Manifest b/sci-libs/parmetis/Manifest
new file mode 100644
index 000000000..4c01e9be3
--- /dev/null
+++ b/sci-libs/parmetis/Manifest
@@ -0,0 +1,4 @@
+AUX parmetis-3.1-autotools.patch 9832 RMD160 e22e2368f77c827be27cb96680b253879938674c SHA1 f604cfa7d45bb3f97e7afc1ce8b7836035513e2f SHA256 2e2975d80cffefe4dcdbf6632b8bb9d2e0dd789f5404f8dd0965ba41a5b5ca43
+DIST ParMetis-3.1.tar.gz 5286085 RMD160 08996ac3724c18b66ff7fc03c1ffecae4d9206e1 SHA1 831ef886269b7c56412a9cc62116873e796c4b76 SHA256 11485828fe25436dc6d41cb048bc4b744969b51d4b751996007612aa95d5ff16
+EBUILD parmetis-3.1-r1.ebuild 754 RMD160 259f62f1c04614e74e293d9c0cfddddcc304e455 SHA1 40ff7c72a7baaa2cf37e9d0d2299fd2d68059fcf SHA256 f971a40c1cf82e3da7095f7a532ef31977c3f4d50b7320a8d802d4ca0c87d84e
+MISC metadata.xml 567 RMD160 0565f147e7f67469216f64490469c39a78040073 SHA1 619ff63c86b9da320ad0d6af86c83a78e748ef7d SHA256 e7b13d4ac35de3236571c5efd0cbf9143333a4978e9dbe277b45ba3a5b4bd29a
diff --git a/sci-libs/parmetis/files/parmetis-3.1-autotools.patch b/sci-libs/parmetis/files/parmetis-3.1-autotools.patch
new file mode 100644
index 000000000..50455c50d
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-3.1-autotools.patch
@@ -0,0 +1,270 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-02-05 19:26:56.002301741 +0000
+@@ -0,0 +1,15 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(parmetis, 3.1, karypis@cs.umn.edu)
++AM_INIT_AUTOMAKE([foreign])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++AC_CHECK_LIB(m, sqrt)
++sinclude(acx_mpi.m4)
++AC_LANG_PUSH([C])
++ACX_MPI([], AC_MSG_ERROR([could not compile an mpi test program]))
++AC_CONFIG_FILES([Makefile
++ METISLib/Makefile
++ ParMETISLib/Makefile
++ Programs/Makefile])
++AC_OUTPUT
+--- acx_mpi.m4 1970-01-01 01:00:00.000000000 +0100
++++ acx_mpi.m4 2008-02-01 16:24:54.723228974 +0000
+@@ -0,0 +1,183 @@
++##### http://autoconf-archive.cryp.to/acx_mpi.html
++#
++# SYNOPSIS
++#
++# ACX_MPI([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro tries to find out how to compile programs that use MPI
++# (Message Passing Interface), a standard API for parallel process
++# communication (see http://www-unix.mcs.anl.gov/mpi/)
++#
++# On success, it sets the MPICC, MPICXX, MPIF77, or MPIFC output
++# variable to the name of the MPI compiler, depending upon the
++# current language. (This may just be $CC/$CXX/$F77/$FC, but is more
++# often something like mpicc/mpiCC/mpif77/mpif90.) It also sets
++# MPILIBS to any libraries that are needed for linking MPI (e.g.
++# -lmpi or -lfmpi, if a special MPICC/MPICXX/MPIF77/MPIFC was not
++# found).
++#
++# If you want to compile everything with MPI, you should set:
++#
++# CC="MPICC" #OR# CXX="MPICXX" #OR# F77="MPIF77" #OR# FC="MPIFC"
++# LIBS="$MPILIBS $LIBS"
++#
++# NOTE: The above assumes that you will use $CC (or whatever) for
++# linking as well as for compiling. (This is the default for automake
++# and most Makefiles.)
++#
++# The user can force a particular library/compiler by setting the
++# MPICC/MPICXX/MPIF77/MPIFC and/or MPILIBS environment variables.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if an MPI
++# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
++# run if it is not found. If ACTION-IF-FOUND is not specified, the
++# default action will define HAVE_MPI.
++#
++# LAST MODIFICATION
++#
++# 2007-07-29
++#
++# COPYLEFT
++#
++# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
++# Copyright (c) 2007 Julian C. Cummings <cummings@cacr.caltech.edu>
++#
++# This program is free software: you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation, either version 3 of the
++# License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright
++# owner gives unlimited permission to copy, distribute and modify the
++# configure scripts that are the output of Autoconf when processing
++# the Macro. You need not follow the terms of the GNU General Public
++# License when using or distributing such scripts, even though
++# portions of the text of the Macro appear in them. The GNU General
++# Public License (GPL) does govern all other use of the material that
++# constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the
++# Autoconf Macro released by the Autoconf Macro Archive. When you
++# make and distribute a modified version of the Autoconf Macro, you
++# may extend this special exception to the GPL to apply to your
++# modified version as well.
++
++AC_DEFUN([ACX_MPI], [
++AC_PREREQ(2.50) dnl for AC_LANG_CASE
++
++AC_LANG_CASE([C], [
++ AC_REQUIRE([AC_PROG_CC])
++ AC_ARG_VAR(MPICC,[MPI C compiler command])
++ AC_CHECK_PROGS(MPICC, mpicc hcc mpxlc_r mpxlc mpcc cmpicc, $CC)
++ acx_mpi_save_CC="$CC"
++ CC="$MPICC"
++ AC_SUBST(MPICC)
++],
++[C++], [
++ AC_REQUIRE([AC_PROG_CXX])
++ AC_ARG_VAR(MPICXX,[MPI C++ compiler command])
++ AC_CHECK_PROGS(MPICXX, mpic++ mpicxx mpiCC hcp mpxlC_r mpxlC mpCC cmpic++, $CXX)
++ acx_mpi_save_CXX="$CXX"
++ CXX="$MPICXX"
++ AC_SUBST(MPICXX)
++],
++[Fortran 77], [
++ AC_REQUIRE([AC_PROG_F77])
++ AC_ARG_VAR(MPIF77,[MPI Fortran 77 compiler command])
++ AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc, $F77)
++ acx_mpi_save_F77="$F77"
++ F77="$MPIF77"
++ AC_SUBST(MPIF77)
++],
++[Fortran], [
++ AC_REQUIRE([AC_PROG_FC])
++ AC_ARG_VAR(MPIFC,[MPI Fortran compiler command])
++ AC_CHECK_PROGS(MPIFC, mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c, $FC)
++ acx_mpi_save_FC="$FC"
++ FC="$MPIFC"
++ AC_SUBST(MPIFC)
++])
++
++if test x = x"$MPILIBS"; then
++ AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
++ [C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])],
++ [Fortran 77], [AC_MSG_CHECKING([for MPI_Init])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" "
++ AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])],
++ [Fortran], [AC_MSG_CHECKING([for MPI_Init])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[ call MPI_Init])],[MPILIBS=" "
++ AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])])
++fi
++AC_LANG_CASE([Fortran 77], [
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
++ fi
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpich, MPI_Init, [MPILIBS="-lfmpich"])
++ fi
++],
++[Fortran], [
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(fmpi, MPI_Init, [MPILIBS="-lfmpi"])
++ fi
++ if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpichf90, MPI_Init, [MPILIBS="-lmpichf90"])
++ fi
++])
++if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpi, MPI_Init, [MPILIBS="-lmpi"])
++fi
++if test x = x"$MPILIBS"; then
++ AC_CHECK_LIB(mpich, MPI_Init, [MPILIBS="-lmpich"])
++fi
++
++dnl We have to use AC_TRY_COMPILE and not AC_CHECK_HEADER because the
++dnl latter uses $CPP, not $CC (which may be mpicc).
++AC_LANG_CASE([C], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpi.h])
++ AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[C++], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpi.h])
++ AC_TRY_COMPILE([#include <mpi.h>],[],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[Fortran 77], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpif.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi],
++[Fortran], [if test x != x"$MPILIBS"; then
++ AC_MSG_CHECKING([for mpif.h])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[ include 'mpif.h'])],[AC_MSG_RESULT(yes)], [MPILIBS=""
++ AC_MSG_RESULT(no)])
++fi])
++
++AC_LANG_CASE([C], [CC="$acx_mpi_save_CC"],
++ [C++], [CXX="$acx_mpi_save_CXX"],
++ [Fortran 77], [F77="$acx_mpi_save_F77"],
++ [Fortran], [FC="$acx_mpi_save_FC"])
++
++AC_SUBST(MPILIBS)
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x = x"$MPILIBS"; then
++ $2
++ :
++else
++ ifelse([$1],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$1])
++ :
++fi
++])dnl ACX_MPI
+--- ./METISLib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./METISLib/Makefile.am 2008-02-05 19:35:52.892897392 +0000
+@@ -0,0 +1,18 @@
++include_HEADERS = defs.h macros.h metis.h proto.h rename.h \
++ stdheaders.h struct.h
++pkgincludedir = $(includedir)/metis
++
++lib_LTLIBRARIES = libmetis.la
++libmetis_la_SOURCES = \
++ coarsen.c fm.c initpart.c match.c ccgraph.c \
++ pmetis.c pqueue.c refine.c util.c timing.c debug.c \
++ bucketsort.c graph.c stat.c kmetis.c kwayrefine.c \
++ kwayfm.c balance.c ometis.c srefine.c sfm.c separator.c \
++ mincover.c mmd.c mesh.c meshpart.c frename.c fortran.c \
++ myqsort.c compress.c parmetis.c estmem.c \
++ mpmetis.c mcoarsen.c mmatch.c minitpart.c mbalance.c \
++ mutil.c mkmetis.c mkwayrefine.c mkwayfmh.c \
++ mrefine2.c minitpart2.c mbalance2.c mfm2.c \
++ kvmetis.c kwayvolrefine.c kwayvolfm.c subdomains.c \
++ mfm.c memory.c mrefine.c checkgraph.c
++libmetis_la_LIBADD = -lm
+--- ./ParMETISLib/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./ParMETISLib/Makefile.am 2008-02-05 20:04:29.533802831 +0000
+@@ -0,0 +1,20 @@
++include_HEADERS = defs.h macros.h parmetislib.h proto.h \
++ rename.h stdheaders.h struct.h
++pkgincludedir = $(includedir)/parmetis
++
++lib_LTLIBRARIES = libparmetis.la
++libparmetis_la_SOURCES = \
++ comm.c util.c debug.c setup.c grsetup.c timer.c \
++ node_refine.c initmsection.c order.c \
++ xyzpart.c pspases.c frename.c \
++ iintsort.c iidxsort.c ikeysort.c ikeyvalsort.c \
++ kmetis.c gkmetis.c ometis.c \
++ initpart.c match.c coarsen.c \
++ kwayfm.c kwayrefine.c kwaybalance.c \
++ remap.c stat.c fpqueue.c \
++ ametis.c rmetis.c lmatch.c initbalance.c \
++ mdiffusion.c diffutil.c wave.c \
++ csrmatch.c redomylink.c balancemylink.c \
++ selectq.c akwayfm.c serial.c move.c \
++ mmetis.c mesh.c memory.c weird.c backcompat.c
++libparmetis_la_LIBADD = $(MPILIBS) -lm
+--- ./Programs/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./Programs/Makefile.am 2008-02-05 20:08:32.879670321 +0000
+@@ -0,0 +1,13 @@
++AM_CPPFLAGS = -I$(top_srcdir)/ParMETISLib
++LDADD = $(top_builddir)/METISLib/libmetis.la \
++ $(top_builddir)/ParMETISLib/libparmetis.la
++
++check_PROGRAMS = ptest mtest
++ptest_SOURCES = ptest.c io.c adaptgraph.c
++mtest_SOURCES = mtest.c io.c
++
++MPIRUN = mpirun -np 4
++
++check-local: $(check_PROGRAMS)
++ $(MPIRUN) ptest ../Graphs/rotor.graph
++ $(MPIRUN) mtest ../Graphs/bricks.hex3d 2
+--- ./Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ ./Makefile.am 2008-01-31 11:53:52.663337599 +0000
+@@ -0,0 +1,3 @@
++SUBDIRS = METISLib ParMETISLib Programs
++EXTRA_DIST = CHANGES
++include_HEADERS = parmetis.h
diff --git a/sci-libs/parmetis/metadata.xml b/sci-libs/parmetis/metadata.xml
new file mode 100644
index 000000000..9a56af38e
--- /dev/null
+++ b/sci-libs/parmetis/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ ParMETIS is an MPI-based parallel library that implements a variety
+ of algorithms for partitioning unstructured graphs and for computing
+ fill-reducing orderings of sparse matrices. ParMETIS extends the
+ functionality provided by METIS and includes routines that are
+ especially suited for parallel AMR computations and large scale
+ numerical simulations.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/parmetis/parmetis-3.1-r1.ebuild b/sci-libs/parmetis/parmetis-3.1-r1.ebuild
new file mode 100644
index 000000000..a183a92a8
--- /dev/null
+++ b/sci-libs/parmetis/parmetis-3.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils autotools
+
+MYP=ParMetis-${PV}
+
+DESCRIPTION="Parallel graph partitioner"
+HOMEPAGE="http://www-users.cs.umn.edu/~karypis/metis/parmetis/"
+SRC_URI="http://glaros.dtc.umn.edu/gkhome/fetch/sw/${PN}/${MYP}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="free-noncomm"
+
+SLOT="0"
+IUSE="doc"
+
+DEPEND="virtual/mpi"
+
+S="${WORKDIR}/${MYP}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ eautoreconf
+ export CC=mpicc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc REAME CHANGES
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins Manual/*.pdf || die
+ fi
+}
diff --git a/sci-libs/superlu/Manifest b/sci-libs/superlu/Manifest
new file mode 100644
index 000000000..22091aedb
--- /dev/null
+++ b/sci-libs/superlu/Manifest
@@ -0,0 +1,6 @@
+AUX superlu-3.0-autotools.patch 9827 RMD160 fba6b4734a89a341c53f102e10194782b71ba04b SHA1 126a90a2d5b3de562d0a5117ed580fc0d5b97352 SHA256 b26bbb56501aca742442abf0d768a756f49a6e040dea9acdd7f10f2cb8768c50
+AUX superlu-examples.patch 688 RMD160 2d114ca953a75151d8bb5934b7e5ffac4a9370ab SHA1 b3964cfcdc261c88543a3346963bbcb9c8788d58 SHA256 dcc1df82dcf8326c76032de09c3fc84648153e569b7c20a3ec2b06c5c178c68a
+AUX superlu-makeinc.patch 441 RMD160 91e0b0c35874b8186bb28a537d738531f555bdc0 SHA1 38ab32d2bd8956f3e47d69cbe5601176c29bf831 SHA256 be53920934e655591e9f3c1941c50c2d816034fc108e6658377f7fb2c2aea985
+DIST superlu_3.0.tar.gz 1134160 RMD160 9d30fa0f15932570c53800bdc9f3ae8401511273 SHA1 65a35df64b01ae1e454dd793c668970a2cf41604 SHA256 d0132a3a2fb6269dc8faa0b9ea9611764e8ca31265441f64cfc80485a86d5784
+EBUILD superlu-3.0.ebuild 1253 RMD160 3b25d9925d772e4c1d53f5b9216f54f6b68354d0 SHA1 a9b89089948913150845862c6d42c7b60fa524e2 SHA256 ddf80329751f6c8ce66aa7cf49cc986e17a0190dbefd8377354d96e161e4e9f5
+MISC metadata.xml 1183 RMD160 90584eb7b02f392d8dcf1f7593d00532575fb2e7 SHA1 1f4720b37a9547af2f81d9eb9c72b0031ede1f6d SHA256 1086830fe855bba67b44bf4862464d8ecb88495e5242a7a06a97eb284dc5657c
diff --git a/sci-libs/superlu/files/superlu-3.0-autotools.patch b/sci-libs/superlu/files/superlu-3.0-autotools.patch
new file mode 100644
index 000000000..5e14f263d
--- /dev/null
+++ b/sci-libs/superlu/files/superlu-3.0-autotools.patch
@@ -0,0 +1,298 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2008-02-01 10:58:41.238020847 +0000
+@@ -0,0 +1,14 @@
++# -*- Autoconf -*-
++AC_PREREQ(2.59)
++AC_INIT(superlu, 3.0, xsli@lbl.gov)
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_HEADER([config.h])
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++sinclude(acx_blas.m4)
++ACX_BLAS
++if test x"$BLAS_LIBS" = x; then
++ AC_MSG_ERROR([Cannot find blas libraries])
++fi
++AC_CONFIG_FILES([Makefile SRC/Makefile])
++AC_OUTPUT
+--- acx_blas.m4 1970-01-01 01:00:00.000000000 +0100
++++ acx_blas.m4 2008-02-01 10:58:19.428778009 +0000
+@@ -0,0 +1,191 @@
++##### http://autoconf-archive.cryp.to/acx_blas.html
++#
++# SYNOPSIS
++#
++# ACX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro looks for a library that implements the BLAS
++# linear-algebra interface (see http://www.netlib.org/blas/). On
++# success, it sets the BLAS_LIBS output variable to hold the
++# requisite library linkages.
++#
++# To link with BLAS, you should link with:
++#
++# $BLAS_LIBS $LIBS $FLIBS
++#
++# in that order. FLIBS is the output variable of the
++# AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), and
++# is sometimes necessary in order to link with F77 libraries. Users
++# will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual),
++# for the same reason.
++#
++# Many libraries are searched for, from ATLAS to CXML to ESSL. The
++# user may also use --with-blas=<lib> in order to use some specific
++# BLAS library <lib>. In order to link successfully, however, be
++# aware that you will probably need to use the same Fortran compiler
++# (which can be set via the F77 env. var.) as was used to compile the
++# BLAS library.
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a BLAS
++# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
++# run it if it is not found. If ACTION-IF-FOUND is not specified, the
++# default action will define HAVE_BLAS.
++#
++# This macro requires autoconf 2.50 or later.
++#
++# LAST MODIFICATION
++#
++# 2007-07-29
++#
++# COPYLEFT
++#
++# Copyright (c) 2007 Steven G. Johnson <stevenj@alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation, either version 3 of the
++# License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright
++# owner gives unlimited permission to copy, distribute and modify the
++# configure scripts that are the output of Autoconf when processing
++# the Macro. You need not follow the terms of the GNU General Public
++# License when using or distributing such scripts, even though
++# portions of the text of the Macro appear in them. The GNU General
++# Public License (GPL) does govern all other use of the material that
++# constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the
++# Autoconf Macro released by the Autoconf Macro Archive. When you
++# make and distribute a modified version of the Autoconf Macro, you
++# may extend this special exception to the GPL to apply to your
++# modified version as well.
++
++AC_DEFUN([ACX_BLAS], [
++AC_PREREQ(2.50)
++AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])
++acx_blas_ok=no
++
++AC_ARG_WITH(blas,
++ [AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])
++case $with_blas in
++ yes | "") ;;
++ no) acx_blas_ok=disable ;;
++ -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;;
++ *) BLAS_LIBS="-l$with_blas" ;;
++esac
++
++# Get fortran linker names of BLAS functions to check for.
++AC_F77_FUNC(sgemm)
++AC_F77_FUNC(dgemm)
++
++acx_blas_save_LIBS="$LIBS"
++LIBS="$LIBS $FLIBS"
++
++# First, check BLAS_LIBS environment variable
++if test $acx_blas_ok = no; then
++if test "x$BLAS_LIBS" != x; then
++ save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
++ AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS])
++ AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""])
++ AC_MSG_RESULT($acx_blas_ok)
++ LIBS="$save_LIBS"
++fi
++fi
++
++# BLAS linked to by default? (happens on some supercomputers)
++if test $acx_blas_ok = no; then
++ save_LIBS="$LIBS"; LIBS="$LIBS"
++ AC_CHECK_FUNC($sgemm, [acx_blas_ok=yes])
++ LIBS="$save_LIBS"
++fi
++
++# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(atlas, ATL_xerbla,
++ [AC_CHECK_LIB(f77blas, $sgemm,
++ [AC_CHECK_LIB(cblas, cblas_dgemm,
++ [acx_blas_ok=yes
++ BLAS_LIBS="-lcblas -lf77blas -latlas"],
++ [], [-lf77blas -latlas])],
++ [], [-latlas])])
++fi
++
++# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(dgemm, $dgemm,
++ [AC_CHECK_LIB(sgemm, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"],
++ [], [-lblas])],
++ [], [-lblas])])
++fi
++
++# BLAS in Alpha CXML library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(cxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-lcxml"])
++fi
++
++# BLAS in Alpha DXML library? (now called CXML, see above)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"])
++fi
++
++# BLAS in Sun Performance library?
++if test $acx_blas_ok = no; then
++ if test "x$GCC" != xyes; then # only works with Sun CC
++ AC_CHECK_LIB(sunmath, acosp,
++ [AC_CHECK_LIB(sunperf, $sgemm,
++ [BLAS_LIBS="-xlic_lib=sunperf -lsunmath"
++ acx_blas_ok=yes],[],[-lsunmath])])
++ fi
++fi
++
++# BLAS in SCSL library? (SGI/Cray Scientific Library)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"])
++fi
++
++# BLAS in SGIMATH library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(complib.sgimath, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"])
++fi
++
++# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm,
++ [AC_CHECK_LIB(essl, $sgemm,
++ [acx_blas_ok=yes; BLAS_LIBS="-lessl -lblas"],
++ [], [-lblas $FLIBS])])
++fi
++
++# Generic BLAS library?
++if test $acx_blas_ok = no; then
++ AC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"])
++fi
++
++AC_SUBST(BLAS_LIBS)
++
++LIBS="$acx_blas_save_LIBS"
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$acx_blas_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1])
++ :
++else
++ acx_blas_ok=no
++ $2
++fi
++])dnl ACX_BLAS
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2008-02-01 10:58:19.428778009 +0000
+@@ -0,0 +1 @@
++SUBDIRS = SRC
+--- SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SRC/Makefile.am 2008-02-01 10:58:19.428778009 +0000
+@@ -0,0 +1,80 @@
++AM_CPPFLAGS = -DAdd_
++### LAPACK
++LAAUX = lsame.c xerbla.c
++SLASRC = slacon.c
++DLASRC = dlacon.c
++CLASRC = clacon.c scsum1.c icmax1.c
++ZLASRC = zlacon.c dzsum1.c izmax1.c
++SCLAUX = slamch.c
++DZLAUX = dlamch.c
++
++### SuperLU
++ALLAUX = superlu_timer.c util.c memory.c get_perm_c.c mmd.c \
++ sp_coletree.c sp_preorder.c sp_ienv.c relax_snode.c \
++ heap_relax_snode.c colamd.c
++
++SLUSRC = \
++ sgssv.c sgssvx.c \
++ ssp_blas2.c ssp_blas3.c sgscon.c \
++ slangs.c sgsequ.c slaqgs.c spivotgrowth.c \
++ sgsrfs.c sgstrf.c sgstrs.c scopy_to_ucol.c \
++ ssnode_dfs.c ssnode_bmod.c \
++ spanel_dfs.c spanel_bmod.c sreadhb.c \
++ scolumn_dfs.c scolumn_bmod.c spivotL.c spruneL.c \
++ smemory.c sutil.c smyblas2.c
++
++DLUSRC = \
++ dgssv.c dgssvx.c \
++ dsp_blas2.c dsp_blas3.c dgscon.c \
++ dlangs.c dgsequ.c dlaqgs.c dpivotgrowth.c \
++ dgsrfs.c dgstrf.c dgstrs.c dcopy_to_ucol.c \
++ dsnode_dfs.c dsnode_bmod.c \
++ dpanel_dfs.c dpanel_bmod.c dreadhb.c \
++ dcolumn_dfs.c dcolumn_bmod.c dpivotL.c dpruneL.c \
++ dmemory.c dutil.c dmyblas2.c
++
++CLUSRC = \
++ scomplex.c cgssv.c cgssvx.c csp_blas2.c csp_blas3.c cgscon.c \
++ clangs.c cgsequ.c claqgs.c cpivotgrowth.c \
++ cgsrfs.c cgstrf.c cgstrs.c ccopy_to_ucol.c \
++ csnode_dfs.c csnode_bmod.c \
++ cpanel_dfs.c cpanel_bmod.c creadhb.c \
++ ccolumn_dfs.c ccolumn_bmod.c cpivotL.c cpruneL.c \
++ cmemory.c cutil.c cmyblas2.c
++
++ZLUSRC = \
++ dcomplex.c zgssv.c zgssvx.c zsp_blas2.c zsp_blas3.c zgscon.c \
++ zlangs.c zgsequ.c zlaqgs.c zpivotgrowth.c \
++ zgsrfs.c zgstrf.c zgstrs.c zcopy_to_ucol.c \
++ zsnode_dfs.c zsnode_bmod.c \
++ zpanel_dfs.c zpanel_bmod.c zreadhb.c \
++ zcolumn_dfs.c zcolumn_bmod.c zpivotL.c zpruneL.c \
++ zmemory.c zutil.c zmyblas2.c
++
++lib_LTLIBRARIES = libsuperlu.la
++libsuperlu_la_SOURCES = \
++ $(ALLAUX) $(LAAUX) \
++ $(SCLAUX) $(DZLAUX) \
++ $(SLUSRC) $(SLASRC) \
++ $(DLUSRC) $(DLASRC) \
++ $(CLUSRC) $(CLASRC) \
++ $(ZLUSRC) $(ZLASRC)
++libsuperlu_la_LIBADD = $(BLAS_LIBS)
++libsuperlu_la_LDFLAGS = -no-undefined -version-info 3:0:0
++
++
++
++##################################
++# Do not optimize these routines #
++##################################
++LTCOMPILE_NOOPT = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
++
++slamch.lo: slamch.c
++ $(LTCOMPILE_NOOPT) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++dlamch.lo: dlamch.c
++ $(LTCOMPILE_NOOPT) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++superlu_timer.lo: superlu_timer.c
++ $(LTCOMPILE_NOOPT) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++##################################
diff --git a/sci-libs/superlu/files/superlu-examples.patch b/sci-libs/superlu/files/superlu-examples.patch
new file mode 100644
index 000000000..236fad0ae
--- /dev/null
+++ b/sci-libs/superlu/files/superlu-examples.patch
@@ -0,0 +1,22 @@
+--- EXAMPLE/Makefile.orig 2008-01-31 17:16:16.008471873 +0000
++++ EXAMPLE/Makefile 2008-01-31 17:20:16.581889615 +0000
+@@ -1,4 +1,9 @@
+-include ../make.inc
++SUPERLULIB = -lsuperlu
++BLASLIB = $(BLAS_LIBS)
++FORTRAN = $(F77)
++LOADER = $(LD)
++LOADOPTS = $(LDFLAGS)
++CDEFS = -DAdd_
+
+ #######################################################################
+ # This makefile creates the example programs for the linear equation
+@@ -33,7 +38,7 @@
+ #######################################################################
+
+ HEADER = ../SRC
+-LIBS = ../$(SUPERLULIB) $(BLASLIB) -lm
++LIBS = $(SUPERLULIB) $(BLASLIB) -lm
+
+ SLINEXM = slinsol.o
+ SLINEXM1 = slinsol1.o
diff --git a/sci-libs/superlu/files/superlu-makeinc.patch b/sci-libs/superlu/files/superlu-makeinc.patch
new file mode 100644
index 000000000..64de51ec2
--- /dev/null
+++ b/sci-libs/superlu/files/superlu-makeinc.patch
@@ -0,0 +1,18 @@
+--- make.inc.orig 2008-02-01 11:04:11.332831878 +0000
++++ make.inc 2008-02-01 11:54:43.192532528 +0000
+@@ -29,12 +29,9 @@
+ ARCHFLAGS = cr
+ RANLIB = ranlib
+
+-CC = cc
+-CFLAGS = -xO3 -xcg92
+-FORTRAN = f77
+-FFLAGS = -O
+-LOADER = cc
+-LOADOPTS = -xO3
++FORTRAN = $(F77)
++LOADER = gcc
++LOADOPTS = $(LDFLAGS)
+
+ #
+ # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase)
diff --git a/sci-libs/superlu/metadata.xml b/sci-libs/superlu/metadata.xml
new file mode 100644
index 000000000..101acb686
--- /dev/null
+++ b/sci-libs/superlu/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ SuperLU is a general purpose library for the direct solution of large,
+ sparse, nonsymmetric systems of linear equations on high performance
+ machines. The library is written in C and is callable from either C or
+ Fortran. The library routines will perform an LU decomposition with
+ partial pivoting and triangular system solves through forward and back
+ substitution. The LU factorization routines can handle non-square
+ matrices but the triangular solves are performed only for square
+ matrices. The matrix columns may be preordered (before factorization)
+ either through library or user supplied routines. This preordering for
+ sparsity is completely separate from the factorization. Working
+ precision iterative refinement subroutines are provided for improved
+ backward stability. Routines are also provided to equilibrate the
+ system, estimate the condition number, calculate the relative backward
+ error, and estimate error bounds for the refined solutions.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/superlu/superlu-3.0.ebuild b/sci-libs/superlu/superlu-3.0.ebuild
new file mode 100644
index 000000000..26b0dec5e
--- /dev/null
+++ b/sci-libs/superlu/superlu-3.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils autotools
+
+MY_PN=SuperLU
+
+DESCRIPTION="Sparse LU factorization library"
+HOMEPAGE="http://crd.lbl.gov/~xiaoye/SuperLU/"
+SRC_URI="http://crd.lbl.gov/~xiaoye/SuperLU/${PN}_${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc examples test"
+
+RDEPEND="virtual/blas"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ test? ( app-shells/tcsh )"
+
+S="${WORKDIR}/${MY_PN}_${PV}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${PN}-examples.patch
+ epatch "${FILESDIR}"/${PN}-makeinc.patch
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ --with-blas="$(pkg-config --libs blas)" \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_test() {
+ cd TESTING/MATGEN
+ emake || die "emake matrix generation failed"
+ cd ..
+ emake \
+ SUPERLULIB=SRC/.libs/libsuperlu.a \
+ BLASLIB="$(pkg-config --libs blas)" \
+ || die "emake test failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README
+ use doc && newdoc INSTALL/ug.ps userguide.ps
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ newins -r EXAMPLE examples
+ fi
+}
diff --git a/sci-libs/tnt/ChangeLog b/sci-libs/tnt/ChangeLog
new file mode 100644
index 000000000..c6bd4c9e6
--- /dev/null
+++ b/sci-libs/tnt/ChangeLog
@@ -0,0 +1,8 @@
+# ChangeLog for sci-libs/tnt
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 17 Dec 2007; Sébastien Fabbro <bicatali@gentoo.org> +metadata.xml,
+ +tnt-1.2.6.ebuild, +tnt-3.0.8.ebuild:
+ Initial import
+
diff --git a/sci-libs/tnt/Manifest b/sci-libs/tnt/Manifest
new file mode 100644
index 000000000..2d6baa091
--- /dev/null
+++ b/sci-libs/tnt/Manifest
@@ -0,0 +1,7 @@
+DIST tnt_120doc.zip 115063 RMD160 793b76e1ee4e44c59b44f98bf76b1574653c12a8 SHA1 a0e48c05b0c937cee71bfc557345e9b4269eff63 SHA256 a3ca1327815c79cf9c12d432120d2cb2100748c18aac55e58338b8b8e56116c8
+DIST tnt_126.zip 28784 RMD160 3350b1faf4e36646e1c15b7b44f4dab1f99565b0 SHA1 32f628d7e28a6e373ec2ff66c70c1cb25783b946 SHA256 93c7cdd116a6faeb679890a52d5b513055388c7faaac74beea570f8f2edbd7e4
+DIST tnt_3_0_8.zip 50159 RMD160 562604e64a7a0f21a5b30a02c3b113527f10e4fe SHA1 1e77a5fd45d5bcb10b552983c007100afe5b52ab SHA256 fff02750ac6edcb4d400fafcd5a92bd5d54f6e217fe38e5b031f10ea53e2f128
+EBUILD tnt-1.2.6.ebuild 640 RMD160 a2415b4c91a91955a67c20b7d23a777169c5ef9e SHA1 ae470d888d335d4b2e5c94ef63a7546d7452f660 SHA256 b49e413e532e523cdf51df122ff9fae27c20ffa588e5135086065044a76b98ca
+EBUILD tnt-3.0.8.ebuild 551 RMD160 ffee218ccca42c7c94f1469b6312ba187e88d497 SHA1 928b59683c32796640ac2be57604f26e42d8ea11 SHA256 87054b81556ae7f1c94a4f5fee78b7bded25bff95559c36e2f14c60a3107ed6f
+MISC ChangeLog 241 RMD160 1103f1219deba053b8f38610e5b2833ca379fd9b SHA1 a534cd5b12f445fce2befc35b2706b4bbea30e41 SHA256 11853c92cf1ce4cd9d7d5caa6185212c3e2becd79f674794982216a183d91463
+MISC metadata.xml 664 RMD160 ab02b7f455f10c4b5bdf03e12978566f4ec29325 SHA1 462587b80bba63c2a35af630c487fd9bf393aa8e SHA256 33892ff64ab56b7966f27709db7feec0f70758571e8eff33e1e5f774a8b22212
diff --git a/sci-libs/tnt/metadata.xml b/sci-libs/tnt/metadata.xml
new file mode 100644
index 000000000..5e492aa48
--- /dev/null
+++ b/sci-libs/tnt/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+The Template Numerical Toolkit (TNT) is a collection of interfaces and
+reference implementations of numerical objects useful for scientific
+computing in C++. The toolkit defines interfaces for basic data
+structures, such as multidimensional arrays and sparse matrices, commonly
+used in numerical applications. The goal of this package is to provide
+reusable software components that address many of the portability and
+maintenance problems with C++ codes.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/tnt/tnt-1.2.6.ebuild b/sci-libs/tnt/tnt-1.2.6.ebuild
new file mode 100644
index 000000000..8fcba862f
--- /dev/null
+++ b/sci-libs/tnt/tnt-1.2.6.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+MYPV=${PV//./}
+DOCPV=120
+
+DESCRIPTION="Template Numerical Toolkit: C++ headers for array and matrices"
+HOMEPAGE="http://math.nist.gov/tnt/"
+SRC_URI="http://math.nist.gov/tnt/${PN}_${MYPV}.zip
+ doc? ( http://math.nist.gov/tnt/${PN}_${DOCPV}doc.zip )"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="doc"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_compile() {
+ einfo "Nothing to compile"
+}
+
+src_install() {
+ insinto /usr/include
+ doins *.h || die
+ use doc && dohtml html/*
+}
diff --git a/sci-libs/tnt/tnt-3.0.8.ebuild b/sci-libs/tnt/tnt-3.0.8.ebuild
new file mode 100644
index 000000000..6b023c5e2
--- /dev/null
+++ b/sci-libs/tnt/tnt-3.0.8.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+MYPV=${PV//./_}
+
+DESCRIPTION="Template Numerical Toolkit: C++ headers for array and matrices"
+HOMEPAGE="http://math.nist.gov/tnt/"
+SRC_URI="http://math.nist.gov/tnt/${PN}_${MYPV}.zip"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S="${WORKDIR}/${PN}"
+
+src_compile() {
+ einfo "Nothing to compile"
+}
+
+src_install() {
+ insinto /usr/include
+ doins *.h || die
+}