diff options
author | bicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb> | 2008-03-17 16:21:32 +0000 |
---|---|---|
committer | bicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb> | 2008-03-17 16:21:32 +0000 |
commit | 76ffb781ed7a917f23b67454e9f950e5e3b83527 (patch) | |
tree | 94fa8e1ddc7cb9ef80b78ea7896a5845f074f95b /sci-libs | |
parent | move stuff to root (diff) | |
download | sci-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')
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 +} |