aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2007-08-16 16:00:47 +0000
committerbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2007-08-16 16:00:47 +0000
commitc399feead1b8d9ea84e3940a60a02f6b056d5df5 (patch)
tree9c6487ff15eb20e050bd3959e766f0daa43f010f /sci-libs
parentadded new virtual blas, cblas and lapack (diff)
downloadsci-c399feead1b8d9ea84e3940a60a02f6b056d5df5.tar.gz
sci-c399feead1b8d9ea84e3940a60a02f6b056d5df5.tar.bz2
sci-c399feead1b8d9ea84e3940a60a02f6b056d5df5.zip
added many updates to blas/lapack packages
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@691 32389bae-6d03-0410-99cf-db05cde120eb
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/acml/Manifest29
-rw-r--r--sci-libs/acml/acml-3.6.0-r1.ebuild151
-rw-r--r--sci-libs/acml/acml-3.6.1-r1.ebuild176
-rw-r--r--sci-libs/acml/files/blas.pc.in12
-rw-r--r--sci-libs/acml/files/digest-acml-3.6.0-r112
-rw-r--r--sci-libs/acml/files/digest-acml-3.6.1-r19
-rw-r--r--sci-libs/acml/files/lapack.pc.in12
-rw-r--r--sci-libs/blas-atlas/Manifest45
-rw-r--r--sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild208
-rw-r--r--sci-libs/blas-atlas/files/atlas-asm-gentoo.patch12
-rw-r--r--sci-libs/blas-atlas/files/blas.pc.in11
-rw-r--r--sci-libs/blas-atlas/files/cblas.pc.in12
-rw-r--r--sci-libs/blas-atlas/files/digest-blas-atlas-3.7.376
-rw-r--r--sci-libs/blas-atlas/files/eselect.blas.atlas4
-rw-r--r--sci-libs/blas-atlas/files/eselect.blas.threaded-atlas4
-rw-r--r--sci-libs/blas-atlas/files/eselect.cblas.atlas5
-rw-r--r--sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas5
-rw-r--r--sci-libs/blas-atlas/files/war26
-rw-r--r--sci-libs/blas-atlas/metadata.xml14
-rw-r--r--sci-libs/blas-goto/Manifest16
-rw-r--r--sci-libs/blas-goto/blas-goto-1.16.ebuild153
-rw-r--r--sci-libs/blas-goto/files/blas.pc.in12
-rw-r--r--sci-libs/blas-goto/files/digest-blas-goto-1.163
-rw-r--r--sci-libs/blas-goto/files/eselect.blas.goto4
-rw-r--r--sci-libs/blas-reference/Manifest20
-rw-r--r--sci-libs/blas-reference/blas-reference-20070226.ebuild60
-rw-r--r--sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch243
-rw-r--r--sci-libs/blas-reference/files/digest-blas-reference-200702263
-rw-r--r--sci-libs/blas-reference/files/eselect.blas.reference4
-rw-r--r--sci-libs/blas-reference/metadata.xml14
-rw-r--r--sci-libs/cblas-reference/Manifest20
-rw-r--r--sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild52
-rw-r--r--sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch380
-rw-r--r--sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r43
-rw-r--r--sci-libs/cblas-reference/files/eselect.cblas.reference5
-rw-r--r--sci-libs/cblas-reference/metadata.xml15
-rw-r--r--sci-libs/gsl/Manifest24
-rw-r--r--sci-libs/gsl/files/cblas.pc.in12
-rw-r--r--sci-libs/gsl/files/digest-gsl-1.9-r13
-rw-r--r--sci-libs/gsl/files/eselect.cblas.gsl5
-rw-r--r--sci-libs/gsl/files/gsl-1.6-deps.diff13
-rw-r--r--sci-libs/gsl/gsl-1.9-r1.ebuild62
-rw-r--r--sci-libs/gsl/metadata.xml12
-rw-r--r--sci-libs/lapack-atlas/Manifest38
-rw-r--r--sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch12
-rw-r--r--sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.379
-rw-r--r--sci-libs/lapack-atlas/files/eselect.lapack.atlas4
-rw-r--r--sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch374
-rw-r--r--sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch36
-rw-r--r--sci-libs/lapack-atlas/files/lapack.pc.in13
-rw-r--r--sci-libs/lapack-atlas/files/war26
-rw-r--r--sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild168
-rw-r--r--sci-libs/lapack-atlas/metadata.xml14
-rw-r--r--sci-libs/lapack-reference/Manifest24
-rw-r--r--sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r13
-rw-r--r--sci-libs/lapack-reference/files/eselect.lapack.reference4
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch374
-rw-r--r--sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch36
-rw-r--r--sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild76
-rw-r--r--sci-libs/lapack-reference/metadata.xml13
-rw-r--r--sci-libs/mkl/Manifest20
-rw-r--r--sci-libs/mkl/files/blas.pc.in10
-rw-r--r--sci-libs/mkl/files/cblas.pc.in11
-rw-r--r--sci-libs/mkl/files/digest-mkl-9.1.0213
-rw-r--r--sci-libs/mkl/files/lapack.pc.in11
-rw-r--r--sci-libs/mkl/mkl-9.1.021.ebuild288
66 files changed, 3458 insertions, 0 deletions
diff --git a/sci-libs/acml/Manifest b/sci-libs/acml/Manifest
new file mode 100644
index 000000000..f17d88c7f
--- /dev/null
+++ b/sci-libs/acml/Manifest
@@ -0,0 +1,29 @@
+AUX blas.pc.in 318 RMD160 100136e9411ebdb6dc20c7d7034577176bac0e54 SHA1 7c3b9b718c9484bb36db5653ef137c0c3f7aca89 SHA256 08a708be96e90a601286d31f0c3b15e4d1f163a040cbb29f685a6c4b166407bf
+MD5 96cff33ac323d11dbbe2d55e9d5da4b1 files/blas.pc.in 318
+RMD160 100136e9411ebdb6dc20c7d7034577176bac0e54 files/blas.pc.in 318
+SHA256 08a708be96e90a601286d31f0c3b15e4d1f163a040cbb29f685a6c4b166407bf files/blas.pc.in 318
+AUX lapack.pc.in 314 RMD160 fa39d726a113cbfae773430b53c2621e9611bf70 SHA1 ca0d4fc03b9c43c282fd4da13694905e73a1c58d SHA256 7007cc3b3e663b1bf25df1198e7b44d55d05c400bc77c009ef229f9a5d3a06b9
+MD5 35e9a51de8c4d4c908feb5a90aa924e7 files/lapack.pc.in 314
+RMD160 fa39d726a113cbfae773430b53c2621e9611bf70 files/lapack.pc.in 314
+SHA256 7007cc3b3e663b1bf25df1198e7b44d55d05c400bc77c009ef229f9a5d3a06b9 files/lapack.pc.in 314
+DIST acml-3-6-0-gnu-32bit.tgz 9879145 RMD160 bafa6acd1d8a319fb385245559779450c7bdcd66 SHA1 7dad2ce9fb99572da79e127c711aabe29a888298 SHA256 81ee83babf134bc021e5e64983200abf815531ee20ecc5ecc97a30bbdb5cf6dd
+DIST acml-3-6-0-gnu-64bit.tgz 11101900 RMD160 f6d674a4fbf99e79109bb379d1ba5dbaf88ce010 SHA1 6f5aab32f396ac9cf99a9c142d89f0b835cb54f0 SHA256 240cd40c9f9c993c15ec113278faf8689713b45b7626da2d0c369024bec97c03
+DIST acml-3-6-0-ifort-32bit.tgz 17399749 RMD160 c41ebe1b62470858d176c5815e05893ba4caf4ad SHA1 87254fc12032ea9ea49822e00300774d8cda73b8 SHA256 1585df79ced4ecd6fdcbb59b36e2686b61d6faf7b755d5ac5a267eddeff36340
+DIST acml-3-6-0-ifort-64bit.tgz 21966276 RMD160 a6031f5cdacdc70d11c06cf6d8e8ae3149eff55f SHA1 094eb839d6a84ac5483588e965000862ae7ce40c SHA256 bdfb47a5f018d1bcca257b9223f176726663596ae0e8337dc295a312f8382950
+DIST acml-3-6-1-gfortran-32bit.tgz 17682562 RMD160 abdb8ea2f66f08f478a951b37c5ce5945854a357 SHA1 7606b690061319c50f30af11766694205b03922f SHA256 adec95c65d1042c65fa1490978b76042c3bf9670df7c226cd28431473985898c
+DIST acml-3-6-1-gfortran-64bit-int64.tgz 19802195 RMD160 3cb2317d6a5ec62797c4a11ab1336aabb50e16fa SHA1 a9be2f4ecbfdb6e0f849f545b66e78f752367f00 SHA256 56cbbb6deac2a93d21f3954511ad95ccc2a8ce893fdbf9a8605a2d81deb1fc41
+DIST acml-3-6-1-gfortran-64bit.tgz 20452058 RMD160 8df00704e7ac037dcd55a9207f45d6f0b2214ff8 SHA1 f0d2a10e5db83dc264d6f937189ce10a1f461a4d SHA256 efec543a8185ffb6e6e68db94ef0cbd92c1b9ee1580affe6cd0a73c580ad8bdc
+EBUILD acml-3.6.0-r1.ebuild 3942 RMD160 b029485d7230d4995b65e86bdca29508f96ec934 SHA1 1000c66d0a7e07d560708176481d3d504d78abae SHA256 0d68037cc5c0be70e1fb1a9a700e71e1fa29673a0a25cf6f6a9c210333ae04f9
+MD5 a91c81516a71325e5752bce83f30b693 acml-3.6.0-r1.ebuild 3942
+RMD160 b029485d7230d4995b65e86bdca29508f96ec934 acml-3.6.0-r1.ebuild 3942
+SHA256 0d68037cc5c0be70e1fb1a9a700e71e1fa29673a0a25cf6f6a9c210333ae04f9 acml-3.6.0-r1.ebuild 3942
+EBUILD acml-3.6.1-r1.ebuild 4800 RMD160 5a1ecbbd23e6e35050c05b45c1c4f3e3f760ae92 SHA1 45b3590c0130a6b05662feb52d74abab3d7bfb29 SHA256 248310b9b53178cc54c977ccf3a0e3c3b753b5fbc758f49ea5778ee5240fcf99
+MD5 32143a27766bc1b0174eb6996b2751bd acml-3.6.1-r1.ebuild 4800
+RMD160 5a1ecbbd23e6e35050c05b45c1c4f3e3f760ae92 acml-3.6.1-r1.ebuild 4800
+SHA256 248310b9b53178cc54c977ccf3a0e3c3b753b5fbc758f49ea5778ee5240fcf99 acml-3.6.1-r1.ebuild 4800
+MD5 0825c9a4d803ec3e005d86b883c72998 files/digest-acml-3.6.0-r1 1045
+RMD160 574657f2c6a1f3697428f9522c5d67fa18ce5193 files/digest-acml-3.6.0-r1 1045
+SHA256 47bd4eee1e3dfc0f1b508ce5a41054c23089bb9b9d7add427abcdc24942a1887 files/digest-acml-3.6.0-r1 1045
+MD5 f822ee466ea41e1f6900d64b52a495c6 files/digest-acml-3.6.1-r1 840
+RMD160 47a3138d09b475dcfe429b1ac3fc9c8a31bee749 files/digest-acml-3.6.1-r1 840
+SHA256 b1ab60561ac029d5f444f7c4b5c7c7dc1793f89ae5ec1b20baa7d4bfdb10a025 files/digest-acml-3.6.1-r1 840
diff --git a/sci-libs/acml/acml-3.6.0-r1.ebuild b/sci-libs/acml/acml-3.6.0-r1.ebuild
new file mode 100644
index 000000000..cf96e69d7
--- /dev/null
+++ b/sci-libs/acml/acml-3.6.0-r1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils toolchain-funcs fortran
+
+DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs"
+HOMEPAGE="http://developer.amd.com/acml.jsp"
+
+MY_PV=${PV//\./\-}
+S=${WORKDIR}
+
+IUSE="openmp ifc doc examples"
+KEYWORDS="~amd64 ~x86"
+
+SRC_URI="amd64? ( ifc? ( acml-${MY_PV}-ifort-64bit.tgz )
+ !ifc? ( openmp? ( acml-${MY_PV}-ifort-64bit.tgz )
+ !openmp? ( acml-${MY_PV}-gnu-64bit.tgz ) )
+ openmp? ( acml-${MY_PV}-ifort-64bit.tgz ) )
+ x86? ( ifc? ( acml-${MY_PV}-ifort-32bit.tgz )
+ !ifc? ( openmp? ( acml-${MY_PV}-ifort-32bit.tgz )
+ !openmp? ( acml-${MY_PV}-gnu-32bit.tgz ) )
+ openmp? ( acml-${MY_PV}-ifort-32bit.tgz ) )"
+
+RESTRICT="strip fetch"
+LICENSE="ACML"
+SLOT="0"
+
+DEPEND="app-admin/eselect-blas
+ app-admin/eselect-lapack"
+
+RDEPEND="${DEPEND}
+ openmp? ( >=dev-lang/ifc-9 )
+ doc? ( app-doc/blas-docs app-doc/lapack-docs )"
+
+pkg_nofetch() {
+ einfo "Please download the ACML from:"
+ einfo "${HOMEPAGE}"
+ einfo "and place it in ${DISTDIR}."
+ einfo "The previous versions could be found at"
+ einfo "http://developer.amd.com/acmlarchive.jsp"
+ einfo "SRC=${A} $SRC_URI"
+}
+
+pkg_setup() {
+ elog "From version 3.5.0 on, ACML no longer supports"
+ elog "hardware without SSE/SSE2 instructions. "
+ elog "For older 32-bit hardware that does not support SSE/SSE2,"
+ elog "you must continue to use an older version (ACML 3.1.0 and ealier)."
+ epause
+ FORTRAN=ifc
+ FORT=ifort
+ ! use ifc && ! use openmp && FORTRAN=g77 && FORT=gnu
+ fortran_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ (DISTDIR="${S}" unpack contents-acml-*.tgz)
+ use openmp || rm -rf ${FORT}*_mp*
+ FORTDIRS="$(ls -d ${FORT}*)"
+}
+
+src_compile() {
+ einfo "Nothing to compile"
+ return
+}
+
+src_test() {
+ for fort in ${FORTDIRS}; do
+ einfo "Testing acml for $(basename ${fort})"
+ cd "${S}/${fort}/examples"
+ for d in . acml_mv; do
+ cd "${S}/${fort}/examples/${d}"
+ emake \
+ ACMLDIR="${S}/${fort}" \
+ F77="${FORTRANC}" \
+ CC="$(tc-getCC)" \
+ CPLUSPLUS="$(tc-getCXX)" \
+ || die "emake test in ${fort}/examples/${d} failed"
+ emake clean
+ done
+ done
+}
+
+src_install() {
+ # respect acml default install dir (and FHS)
+ local instdir="/opt/${PN}${PV}"
+ dodir ${instdir}
+
+ for fort in ${FORTDIRS}; do
+ # install acml
+ use examples || rm -rf "${S}/${fort}"/examples
+ cp -pPR "${S}/${fort}" "${D}${instdir}"
+
+ # install profiles
+ local acmldir=${instdir}/${fort}
+ local libname=${acmldir}/lib/libacml
+ local prof=acml-${FORTRANC}
+ local extlibs
+ local extflags
+ if [[ "${fort}" =~ "_mp" ]]; then
+ prof="${prof}-openmp"
+ extlibs="-lpthread"
+ libname="${libname}_mp"
+ extflags="${extflags} -openmp"
+ fi
+ for l in blas lapack; do
+ # pkgconfig files
+ sed -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@ACMLDIR@:${acmldir}:g" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ -e "s:@EXTFLAGS@:${extflags}:g" \
+ "${FILESDIR}"/${l}.pc.in > ${l}.pc \
+ || die "sed ${l}.pc failed"
+ insinto ${acmldir}/lib
+ doins ${l}.pc
+
+ # eselect files
+ cat > eselect.${l} << EOF
+${libname}.so /usr/@LIBDIR@/lib${l}.so.0
+${libname}.so /usr/@LIBDIR@/lib${l}.so
+${libname}.a /usr/@LIBDIR@/lib${l}.a
+${acmldir}/lib/${l}.pc /usr/@LIBDIR@/pkgconfig/${l}.pc
+EOF
+ eselect ${l} add $(get_libdir) eselect.${l} ${prof}
+ done
+ echo "LDPATH=${instdir}/${fort}/lib" > 35acml
+ echo "INCLUDE=${instdir}/${fort}/include" >> 35acml
+ done
+
+ # paths
+ doenvd 35acml
+
+ use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html
+ cp -pPR "${S}"/Doc "${D}${instdir}"
+}
+
+pkg_postinst() {
+ # set acml if none are set yet
+ for l in blas lapack; do
+ if [[ -z "$(eselect ${l} show)" ]]; then
+ local prof=acml-${FORTRANC}
+ use openmp && prof="${prof}-openmp"
+ eselect ${l} set ${prof}
+ fi
+ done
+ elog "Use 'eselect blas' and 'eselect lapack' to select"
+ elog "one of the multiple acml blas and lapack profiles"
+}
diff --git a/sci-libs/acml/acml-3.6.1-r1.ebuild b/sci-libs/acml/acml-3.6.1-r1.ebuild
new file mode 100644
index 000000000..48e226d9f
--- /dev/null
+++ b/sci-libs/acml/acml-3.6.1-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils toolchain-funcs fortran
+
+DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs"
+HOMEPAGE="http://developer.amd.com/acml.jsp"
+
+MY_PV=${PV//\./\-}
+S=${WORKDIR}
+SRC_URI="x86? ( acml-${MY_PV}-gfortran-32bit.tgz )
+ amd64? ( ( acml-${MY_PV}-gfortran-64bit.tgz )
+ int64? ( acml-${MY_PV}-gfortran-64bit-int64.tgz ) )"
+
+
+RESTRICT="strip fetch"
+IUSE="openmp int64 test doc examples"
+LICENSE="ACML"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+
+# proper gcc needed for tests
+DEPEND="app-admin/eselect-blas
+ openmp? ( test? ( >=sys-devel/gcc-4.2 ) )
+ !openmp? ( test? ( =sys-devel/gcc-4.1* ) )
+ app-admin/eselect-lapack"
+
+RDEPEND="${DEPEND}
+ openmp? ( >=sys-devel/gcc-4.2 )
+ !openmp? ( =sys-devel/gcc-4.1* )
+ doc? ( app-doc/blas-docs app-doc/lapack-docs )"
+
+pkg_nofetch() {
+ einfo "Please download the ACML from:"
+ einfo "${HOMEPAGE}"
+ einfo "and place it in ${DISTDIR}"
+ einfo "The previous versions could be found at"
+ einfo "http://developer.amd.com/acmlarchive.jsp"
+}
+
+pkg_setup() {
+ elog "From version 3.5.0 on, ACML no longer supports"
+ elog "hardware without SSE/SSE2 instructions. "
+ elog "For older 32-bit hardware that does not support SSE/SSE2,"
+ elog "you must continue to use an older version (ACML 3.1.0 and ealier)."
+ epause
+ FORTRAN="gfortran"
+ fortran_pkg_setup
+ if use test; then
+ if ! use openmp && [[ $(gcc-version) != "4.1" ]]; then
+ eerror "You need gcc-4.1.x to test acml."
+ eerror "Please use gcc-config to swicth gcc version 4.1.x"
+ die "setup gcc failed"
+ elif use openmp && [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]]; then
+ eerror "You need gfortran >= 4.2 to use openmp features."
+ eerror "Please use gcc-config to switch gcc version >= 4.2"
+ die "setup gcc failed"
+ fi
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ (DISTDIR="${S}" unpack contents-acml-*.tgz)
+ case ${FORTRANC} in
+ g77) FORT=gnu ;;
+ gfortran) FORT=gfortran ;;
+ ifc|ifort) FORT=ifort ;;
+ *) eerror "Unsupported fortran compiler: ${FORTRANC}"
+ die ;;
+ esac
+ use openmp || rm -rf ${FORT}*_mp*
+ FORTDIRS="$(ls -d ${FORT}*)"
+}
+
+src_compile() {
+ einfo "Nothing to compile"
+ return
+}
+
+src_test() {
+ local forts=${FORTDIRS}
+ # only testing with current compiler
+ use openmp && forts="$(ls -d ${FORT}*_mp*)"
+ for fort in ${forts}; do
+ einfo "Testing acml for ${fort}"
+ cd "${S}/${fort}/examples"
+ for d in . acml_mv; do
+ cd "${S}/${fort}/examples/${d}"
+ emake \
+ ACMLDIR="${S}/${fort}" \
+ F77="${FORTRANC}" \
+ CC="$(tc-getCC)" \
+ CPLUSPLUS="$(tc-getCXX)" \
+ || die "emake test in ${fort}/examples/${d} failed"
+ emake clean
+ done
+ done
+}
+
+src_install() {
+ # respect acml default install dir (and FHS)
+ local instdir="/opt/${PN}${PV}"
+ dodir ${instdir}
+
+ for fort in ${FORTDIRS}; do
+ # install acml
+ use examples || rm -rf "${S}/${fort}"/examples
+ cp -pPR "${S}/${fort}" "${D}${instdir}"
+
+ # install profiles
+ local acmldir=${instdir}/${fort}
+ local libname=${acmldir}/lib/libacml
+ local prof=acml-${FORTRANC}
+ local extlibs
+ local extflags
+ if [[ "${fort}" =~ "int64" ]]; then
+ prof="${prof}-int64"
+ extflags="${extflags} -fdefault-integer-8"
+ fi
+ if [[ "${fort}" =~ "_mp" ]]; then
+ prof="${prof}-openmp"
+ extlibs="-lpthread"
+ libname="${libname}_mp"
+ extflags="${extflags} -fopenmp"
+ fi
+ for l in blas lapack; do
+ # pkgconfig files
+ sed -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@ACMLDIR@:${acmldir}:g" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ -e "s:@EXTFLAGS@:${extflags}:g" \
+ "${FILESDIR}"/${l}.pc.in > ${l}.pc \
+ || die "sed ${l}.pc failed"
+ insinto ${acmldir}/lib
+ doins ${l}.pc
+
+ # eselect files
+ cat > eselect.${l} << EOF
+${libname}.so /usr/@LIBDIR@/lib${l}.so.0
+${libname}.so /usr/@LIBDIR@/lib${l}.so
+${libname}.a /usr/@LIBDIR@/lib${l}.a
+${acmldir}/lib/${l}.pc /usr/@LIBDIR@/pkgconfig/${l}.pc
+EOF
+
+ eselect ${l} add $(get_libdir) eselect.${l} ${prof}
+ done
+ echo "LDPATH=${acmldir}/lib" > ${S}/35acml
+ echo "INCLUDE=${acmldir}/include" >> ${S}/35acml
+ done
+ doenvd "${S}"/35acml
+ use doc || rm -rf "${S}"/Doc/acml.pdf "${S}"/Doc/html
+ cp -pPR "${S}"/Doc "${D}${instdir}"
+}
+
+pkg_postinst() {
+ # set acml if none are set yet
+ for l in blas lapack; do
+ if [[ -z "$(eselect ${l} show)" ]]; then
+ local prof=${FORTRANC}
+ use int64 && ext="${prof}-int64"
+ use openmp && ext="${prof}-openmp"
+ eselect ${l} set ${prof}
+ fi
+ done
+ elog "Use 'eselect blas' and 'eselect lapack' to select"
+ elog "one of the multiple acml blas and lapack profiles"
+ echo
+ if use openmp; then
+ elog "Remember that if you want to use openmp"
+ elog "You need to switch to gcc >= 4.2 with gcc-config"
+ elog "When using ACML without openmp, stick with gcc-4.1.x"
+ fi
+}
diff --git a/sci-libs/acml/files/blas.pc.in b/sci-libs/acml/files/blas.pc.in
new file mode 100644
index 000000000..127deeecb
--- /dev/null
+++ b/sci-libs/acml/files/blas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=@ACMLDIR@/include
+
+Name: blas
+Description: ACML implementations of the Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://developer.amd.com/acml.jsp
+Libs: -L${libdir} -lblas -L@ACMLDIR@/lib -lacml_mv
+Libs.private: @EXTLIBS@
+Cflags: @EXTFLAGS@
diff --git a/sci-libs/acml/files/digest-acml-3.6.0-r1 b/sci-libs/acml/files/digest-acml-3.6.0-r1
new file mode 100644
index 000000000..78ad50e56
--- /dev/null
+++ b/sci-libs/acml/files/digest-acml-3.6.0-r1
@@ -0,0 +1,12 @@
+MD5 544b271fac69f3a5de4859c42962d257 acml-3-6-0-gnu-32bit.tgz 9879145
+RMD160 bafa6acd1d8a319fb385245559779450c7bdcd66 acml-3-6-0-gnu-32bit.tgz 9879145
+SHA256 81ee83babf134bc021e5e64983200abf815531ee20ecc5ecc97a30bbdb5cf6dd acml-3-6-0-gnu-32bit.tgz 9879145
+MD5 cd29b05621cc8af7094bc30e3d8288e3 acml-3-6-0-gnu-64bit.tgz 11101900
+RMD160 f6d674a4fbf99e79109bb379d1ba5dbaf88ce010 acml-3-6-0-gnu-64bit.tgz 11101900
+SHA256 240cd40c9f9c993c15ec113278faf8689713b45b7626da2d0c369024bec97c03 acml-3-6-0-gnu-64bit.tgz 11101900
+MD5 b142edc1cd30cee76262c7df3d6e491c acml-3-6-0-ifort-32bit.tgz 17399749
+RMD160 c41ebe1b62470858d176c5815e05893ba4caf4ad acml-3-6-0-ifort-32bit.tgz 17399749
+SHA256 1585df79ced4ecd6fdcbb59b36e2686b61d6faf7b755d5ac5a267eddeff36340 acml-3-6-0-ifort-32bit.tgz 17399749
+MD5 e887b75ceec837ba9778b3fe18913faa acml-3-6-0-ifort-64bit.tgz 21966276
+RMD160 a6031f5cdacdc70d11c06cf6d8e8ae3149eff55f acml-3-6-0-ifort-64bit.tgz 21966276
+SHA256 bdfb47a5f018d1bcca257b9223f176726663596ae0e8337dc295a312f8382950 acml-3-6-0-ifort-64bit.tgz 21966276
diff --git a/sci-libs/acml/files/digest-acml-3.6.1-r1 b/sci-libs/acml/files/digest-acml-3.6.1-r1
new file mode 100644
index 000000000..31c6126b2
--- /dev/null
+++ b/sci-libs/acml/files/digest-acml-3.6.1-r1
@@ -0,0 +1,9 @@
+MD5 3aa80dc1a5fed2ccedceacffcbf22501 acml-3-6-1-gfortran-32bit.tgz 17682562
+RMD160 abdb8ea2f66f08f478a951b37c5ce5945854a357 acml-3-6-1-gfortran-32bit.tgz 17682562
+SHA256 adec95c65d1042c65fa1490978b76042c3bf9670df7c226cd28431473985898c acml-3-6-1-gfortran-32bit.tgz 17682562
+MD5 1eb1958766688332a83e4b9807031495 acml-3-6-1-gfortran-64bit-int64.tgz 19802195
+RMD160 3cb2317d6a5ec62797c4a11ab1336aabb50e16fa acml-3-6-1-gfortran-64bit-int64.tgz 19802195
+SHA256 56cbbb6deac2a93d21f3954511ad95ccc2a8ce893fdbf9a8605a2d81deb1fc41 acml-3-6-1-gfortran-64bit-int64.tgz 19802195
+MD5 f1df8d99221337e5644e85ca790e19c2 acml-3-6-1-gfortran-64bit.tgz 20452058
+RMD160 8df00704e7ac037dcd55a9207f45d6f0b2214ff8 acml-3-6-1-gfortran-64bit.tgz 20452058
+SHA256 efec543a8185ffb6e6e68db94ef0cbd92c1b9ee1580affe6cd0a73c580ad8bdc acml-3-6-1-gfortran-64bit.tgz 20452058
diff --git a/sci-libs/acml/files/lapack.pc.in b/sci-libs/acml/files/lapack.pc.in
new file mode 100644
index 000000000..326c75705
--- /dev/null
+++ b/sci-libs/acml/files/lapack.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=@ACMLDIR@/include
+
+Name: lapack
+Description: ACML implementation of the F77 Linear Algebra PACKage
+Version: @PV@
+URL: http://developer.amd.com/acml.jsp
+Libs: -L${libdir} -llapack -L@ACMLDIR@/lib -lacml_mv
+Libs.private: @EXTLIBS@
+Cflags: @EXTFLAGS@
diff --git a/sci-libs/blas-atlas/Manifest b/sci-libs/blas-atlas/Manifest
new file mode 100644
index 000000000..3fa4b3f4e
--- /dev/null
+++ b/sci-libs/blas-atlas/Manifest
@@ -0,0 +1,45 @@
+AUX atlas-asm-gentoo.patch 408 RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da SHA1 493d066be68c66cca1f0c906d588da8983ec7afa SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b
+MD5 fb9ca923b595b67967a744339e7a32a6 files/atlas-asm-gentoo.patch 408
+RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da files/atlas-asm-gentoo.patch 408
+SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b files/atlas-asm-gentoo.patch 408
+AUX blas.pc.in 301 RMD160 e82627c38aa09c8eb2581a4dd8a38c1670ed6098 SHA1 e8c80353ba72bee2848767b70f7575b723b84f15 SHA256 cb993e61b03514c4c69fac43540e45e759cf57635e2a8d6900118543d06ff433
+MD5 b3e049b36e34287f6482a9122dccd604 files/blas.pc.in 301
+RMD160 e82627c38aa09c8eb2581a4dd8a38c1670ed6098 files/blas.pc.in 301
+SHA256 cb993e61b03514c4c69fac43540e45e759cf57635e2a8d6900118543d06ff433 files/blas.pc.in 301
+AUX cblas.pc.in 312 RMD160 a4a66d41736ba1c5fb669c8a96c48f952fb7fcf5 SHA1 85b24f0257e79e8adc8abea3e1117809cc6cf253 SHA256 df3a0733085883397c37fa273d239b0e8c9d875521383f581fdf473013c3b5c3
+MD5 eef01fd3138262258bae911fd6921837 files/cblas.pc.in 312
+RMD160 a4a66d41736ba1c5fb669c8a96c48f952fb7fcf5 files/cblas.pc.in 312
+SHA256 df3a0733085883397c37fa273d239b0e8c9d875521383f581fdf473013c3b5c3 files/cblas.pc.in 312
+AUX eselect.blas.atlas 197 RMD160 fc69bacf24979485653a2d61298fdbf21464c089 SHA1 68de5da171fdd3e0ff5a7773b36cee86bce5b76c SHA256 72e659f90bb5734b50a5ea02d92348dfcf99868ecbabdcf4cb64bf3bded4e3bb
+MD5 a21c4702fce8fdfea0541c2e47f5e348 files/eselect.blas.atlas 197
+RMD160 fc69bacf24979485653a2d61298fdbf21464c089 files/eselect.blas.atlas 197
+SHA256 72e659f90bb5734b50a5ea02d92348dfcf99868ecbabdcf4cb64bf3bded4e3bb files/eselect.blas.atlas 197
+AUX eselect.blas.threaded-atlas 233 RMD160 eb70808c9a2e6a27b4f10f991b5c59a693e75914 SHA1 93c8a25e4e0b1e8168bafcd8fb62109e656f56ad SHA256 85d98b8a4b8eb75927eac32623dc3c6a7ee55a259176196d075f6b112ae35726
+MD5 8a1f2685e5080a6d02239e4cf0f74f75 files/eselect.blas.threaded-atlas 233
+RMD160 eb70808c9a2e6a27b4f10f991b5c59a693e75914 files/eselect.blas.threaded-atlas 233
+SHA256 85d98b8a4b8eb75927eac32623dc3c6a7ee55a259176196d075f6b112ae35726 files/eselect.blas.threaded-atlas 233
+AUX eselect.cblas.atlas 240 RMD160 08dd3aba18a1c0c5a6a9e925a506cd8a6118c906 SHA1 92184db3b149e0225b3f09b02cc29f9eea0d6869 SHA256 44234a398340b79873cf40548c0b67179d42235ddae7ef7c9b8caf7cf2f20ac9
+MD5 adbbbf334d670c397d79db05eae7a5a3 files/eselect.cblas.atlas 240
+RMD160 08dd3aba18a1c0c5a6a9e925a506cd8a6118c906 files/eselect.cblas.atlas 240
+SHA256 44234a398340b79873cf40548c0b67179d42235ddae7ef7c9b8caf7cf2f20ac9 files/eselect.cblas.atlas 240
+AUX eselect.cblas.threaded-atlas 279 RMD160 86b5feb044f2abc3760aa93abc9dcf5d5120d36f SHA1 d5d36f5d475585ef1ef556fc7de20e3688e9bcee SHA256 abb808af099e7ff410186e69ce7e8ada90f6482bc7ebe306bc8b98a00298d82c
+MD5 419b3217f2446bbebef90cce8ff3f8e8 files/eselect.cblas.threaded-atlas 279
+RMD160 86b5feb044f2abc3760aa93abc9dcf5d5120d36f files/eselect.cblas.threaded-atlas 279
+SHA256 abb808af099e7ff410186e69ce7e8ada90f6482bc7ebe306bc8b98a00298d82c files/eselect.cblas.threaded-atlas 279
+AUX war 545 RMD160 6f44c25e739703f988180959608094aa633db7bf SHA1 d90a66e57395e01b94bac9b444590de8fef77aca SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b
+MD5 13d26350d75e6993f1b3ec48ca97f14e files/war 545
+RMD160 6f44c25e739703f988180959608094aa633db7bf files/war 545
+SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b files/war 545
+DIST atlas-3.7.37-shared-libs.patch.bz2 6373 RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a SHA1 c8ca108f50a7968ad98be64a70ea1b0b5e87ad5d SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec
+DIST atlas3.7.37.tar.bz2 2282682 RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 SHA1 32ea739fc4682fb2a9b6625d1a912baaf8f31e1a SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65
+EBUILD blas-atlas-3.7.37.ebuild 6419 RMD160 bb79fdc24607130731c86a97a7d569a81a1e32f9 SHA1 fda65a08d1915a70d2a6be736a513897ebbc23c9 SHA256 2af670e81baa74ddee2dc59b0cea62d8dc85efd50fc8731a0a091e2d0bb424e4
+MD5 4fdcc54130d4e0b5853a9ace559ebdaa blas-atlas-3.7.37.ebuild 6419
+RMD160 bb79fdc24607130731c86a97a7d569a81a1e32f9 blas-atlas-3.7.37.ebuild 6419
+SHA256 2af670e81baa74ddee2dc59b0cea62d8dc85efd50fc8731a0a091e2d0bb424e4 blas-atlas-3.7.37.ebuild 6419
+MISC metadata.xml 580 RMD160 7ce0902e03a760caed898006d33e2b7a02889a4a SHA1 79f4b164312be4ef4997f45bc565245d7e38cf23 SHA256 cdf15df04609b262f0bb8f6b8dad7a5b4c60851d943b4b5112b3e890bc18772c
+MD5 10420bb4a733d750626ceda5880997ad metadata.xml 580
+RMD160 7ce0902e03a760caed898006d33e2b7a02889a4a metadata.xml 580
+SHA256 cdf15df04609b262f0bb8f6b8dad7a5b4c60851d943b4b5112b3e890bc18772c metadata.xml 580
+MD5 9dd949834c39796593d9379b1440f42b files/digest-blas-atlas-3.7.37 518
+RMD160 8fa70a56e5f74fd5eb968c2ba9c0b117e7390e09 files/digest-blas-atlas-3.7.37 518
+SHA256 c757a062137352420e0219f5f9787c73a73fc617d3a1e78b3a4410e3fbaf5e3a files/digest-blas-atlas-3.7.37 518
diff --git a/sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild b/sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild
new file mode 100644
index 000000000..0a2305d63
--- /dev/null
+++ b/sci-libs/blas-atlas/blas-atlas-3.7.37.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils toolchain-funcs fortran
+
+DESCRIPTION="Automatically Tuned Linear Algebra Software BLAS implementation"
+HOMEPAGE="http://math-atlas.sourceforge.net/"
+MY_PN=${PN/blas-/}
+SRC_URI="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2
+ http://dev.gentoo.org/~bicatali/${MY_PN}-${PV}-shared-libs.patch.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc"
+
+RDEPEND="app-admin/eselect-blas
+ app-admin/eselect-cblas
+ dev-util/pkgconfig
+ doc? ( app-doc/blas-docs )"
+
+DEPEND="app-admin/eselect-blas
+ app-admin/eselect-cblas
+ >=sys-devel/libtool-1.5"
+
+S="${WORKDIR}/ATLAS"
+BLD_DIR="${S}/gentoo-build"
+RPATH="${DESTTREE}/$(get_libdir)/blas"
+
+pkg_setup() {
+ # icc won't compile (as of icc-10.0.025)
+ # and will blow out $PORTAGE_TMPDIR
+ if [[ $(tc-getCC) = icc* ]]; then
+ eerror "icc compiler is not supported with sci-libs/blas-atlas"
+ die "blas-atlas won't compile with icc"
+ fi
+
+ FORTRAN="g77 gfortran ifc"
+ fortran_pkg_setup
+ echo
+ ewarn "Please make sure to disable CPU throttling completely"
+ ewarn "during the compile of blas-atlas. Otherwise, all atlas"
+ ewarn "generated timings will be completely random and the"
+ ewarn "performance of the resulting libraries will be degraded"
+ ewarn "considerably."
+ echo
+ ewarn "For users of <=gcc-4.1.1 only:"
+ ewarn "If you experience failing SANITY tests during"
+ ewarn "atlas' compile please try passing -mfpmath=387; this"
+ ewarn "option might also result in much better performance"
+ ewarn "than using then sse instruction set depending on your"
+ ewarn "CPU."
+ echo
+ epause 10
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ epatch "${DISTDIR}"/${MY_PN}-${PV}-shared-libs.patch.bz2
+ epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch
+
+ # increase amount of workspace to improve threaded performance
+ sed -e "s:16777216:167772160:" -i include/atlas_lvl3.h || \
+ die "Failed to fix ATL_MaxMalloc"
+
+ sed -e "s:= gcc:= $(tc-getCC) ${CFLAGS}:" \
+ -i CONFIG/src/SpewMakeInc.c || die "Failed to fix Spewmake"
+
+ mkdir ${BLD_DIR} || die "failed to generate build directory"
+ cd ${BLD_DIR}
+ cp "${FILESDIR}"/war . && chmod a+x war || \
+ die "failed to install war"
+
+ local archselect
+ if [[ "${ARCH}" == "amd64" || "${ARCH}" == "ppc64" ]]; then
+ archselect="-b 64"
+ elif [ "${ARCH}" == "alpha" ]; then
+ archselect=""
+ else
+ archselect="-b 32"
+ fi
+
+ ../configure \
+ --cc="$(tc-getCC)" \
+ --cflags="${CFLAGS}" \
+ --prefix="${D}/${DESTTREE}" \
+ --libdir="${D}/${DESTTREE}/$(get_libdir)/atlas" \
+ --incdir="${D}/${DESTTREE}/include" \
+ -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \
+ -C if "${FORTRANC}" -F if "${FFLAGS}" \
+ -Ss pmake "\$(MAKE) ${MAKEOPTS}" \
+ -Si cputhrchk 0 ${archselect} \
+ || die "configure failed"
+}
+
+src_compile() {
+ cd ${BLD_DIR}
+ emake -j1 || die "emake failed"
+
+ make shared LIBDIR="$(get_libdir)" RPATH="${RPATH}/atlas" || \
+ die "failed to build shared libraries"
+
+ # build shared libraries of threaded libraries if applicable
+ if [ -d gentoo/libptcblas.a ]; then
+ make ptshared LIBDIR="$(get_libdir)" RPATH="${RPATH}/threaded-atlas" || \
+ die "failed to build threaded shared libraries"
+ fi
+}
+
+src_test() {
+ # make check does not work because
+ # we don't build lapack libs
+ for i in F77 C; do
+ einfo "Testing ${i} interface"
+ cd ${BLD_DIR}/interfaces/blas/${i}/testing
+ make sanity_test || die "make tests for ${i} failed"
+ if [ -d ${BLD_DIR}/gentoo/libptf77blas.a ]; then
+ make ptsanity_test || die "make tests threaded for ${i}failed"
+ fi
+ done
+ echo "Timing ATLAS"
+ cd ${BLD_DIR}
+ make time || die "make time failed"
+}
+
+src_install () {
+ dodir "${RPATH}"/atlas
+ cd ${BLD_DIR}/gentoo/libs
+ cp -P libatlas* "${D}/${DESTTREE}/$(get_libdir)" || \
+ die "Failed to install libatlas"
+
+ # pkgconfig files
+ local extlibs="-lm"
+ local threadlibs
+ [[ ${FORTRANC} == "gfortran" ]] && extlibs="${extlibs} -lgfortran"
+ [[ ${FORTRANC} == "g77" ]] && extlibs="${extlibs} -lg2c"
+ cp "${FILESDIR}"/blas.pc.in blas.pc
+ cp "${FILESDIR}"/cblas.pc.in cblas.pc
+ sed -i \
+ -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ -e "s:@THREADLIBS@:${threadlibs}:g" \
+ *blas.pc || die "sed *blas.pc failed"
+
+ cp -P *blas* "${D}/${RPATH}"/atlas || \
+ die "Failed to install blas/cblas"
+ eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.atlas atlas
+ eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.atlas atlas
+
+ if [ -d ${BLD_DIR}/gentoo/threaded-libs ]
+ then
+ dodir "${RPATH}"/threaded-atlas
+ cd ${BLD_DIR}/gentoo/threaded-libs
+
+ # pkgconfig files
+ cp ${FILESDIR}/blas.pc.in blas.pc
+ cp ${FILESDIR}/cblas.pc.in cblas.pc
+ threadlibs="-lpthread"
+ sed -i \
+ -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ -e "s:@THREADLIBS@:${threadlibs}:g" \
+ *blas.pc || die "sed *blas.pc failed"
+
+ cp -P * "${D}/${RPATH}"/threaded-atlas || \
+ die "Failed to install threaded atlas"
+ eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.threaded-atlas threaded-atlas
+ eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.threaded-atlas threaded-atlas
+ fi
+
+ insinto "${DESTTREE}"/include/atlas
+ doins "${S}"/include/cblas.h "${S}"/include/atlas_misc.h \
+ "${S}"/include/atlas_enum.h || \
+ die "failed to install headers"
+
+ # These headers contain the architecture-specific
+ # optimizations determined by ATLAS. The atlas-lapack build
+ # is much shorter if they are available, so save them:
+ doins ${BLD_DIR}/include/*.h || \
+ die "failed to install timing headers"
+
+ # some docs
+ cd "${S}"/doc
+ dodoc INDEX.txt AtlasCredits.txt ChangeLog || die "dodoc failed"
+ # atlas specific doc (blas generic docs installed by blas-docs)
+ if use doc; then
+ insinto /usr/share/doc/${PF}
+ doins atlas*pdf cblasqref.pdf || die "doins docs failed"
+ fi
+}
+
+pkg_postinst() {
+ local THREADED
+ [ -f "${RPATH}"/threaded-atlas/libcblas.a ] && THREADED="threaded-"
+ [[ -z "$(eselect blas show)" ]] && eselect blas set ${THREADED}atlas
+ [[ -z "$(eselect cblas show)" ]] && eselect cblas set ${THREADED}atlas
+
+ elog "Use 'eselect blas' and 'eselect cblas' (as root) to select"
+ elog "one of the ATLAS blas and cblas profiles."
+ elog "Use 'pkg-config --libs blas' to link with ATLAS blas."
+ elog "Use 'pkg-config --cflags cblas' and 'pkg-config --libs cblas'"
+ elog "to compile and link with ATLAS cblas"
+}
diff --git a/sci-libs/blas-atlas/files/atlas-asm-gentoo.patch b/sci-libs/blas-atlas/files/atlas-asm-gentoo.patch
new file mode 100644
index 000000000..ca5a7a8ee
--- /dev/null
+++ b/sci-libs/blas-atlas/files/atlas-asm-gentoo.patch
@@ -0,0 +1,12 @@
+diff -Naur ATLAS/include/contrib/camm_dpa.h ATLAS-new/include/contrib/camm_dpa.h
+--- ATLAS/include/contrib/camm_dpa.h 2006-09-09 15:33:15.000000000 -0400
++++ ATLAS-new/include/contrib/camm_dpa.h 2006-09-26 10:18:24.000000000 -0400
+@@ -1619,7 +1619,7 @@
+ #if defined(SCPLX) || (defined(DCPLX) && defined(ATL_SSE2))
+ ,"m" (w)
+ #endif
+- :"ax","bx","cx","dx","si","di");
++ :"ax","cx","dx","si","di");
+
+
+ }
diff --git a/sci-libs/blas-atlas/files/blas.pc.in b/sci-libs/blas-atlas/files/blas.pc.in
new file mode 100644
index 000000000..8c0eefe28
--- /dev/null
+++ b/sci-libs/blas-atlas/files/blas.pc.in
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: blas
+Description: Automatically Tuned Linear Algebra Software F77 BLAS implementation
+Version: @PV@
+URL: http://math-atlas.sourceforge.net/
+Libs: -L${libdir} -lblas -latlas @THREADLIBS@
+Libs.private: @EXTLIBS@
diff --git a/sci-libs/blas-atlas/files/cblas.pc.in b/sci-libs/blas-atlas/files/cblas.pc.in
new file mode 100644
index 000000000..d40314043
--- /dev/null
+++ b/sci-libs/blas-atlas/files/cblas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: cblas
+Description: Automatically Tuned Linear Algebra Software C BLAS implementation
+Version: @PV@
+URL: http://math-atlas.sourceforge.net/
+Libs: -L${libdir} -lcblas -latlas
+Libs.private: @EXTLIBS@
+Cflags: -I${includedir}
diff --git a/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.37 b/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.37
new file mode 100644
index 000000000..2df04aa01
--- /dev/null
+++ b/sci-libs/blas-atlas/files/digest-blas-atlas-3.7.37
@@ -0,0 +1,6 @@
+MD5 88fe3d5e7eb9cda6f87be1264d5995b4 atlas-3.7.37-shared-libs.patch.bz2 6373
+RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a atlas-3.7.37-shared-libs.patch.bz2 6373
+SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec atlas-3.7.37-shared-libs.patch.bz2 6373
+MD5 5c3fb9a4c74e8426105558a23b2215ff atlas3.7.37.tar.bz2 2282682
+RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 atlas3.7.37.tar.bz2 2282682
+SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65 atlas3.7.37.tar.bz2 2282682
diff --git a/sci-libs/blas-atlas/files/eselect.blas.atlas b/sci-libs/blas-atlas/files/eselect.blas.atlas
new file mode 100644
index 000000000..a6f69f03d
--- /dev/null
+++ b/sci-libs/blas-atlas/files/eselect.blas.atlas
@@ -0,0 +1,4 @@
+blas/atlas/libblas.so /usr/@LIBDIR@/libblas.so
+blas/atlas/libblas.so.0 /usr/@LIBDIR@/libblas.so.0
+blas/atlas/libblas.a /usr/@LIBDIR@/libblas.a
+../blas/atlas/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc
diff --git a/sci-libs/blas-atlas/files/eselect.blas.threaded-atlas b/sci-libs/blas-atlas/files/eselect.blas.threaded-atlas
new file mode 100644
index 000000000..501e89e07
--- /dev/null
+++ b/sci-libs/blas-atlas/files/eselect.blas.threaded-atlas
@@ -0,0 +1,4 @@
+blas/threaded-atlas/libblas.so /usr/@LIBDIR@/libblas.so
+blas/threaded-atlas/libblas.so.0 /usr/@LIBDIR@/libblas.so.0
+blas/threaded-atlas/libblas.a /usr/@LIBDIR@/libblas.a
+../blas/threaded-atlas/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc
diff --git a/sci-libs/blas-atlas/files/eselect.cblas.atlas b/sci-libs/blas-atlas/files/eselect.cblas.atlas
new file mode 100644
index 000000000..a8e0b74fb
--- /dev/null
+++ b/sci-libs/blas-atlas/files/eselect.cblas.atlas
@@ -0,0 +1,5 @@
+blas/atlas/libcblas.so /usr/@LIBDIR@/libcblas.so
+blas/atlas/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+blas/atlas/libcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/atlas/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+atlas/cblas.h /usr/include/cblas.h
diff --git a/sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas b/sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas
new file mode 100644
index 000000000..1af2a211e
--- /dev/null
+++ b/sci-libs/blas-atlas/files/eselect.cblas.threaded-atlas
@@ -0,0 +1,5 @@
+blas/threaded-atlas/libcblas.so /usr/@LIBDIR@/libcblas.so
+blas/threaded-atlas/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+blas/threaded-atlas/libcblas.so.0 /usr/@LIBDIR@/libcblas.a
+../blas/threaded-atlas/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+cblas/cblas.h /usr/include/cblas.h
diff --git a/sci-libs/blas-atlas/files/war b/sci-libs/blas-atlas/files/war
new file mode 100644
index 000000000..2093f033a
--- /dev/null
+++ b/sci-libs/blas-atlas/files/war
@@ -0,0 +1,26 @@
+#! /bin/bash
+#
+# war -- wrapper for the archiver
+#
+# Executed by ATLAS build as:
+# full_path/war ARCHIVER ARFLAGS LIBNAME.a OBJS.lo
+
+TOPDIR=$(echo $0 | sed 's/\(.*\)\/.*/\1/')
+PWD=$(pwd)
+
+ARCHIVER=$1
+LIBRARY=$(echo $3 | sed 's/.*\/\(.*\)/\1/')
+OBJ_DIR=${TOPDIR}/gentoo/$LIBRARY
+
+if [ ! -x $OBJ_DIR ]; then mkdir -p ${OBJ_DIR}/.libs; fi
+
+$ARCHIVER $@
+
+shift 3
+for obj in $@ ; do
+ lobj=$(echo $obj | sed 's/\.o/\.lo/')
+ ln -sf ${PWD}/$obj ${OBJ_DIR}/$obj
+ ln -sf ${PWD}/$lobj ${OBJ_DIR}/$lobj
+ ln -sf ${PWD}/.libs/$obj ${OBJ_DIR}/.libs/$obj
+done
+
diff --git a/sci-libs/blas-atlas/metadata.xml b/sci-libs/blas-atlas/metadata.xml
new file mode 100644
index 000000000..dc7cebf64
--- /dev/null
+++ b/sci-libs/blas-atlas/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">
+ATLAS is an approach for the automatic generation and optimization of
+numerical software. Currently ATLAS supplies optimized versions for
+the complete set of linear algebra kernels known as the Basic Linear
+Algebra Subroutines (BLAS), and a subset of the linear algebra
+routines in the LAPACK library.
+The libraries in this package contain BLAS FORTRAN77 and C
+implementations
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/blas-goto/Manifest b/sci-libs/blas-goto/Manifest
new file mode 100644
index 000000000..6fe2bfdc0
--- /dev/null
+++ b/sci-libs/blas-goto/Manifest
@@ -0,0 +1,16 @@
+AUX blas.pc.in 302 RMD160 4b7585f42152749a034ba17ec30f2c0afdfaa574 SHA1 465de61e8b57f509eb3268e71fe3f7dfc629a394 SHA256 b1135b177d91f06145e3a6d99ebdc53515a6446cc4d66ff4f6a9cc18a97875f8
+MD5 c937385edb7a826dc325c2a598870cbd files/blas.pc.in 302
+RMD160 4b7585f42152749a034ba17ec30f2c0afdfaa574 files/blas.pc.in 302
+SHA256 b1135b177d91f06145e3a6d99ebdc53515a6446cc4d66ff4f6a9cc18a97875f8 files/blas.pc.in 302
+AUX eselect.blas.goto 193 RMD160 b25ff1d0b37fed194afde473019706e6a9404718 SHA1 e4c78e7cace1d7144f1fc921a29d516b4234703d SHA256 33a9d0be6f400f792f744604afae7239b2d7392cc0e8cac758b53e695acc0802
+MD5 123cb7f07958ee38eebc1bfd038ad840 files/eselect.blas.goto 193
+RMD160 b25ff1d0b37fed194afde473019706e6a9404718 files/eselect.blas.goto 193
+SHA256 33a9d0be6f400f792f744604afae7239b2d7392cc0e8cac758b53e695acc0802 files/eselect.blas.goto 193
+DIST GotoBLAS-1.16.tar.gz 1783818 RMD160 416f905cb07a3eaf03c85f4660865393403fe398 SHA1 24e0bec6e06f400754ba4d6fc1950a1beb83c95b SHA256 4a490f86648aa26fa1e5bfe4569224c8146d0086db90280eeff279f92cb8cbe5
+EBUILD blas-goto-1.16.ebuild 3823 RMD160 eed05cba3b194f1ad0df291f9375ce1bb2be7d41 SHA1 c3db18d0782834f3cc87dc37b5e55501a02b5b07 SHA256 268dae63ed9f4c39a1993b6e002a345b28a594fea0e4f3c0623f3046316adefa
+MD5 d5904c6c1ae622bb9951f02c1e373792 blas-goto-1.16.ebuild 3823
+RMD160 eed05cba3b194f1ad0df291f9375ce1bb2be7d41 blas-goto-1.16.ebuild 3823
+SHA256 268dae63ed9f4c39a1993b6e002a345b28a594fea0e4f3c0623f3046316adefa blas-goto-1.16.ebuild 3823
+MD5 9a962a71f195f4c7e47eb6500e359bf7 files/digest-blas-goto-1.16 244
+RMD160 f746aa18c4fb25074c3bb812f2b6d9af23f207c8 files/digest-blas-goto-1.16 244
+SHA256 94fcc0a46d8b6bdc34b86b0262776addca8d14bc3b7a324f9e80d6445d166734 files/digest-blas-goto-1.16 244
diff --git a/sci-libs/blas-goto/blas-goto-1.16.ebuild b/sci-libs/blas-goto/blas-goto-1.16.ebuild
new file mode 100644
index 000000000..a15ba1b07
--- /dev/null
+++ b/sci-libs/blas-goto/blas-goto-1.16.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils fortran flag-o-matic toolchain-funcs
+
+MY_PN="GotoBLAS"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="The fastest implementations of the Basic Linear Algebra Subroutines"
+HOMEPAGE="http://www.tacc.utexas.edu/resources/software/software.php"
+SRC_URI="http://www.tacc.utexas.edu/resources/software/login/gotoblas/${MY_P}.tar.gz"
+LICENSE="tacc"
+SLOT="0"
+# See http://www.tacc.utexas.edu/resources/software/gotoblasfaq.php
+# for supported architectures
+KEYWORDS="~x86 ~amd64"
+IUSE="threads doc"
+RESTRICT="mirror"
+RDEPEND="app-admin/eselect-blas
+ dev-util/pkgconfig
+ doc? ( app-doc/blas-docs )"
+
+DEPEND="app-admin/eselect-blas
+ >=sys-devel/binutils-2.17"
+
+S="${WORKDIR}/${MY_PN}"
+FORTRAN="g77 gfortran ifc"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Set up C compiler
+ if [[ $(tc-getCC) = *gcc ]]; then
+ C_COMPILER="GNU"
+ elif [[ $(tc-getCC) = icc ]]; then
+ C_COMPILER="INTEL"
+ else
+ die "tc-getCC() returned an invalid C compiler; valid are gcc or icc."
+ fi
+
+ # Set up FORTRAN 77 compiler
+ case ${FORTRANC} in
+ g77)
+ F_COMPILER="G77"
+ ;;
+ gfortran)
+ F_COMPILER="GFORTRAN"
+ F_LIB="-lgfortran"
+ ;;
+ ifc|ifort)
+ F_COMPILER="INTEL"
+ ;;
+ *)
+ die "fortran.eclass returned an invalid Fortran compiler \'${FORTRANC}\'; valid are ${FORTRAN}."
+ esac
+
+ # Fix shared lib build
+ sed -i \
+ -e "s:\(&& echo OK\):${F_LIB} \1:g" \
+ "${S}"/exports/Makefile \
+ || die "sed for shared libs failed"
+
+ # Set up compilers
+ sed -i \
+ -e "s:^# \(C_COMPILER =\) GNU:\1 ${C_COMPILER}:g" \
+ -e "s:^# \(F_COMPILER =\) G77:\1 ${F_COMPILER}:g" \
+ -e "s:^# \(SMP = 1\):\1:g" \
+ -e "s:\$(COMPILER_PREFIX)ar:$(tc-getAR):" \
+ -e "s:\$(COMPILER_PREFIX)as:$(tc-getAS):" \
+ -e "s:\$(COMPILER_PREFIX)ld:$(tc-getLD):" \
+ -e "s:\$(COMPILER_PREFIX)ranlib:$(tc-getRANLIB):" \
+ "${S}"/Makefile.rule \
+ || die "sed for setting up compilers failed"
+
+ # Threaded?
+ if use threads; then
+ sed -i \
+ -e "s:^# \(SMP = 1\):\1:g" \
+ "${S}"/Makefile.rule \
+ || die "sed for threads failed"
+ fi
+
+ # If you need a 64-bit integer interface, also do this for "INTERFACE64 = 1"
+ if use amd64; then
+ sed -i \
+ -e "s:^# \(BINARY64 = 1\):\1:g" \
+ "${S}"/Makefile.rule \
+ || die "sed for 64 binary failed"
+ fi
+
+ # Respect CFLAGS/FFLAGS
+ sed -i \
+ -e "/^COMMON_OPT += -O2$/d" \
+ -e "s:^\(CFLAGS[[:space:]]*=\):\1 ${CFLAGS}:" \
+ -e "s:^\(FFLAGS[[:space:]]*+=\):\1 ${FFLAGS}:" \
+ "${S}"/Makefile.rule \
+ || die "sed for flags failed"
+}
+
+src_compile() {
+
+ # Make static library
+ emake LDFLAGS=$(raw-ldflags) || die "emake failed"
+
+ # Make shared library
+ cd exports
+ emake so -j1 || die "emake failed"
+}
+
+src_test() {
+ cd test
+ emake || die "emake test failed"
+ make clean
+}
+
+src_install() {
+ local MAIN_DIR="/usr/$(get_libdir)/blas"
+ local DIR="${MAIN_DIR}/goto"
+
+ # dolib.so doesn't support our alternate locations
+ exeinto ${DIR}
+ doexe libgoto_*.so
+ dosym libgoto_*.so ${DIR}/libgoto.so
+ dosym libgoto_*.so ${DIR}/libgoto.so.0
+ dosym libgoto_*.so ${DIR}/libgoto.so.0.0.0
+
+ # dolib.a doesn't support our alternate locations
+ insinto ${DIR}
+ doins libgoto_*.a
+ dosym libgoto_*.a ${DIR}/libgoto.a
+
+ dodoc 01Readme.txt 03History.txt 04FAQ.txt
+
+ cp "${FILESDIR}"/blas.pc.in blas.pc
+ local extlibs=""
+ use threads && extlibs="${extlibs} -lpthread"
+ extlibs="${extlibs}"
+ sed -i \
+ -e "s/@LIBDIR@/$(get_libdir)/" \
+ -e "s/@PV@/${PV}/" \
+ -e "s/@EXTLIBS@/${extlibs}/" \
+ blas.pc || die "sed blas.pc failed"
+ insinto /usr/$(get_libdir)/blas/goto
+ doins blas.pc
+ eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.goto goto
+}
+
+pkg_postinst() {
+ [[ -z "$(eselect blas show)" ]] && eselect blas set goto
+ elog "To use BLAS GOTO implementation, you have to issue (as root):"
+ elog "\n\teselect blas set goto\n"
+}
diff --git a/sci-libs/blas-goto/files/blas.pc.in b/sci-libs/blas-goto/files/blas.pc.in
new file mode 100644
index 000000000..fb802cfb0
--- /dev/null
+++ b/sci-libs/blas-goto/files/blas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: blas
+Description: GOTO implementations of the F77 Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://www.tacc.utexas.edu/resources/software/software.php
+Libs: -L${libdir} -lblas
+Libs.private: @EXTLIBS@
+
diff --git a/sci-libs/blas-goto/files/digest-blas-goto-1.16 b/sci-libs/blas-goto/files/digest-blas-goto-1.16
new file mode 100644
index 000000000..4bcd0425d
--- /dev/null
+++ b/sci-libs/blas-goto/files/digest-blas-goto-1.16
@@ -0,0 +1,3 @@
+MD5 fe1489037a3c2d69e7d5b9a05f14bfa9 GotoBLAS-1.16.tar.gz 1783818
+RMD160 416f905cb07a3eaf03c85f4660865393403fe398 GotoBLAS-1.16.tar.gz 1783818
+SHA256 4a490f86648aa26fa1e5bfe4569224c8146d0086db90280eeff279f92cb8cbe5 GotoBLAS-1.16.tar.gz 1783818
diff --git a/sci-libs/blas-goto/files/eselect.blas.goto b/sci-libs/blas-goto/files/eselect.blas.goto
new file mode 100644
index 000000000..0097969eb
--- /dev/null
+++ b/sci-libs/blas-goto/files/eselect.blas.goto
@@ -0,0 +1,4 @@
+blas/goto/libgoto.so /usr/@LIBDIR@/libblas.so
+blas/goto/libgoto.so.0 /usr/@LIBDIR@/libblas.so.0
+blas/goto/libgoto.a /usr/@LIBDIR@/libblas.a
+../blas/goto/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc
diff --git a/sci-libs/blas-reference/Manifest b/sci-libs/blas-reference/Manifest
new file mode 100644
index 000000000..0abed0abd
--- /dev/null
+++ b/sci-libs/blas-reference/Manifest
@@ -0,0 +1,20 @@
+AUX blas-reference-20070226-autotool.patch 4202 RMD160 32c1c29e6463264bd094314b83d77ede9f6de4de SHA1 5c8b024694b02eccdfd725a64b66692e69ff8194 SHA256 8a9bc1c471071a1e8585c69294c2739c69e7484256479fb20a22c6e4434623d3
+MD5 496a24929ea2184a593a894894c9ef88 files/blas-reference-20070226-autotool.patch 4202
+RMD160 32c1c29e6463264bd094314b83d77ede9f6de4de files/blas-reference-20070226-autotool.patch 4202
+SHA256 8a9bc1c471071a1e8585c69294c2739c69e7484256479fb20a22c6e4434623d3 files/blas-reference-20070226-autotool.patch 4202
+AUX eselect.blas.reference 213 RMD160 24e11e3d44459864070eced2f660d170ca3daca0 SHA1 d3b664ab4177a7f7d95ef90e9603694889be45f1 SHA256 c11b1a8dcd34951d9b1126149f8a51ca0eb0aa5e081abc63f65c392f4839b0aa
+MD5 194a5d7b1e124c961e92b13f4e60bd74 files/eselect.blas.reference 213
+RMD160 24e11e3d44459864070eced2f660d170ca3daca0 files/eselect.blas.reference 213
+SHA256 c11b1a8dcd34951d9b1126149f8a51ca0eb0aa5e081abc63f65c392f4839b0aa files/eselect.blas.reference 213
+DIST lapack-lite-3.1.1.tgz 5332509 RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b SHA1 1ec4ef90b544cf82bc7b4f770cee6fb46da457c5 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437
+EBUILD blas-reference-20070226.ebuild 1450 RMD160 354ac3e028a580e2b6f286387e0e19155ba81019 SHA1 d838d27ba05d09ef4425302c1402bc0ef09b046d SHA256 691c86b71fe95cc019df694371f2d9f6583f6846c24f2ff4dcf2b328abcda522
+MD5 cc4690cbbc5eb1768ef27376c25a3b26 blas-reference-20070226.ebuild 1450
+RMD160 354ac3e028a580e2b6f286387e0e19155ba81019 blas-reference-20070226.ebuild 1450
+SHA256 691c86b71fe95cc019df694371f2d9f6583f6846c24f2ff4dcf2b328abcda522 blas-reference-20070226.ebuild 1450
+MISC metadata.xml 696 RMD160 89c66792b23057b940a8eb8ea4c05ac8c7d561f0 SHA1 c18e9985fe07bbff5f56ef239ca2a16caa8a6240 SHA256 750713f970e77bfd513933fd3ec27162d41a56d20c4122878618fc78d72f76ab
+MD5 a78fa87c0e44cd202e74a98241acc2fa metadata.xml 696
+RMD160 89c66792b23057b940a8eb8ea4c05ac8c7d561f0 metadata.xml 696
+SHA256 750713f970e77bfd513933fd3ec27162d41a56d20c4122878618fc78d72f76ab metadata.xml 696
+MD5 e47577ce12b87f148b170b2226a7cc32 files/digest-blas-reference-20070226 247
+RMD160 f06434c9558a0df45cddbf187e624850b6a4d073 files/digest-blas-reference-20070226 247
+SHA256 34e0e977049b900a8d9c1a0f8a1a9065a6147dc38b4c0850d13f0b75a9be101a files/digest-blas-reference-20070226 247
diff --git a/sci-libs/blas-reference/blas-reference-20070226.ebuild b/sci-libs/blas-reference/blas-reference-20070226.ebuild
new file mode 100644
index 000000000..080d129f5
--- /dev/null
+++ b/sci-libs/blas-reference/blas-reference-20070226.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils autotools fortran multilib flag-o-matic
+
+LAPACKPV="3.1.1"
+LAPACKPN="lapack-lite"
+
+DESCRIPTION="Basic Linear Algebra Subprograms F77 reference implementations"
+LICENSE="public-domain"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/lapack/${LAPACKPN}-${LAPACKPV}.tgz"
+
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+DEPEND="app-admin/eselect-blas
+ doc? ( app-doc/blas-docs )"
+
+RDEPEND="${DEPEND}
+ dev-util/pkgconfig"
+
+
+S="${WORKDIR}/${LAPACKPN}-${LAPACKPV}"
+
+pkg_setup() {
+ FORTRAN="g77 gfortran f2c ifc"
+ fortran_pkg_setup
+ if [[ ${FORTRANC:0:2} == "if" ]]; then
+ ewarn "Using Intel Fortran at your own risk"
+ LDFLAGS="$(raw-ldflags)"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotool.patch
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ --libdir=/usr/$(get_libdir)/blas/reference \
+ || die "econf failed"
+ emake LDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ eselect blas add $(get_libdir) "${FILESDIR}"/eselect.blas.reference reference
+}
+
+pkg_postinst() {
+ [[ -z "$(eselect blas show)" ]] && eselect blas set reference
+ elog "To use BLAS reference implementation, you have to issue (as root):"
+ elog "\n\teselect blas set reference\n"
+}
diff --git a/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch
new file mode 100644
index 000000000..9fd5f555e
--- /dev/null
+++ b/sci-libs/blas-reference/files/blas-reference-20070226-autotool.patch
@@ -0,0 +1,243 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2007-07-16 10:14:29.000000000 +0100
+@@ -0,0 +1,14 @@
++AC_PREREQ(2.61)
++AC_INIT(blas, 20070226, lapack@cs.utk.edu)
++AM_INIT_AUTOMAKE([foreign])
++
++AC_LANG(Fortran 77)
++AC_PROG_F77
++AC_PROG_LIBTOOL
++
++AC_CONFIG_FILES([Makefile
++ BLAS/Makefile
++ BLAS/SRC/Makefile
++ BLAS/TESTING/Makefile
++ BLAS/blas.pc])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2007-07-16 01:51:11.000000000 +0100
+@@ -0,0 +1 @@
++SUBDIRS = BLAS
+--- BLAS/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/Makefile.am 2007-08-14 11:38:42.000000000 +0100
+@@ -0,0 +1,7 @@
++SUBDIRS = SRC TESTING
++
++pkgconfigdir = $(libdir)
++pkgconfig_DATA = blas.pc
++
++EXTRA = blas.pc
++
+--- BLAS/blas.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/blas.pc.in 2007-08-14 17:15:43.000000000 +0100
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Basic Linear Algebra Subprograms F77 reference implementations
++Version: @PACKAGE_VERSION@
++URL: http://www.netlib.org/blas
++Libs: -lblas
++Libs.private: -lm @FLIBS@
+--- BLAS/SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/SRC/Makefile.am 2007-07-16 01:50:12.000000000 +0100
+@@ -0,0 +1,153 @@
++lib_LTLIBRARIES = libblas.la
++
++libblas_la_SOURCES = \
++ caxpy.f \
++ ccopy.f \
++ cdotc.f \
++ cdotu.f \
++ cgbmv.f \
++ cgemm.f \
++ cgemv.f \
++ cgerc.f \
++ cgeru.f \
++ chbmv.f \
++ chemm.f \
++ chemv.f \
++ cher2.f \
++ cher2k.f \
++ cher.f \
++ cherk.f \
++ chpmv.f \
++ chpr2.f \
++ chpr.f \
++ crotg.f \
++ cscal.f \
++ csrot.f \
++ csscal.f \
++ cswap.f \
++ csymm.f \
++ csyr2k.f \
++ csyrk.f \
++ ctbmv.f \
++ ctbsv.f \
++ ctpmv.f \
++ ctpsv.f \
++ ctrmm.f \
++ ctrmv.f \
++ ctrsm.f \
++ ctrsv.f \
++ dasum.f \
++ daxpy.f \
++ dcabs1.f \
++ dcopy.f \
++ ddot.f \
++ dgbmv.f \
++ dgemm.f \
++ dgemv.f \
++ dger.f \
++ dnrm2.f \
++ drot.f \
++ drotg.f \
++ drotm.f \
++ drotmg.f \
++ dsbmv.f \
++ dscal.f \
++ dsdot.f \
++ dspmv.f \
++ dspr2.f \
++ dspr.f \
++ dswap.f \
++ dsymm.f \
++ dsymv.f \
++ dsyr2.f \
++ dsyr2k.f \
++ dsyr.f \
++ dsyrk.f \
++ dtbmv.f \
++ dtbsv.f \
++ dtpmv.f \
++ dtpsv.f \
++ dtrmm.f \
++ dtrmv.f \
++ dtrsm.f \
++ dtrsv.f \
++ dzasum.f \
++ dznrm2.f \
++ icamax.f \
++ idamax.f \
++ isamax.f \
++ izamax.f \
++ lsame.f \
++ scabs1.f \
++ sasum.f \
++ saxpy.f \
++ scasum.f \
++ scnrm2.f \
++ scopy.f \
++ sdot.f \
++ sdsdot.f \
++ sgbmv.f \
++ sgemm.f \
++ sgemv.f \
++ sger.f \
++ snrm2.f \
++ srot.f \
++ srotg.f \
++ srotm.f \
++ srotmg.f \
++ ssbmv.f \
++ sscal.f \
++ sspmv.f \
++ sspr2.f \
++ sspr.f \
++ sswap.f \
++ ssymm.f \
++ ssymv.f \
++ ssyr2.f \
++ ssyr2k.f \
++ ssyr.f \
++ ssyrk.f \
++ stbmv.f \
++ stbsv.f \
++ stpmv.f \
++ stpsv.f \
++ strmm.f \
++ strmv.f \
++ strsm.f \
++ strsv.f \
++ xerbla.f \
++ zaxpy.f \
++ zcopy.f \
++ zdotc.f \
++ zdotu.f \
++ zdrot.f \
++ zdscal.f \
++ zgbmv.f \
++ zgemm.f \
++ zgemv.f \
++ zgerc.f \
++ zgeru.f \
++ zhbmv.f \
++ zhemm.f \
++ zhemv.f \
++ zher2.f \
++ zher2k.f \
++ zher.f \
++ zherk.f \
++ zhpmv.f \
++ zhpr2.f \
++ zhpr.f \
++ zrotg.f \
++ zscal.f \
++ zswap.f \
++ zsymm.f \
++ zsyr2k.f \
++ zsyrk.f \
++ ztbmv.f \
++ ztbsv.f \
++ ztpmv.f \
++ ztpsv.f \
++ ztrmm.f \
++ ztrmv.f \
++ ztrsm.f \
++ ztrsv.f
+--- BLAS/TESTING/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/TESTING/Makefile.am 2007-07-16 01:50:12.000000000 +0100
+@@ -0,0 +1,27 @@
++TESTS = blas_tests
++
++blas_tests:
++ @install -m0755 blas_tests.sh blas_tests
++
++check_PROGRAMS = \
++ xsblat1 xdblat1 xcblat1 xzblat1 \
++ xsblat2 xdblat2 xcblat2 xzblat2 \
++ xsblat3 xdblat3 xcblat3 xzblat3
++
++LDADD = $(top_builddir)/BLAS/SRC/libblas.la
++
++xsblat1_SOURCES = sblat1.f
++xdblat1_SOURCES = dblat1.f
++xcblat1_SOURCES = cblat1.f
++xzblat1_SOURCES = zblat1.f
++
++xsblat2_SOURCES = sblat2.f
++xdblat2_SOURCES = dblat2.f
++xcblat2_SOURCES = cblat2.f
++xzblat2_SOURCES = zblat2.f
++
++xsblat3_SOURCES = sblat3.f
++xdblat3_SOURCES = dblat3.f
++xcblat3_SOURCES = cblat3.f
++xzblat3_SOURCES = zblat3.f
++
+--- BLAS/TESTING/blas_tests.sh 1970-01-01 01:00:00.000000000 +0100
++++ BLAS/TESTING/blas_tests.sh 2007-07-16 01:50:12.000000000 +0100
+@@ -0,0 +1,9 @@
++#!/bin/sh
++
++for t in {c,s,d,z}blat1; do
++ ./x${t}
++done
++
++for t in {c,s,d,z}blat{2,3}; do
++ ./x${t} < ../${t}.in
++done
diff --git a/sci-libs/blas-reference/files/digest-blas-reference-20070226 b/sci-libs/blas-reference/files/digest-blas-reference-20070226
new file mode 100644
index 000000000..2081b7b68
--- /dev/null
+++ b/sci-libs/blas-reference/files/digest-blas-reference-20070226
@@ -0,0 +1,3 @@
+MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509
+RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509
+SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509
diff --git a/sci-libs/blas-reference/files/eselect.blas.reference b/sci-libs/blas-reference/files/eselect.blas.reference
new file mode 100644
index 000000000..edb10ddd1
--- /dev/null
+++ b/sci-libs/blas-reference/files/eselect.blas.reference
@@ -0,0 +1,4 @@
+blas/reference/libblas.so /usr/@LIBDIR@/libblas.so
+blas/reference/libblas.so.0 /usr/@LIBDIR@/libblas.so.0
+blas/reference/libblas.a /usr/@LIBDIR@/libblas.a
+../blas/reference/blas.pc /usr/@LIBDIR@/pkgconfig/blas.pc
diff --git a/sci-libs/blas-reference/metadata.xml b/sci-libs/blas-reference/metadata.xml
new file mode 100644
index 000000000..c9e6e2943
--- /dev/null
+++ b/sci-libs/blas-reference/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 BLAS (Basic Linear Algebra Subprograms) are high quality "building
+block" routines for performing basic vector and matrix operations. Level 1
+BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations,
+and Level 3 BLAS do matrix-matrix operations. Because the BLAS are
+efficient, portable, and widely available, they're commonly used in the
+development of high quality linear algebra software, LAPACK for
+example. This packages implements the reference FORTRAN 77 library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/cblas-reference/Manifest b/sci-libs/cblas-reference/Manifest
new file mode 100644
index 000000000..e101e919a
--- /dev/null
+++ b/sci-libs/cblas-reference/Manifest
@@ -0,0 +1,20 @@
+AUX cblas-reference-20030223-autotool.patch 7057 RMD160 69e8eaf313d559d1eb4ddd0d399320d1700e8ae0 SHA1 57b2e550d93a179a42d4b450a8ab29ae07f87c3d SHA256 9d7e274858e63f37a8a031fbb3c4b0455a32c0d26678f0c881da9a6d7e2b4f51
+MD5 b5811e36a9fe7074a040733c641fba11 files/cblas-reference-20030223-autotool.patch 7057
+RMD160 69e8eaf313d559d1eb4ddd0d399320d1700e8ae0 files/cblas-reference-20030223-autotool.patch 7057
+SHA256 9d7e274858e63f37a8a031fbb3c4b0455a32c0d26678f0c881da9a6d7e2b4f51 files/cblas-reference-20030223-autotool.patch 7057
+AUX eselect.cblas.reference 256 RMD160 aebf8c88ef804d921d987909a6ef93b330404a47 SHA1 5f9460a59266e0f3f127cb73a4edcd733c10d88d SHA256 8562e2dd7abd83ca4d5ce2f20e5f2669a1ce26931e27836d4348897d4535d237
+MD5 444f544734e4e2b3d0ae8aa9d800111a files/eselect.cblas.reference 256
+RMD160 aebf8c88ef804d921d987909a6ef93b330404a47 files/eselect.cblas.reference 256
+SHA256 8562e2dd7abd83ca4d5ce2f20e5f2669a1ce26931e27836d4348897d4535d237 files/eselect.cblas.reference 256
+DIST cblas.tgz 197694 RMD160 77bd5111659f55540c72f9fcd9277d97bd1ea33b SHA1 a8a765ebb8d753c7ad161ccd9191be42d3dc8bd9 SHA256 9b49d7177fda62b6141bf2ca29e475e86f0b12d8f72e0b944058d02b439dd52a
+EBUILD cblas-reference-20030223-r4.ebuild 1298 RMD160 1181ce5c0418e56040c6f5c1992333e4ce5e5b87 SHA1 7b2c5aa439df3cf357495df18a47bde666fd9bbc SHA256 87077cecbafb9b26960cc1dfba47398f41b96924271455a8d185f6cf1e18c984
+MD5 3ba1b7a96505797f611b38b067d0f14b cblas-reference-20030223-r4.ebuild 1298
+RMD160 1181ce5c0418e56040c6f5c1992333e4ce5e5b87 cblas-reference-20030223-r4.ebuild 1298
+SHA256 87077cecbafb9b26960cc1dfba47398f41b96924271455a8d185f6cf1e18c984 cblas-reference-20030223-r4.ebuild 1298
+MISC metadata.xml 731 RMD160 07c8c58dfb1a135057db518679858a24909d8923 SHA1 2acb2c7c7b24a3dc453d515c1d4f048dfbe2f6b6 SHA256 2aab092cf71a2ba09ebb6fe6809cf5303a49f400f9a5bf07ba2711bf53a8b65f
+MD5 207d8ff853e356e41b5a943d5592e49a metadata.xml 731
+RMD160 07c8c58dfb1a135057db518679858a24909d8923 metadata.xml 731
+SHA256 2aab092cf71a2ba09ebb6fe6809cf5303a49f400f9a5bf07ba2711bf53a8b65f metadata.xml 731
+MD5 961baa7d756d594d303cb43c47e0aee2 files/digest-cblas-reference-20030223-r4 208
+RMD160 5e8239ac5c04544a04f8ec6b1a15e2d5f2d630e6 files/digest-cblas-reference-20030223-r4 208
+SHA256 f0caa7a78f2290eb3c627ec8fa5ea9c6cb5eb5b0b5db9e982ff1dfcb66f0a204 files/digest-cblas-reference-20030223-r4 208
diff --git a/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild b/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild
new file mode 100644
index 000000000..471a82991
--- /dev/null
+++ b/sci-libs/cblas-reference/cblas-reference-20030223-r4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit autotools eutils fortran multilib flag-o-matic toolchain-funcs
+
+MyPN="${PN/-reference/}"
+
+DESCRIPTION="C wrapper interface to the F77 reference BLAS implementation"
+LICENSE="public-domain"
+HOMEPAGE="http://www.netlib.org/blas/"
+SRC_URI="http://www.netlib.org/blas/blast-forum/${MyPN}.tgz"
+
+SLOT="0"
+IUSE=""
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+DEPEND="virtual/blas
+ dev-util/pkgconfig
+ app-admin/eselect-cblas"
+
+FORTRAN="gfortran g77 ifc"
+
+S="${WORKDIR}/CBLAS"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotool.patch
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ --libdir=/usr/$(get_libdir)/blas/reference \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README || die "failed to install docs"
+ insinto /usr/share/doc/${PF}
+ doins cblas_example*c
+ eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.reference reference
+}
+
+pkg_postinst() {
+ [[ -z "$(eselect cblas show)" ]] && eselect cblas set reference
+ elog "To use CBLAS reference implementation, you have to issue (as root):"
+ elog "\teselect cblas set reference\n"
+}
diff --git a/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch b/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch
new file mode 100644
index 000000000..d451bf9b8
--- /dev/null
+++ b/sci-libs/cblas-reference/files/cblas-reference-20030223-autotool.patch
@@ -0,0 +1,380 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2007-08-16 11:32:24.000000000 +0100
+@@ -0,0 +1,30 @@
++AC_PREREQ(2.61)
++AC_INIT(cblas, 20030223, lapack@cs.utk.edu)
++AC_CONFIG_SRCDIR([cblas_example2.c])
++AC_CONFIG_HEADER([config.h])
++AM_INIT_AUTOMAKE([foreign])
++
++AC_LANG(C)
++AC_PROG_CC
++AC_PROG_F77
++AC_F77_LIBRARY_LDFLAGS
++dnl ACX_F77_CMAIN_FFLAGS
++dnl FFLAGS=$FFLAGS $F77_CMAIN_FFLAGS
++AC_PROG_LIBTOOL
++
++AC_F77_FUNC(sgemm)
++
++PKG_PROG_PKG_CONFIG
++if test -n "$PKG_CONFIG"; then
++ PKG_CHECK_MODULES([BLAS], [blas])
++else
++ AC_CHECK_LIB(blas, $sgemm)
++ BLAS_LIBS=-lblas
++ AC_SUBST(BLAS_LIBS)
++fi
++
++AC_CONFIG_FILES([Makefile
++ src/Makefile
++ testing/Makefile
++ cblas.pc])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2007-08-14 11:39:12.000000000 +0100
+@@ -0,0 +1,8 @@
++SUBDIRS = src testing
++
++pkgconfigdir = $(libdir)
++pkgconfig_DATA = cblas.pc
++
++EXTRA = cblas.pc
++
++
+--- cblas.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ cblas.pc.in 2007-08-14 17:17:22.000000000 +0100
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Basic Linear Algebra Subprograms C reference wrapper
++Version: @PACKAGE_VERSION@
++Requires: blas
++URL: http://www.netlib.org/blas/
++Libs: -lcblas
++Libs.private: -lm @FLIBS@
++Cflags: -I${includedir}
+--- src/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ src/Makefile.am 2007-08-16 12:21:02.000000000 +0100
+@@ -0,0 +1,232 @@
++lib_LTLIBRARIES = libcblas.la
++
++pkgincludedir = $(includedir)/cblas
++pkginclude_HEADERS = cblas.h
++
++AM_CPPFLAGS = -DADD_
++
++ERRHAND_SOURCES = \
++ cblas_globals.c \
++ cblas_xerbla.c \
++ xerbla.c
++
++SINGLE_SOURCES = \
++ cblas_scasum.c \
++ cblas_scnrm2.c \
++ scasumsub.f \
++ scnrm2sub.f
++
++SLEV_SOURCES = \
++ isamaxsub.f \
++ sdotsub.f \
++ sdsdotsub.f \
++ snrm2sub.f \
++ sasumsub.f
++
++SLEV1_SOURCES = \
++ cblas_srotg.c \
++ cblas_srotmg.c \
++ cblas_srot.c \
++ cblas_srotm.c \
++ cblas_sswap.c \
++ cblas_sscal.c \
++ cblas_scopy.c \
++ cblas_saxpy.c \
++ cblas_sdot.c \
++ cblas_sdsdot.c \
++ cblas_snrm2.c \
++ cblas_sasum.c \
++ cblas_isamax.c
++
++SLEV2_SOURCES = \
++ cblas_sgemv.c \
++ cblas_sgbmv.c \
++ cblas_sger.c \
++ cblas_ssbmv.c \
++ cblas_sspmv.c \
++ cblas_sspr.c \
++ cblas_sspr2.c \
++ cblas_ssymv.c \
++ cblas_ssyr.c \
++ cblas_ssyr2.c \
++ cblas_stbmv.c \
++ cblas_stbsv.c \
++ cblas_stpmv.c \
++ cblas_stpsv.c \
++ cblas_strmv.c \
++ cblas_strsv.c
++
++SLEV3_SOURCES = \
++ cblas_sgemm.c \
++ cblas_ssymm.c \
++ cblas_ssyrk.c \
++ cblas_ssyr2k.c \
++ cblas_strmm.c \
++ cblas_strsm.c
++
++DLEV_SOURCES = \
++ ddotsub.f \
++ dsdotsub.f \
++ dnrm2sub.f \
++ dasumsub.f \
++ idamaxsub.f
++
++DLEV1_SOURCES = \
++ cblas_drotg.c \
++ cblas_drotmg.c \
++ cblas_drot.c \
++ cblas_drotm.c \
++ cblas_dswap.c \
++ cblas_dscal.c \
++ cblas_dcopy.c \
++ cblas_daxpy.c \
++ cblas_ddot.c \
++ cblas_dsdot.c \
++ cblas_dnrm2.c \
++ cblas_dasum.c \
++ cblas_idamax.c
++
++DLEV2_SOURCES = \
++ cblas_dgemv.c \
++ cblas_dgbmv.c \
++ cblas_dger.c \
++ cblas_dsbmv.c \
++ cblas_dspmv.c \
++ cblas_dspr.c \
++ cblas_dspr2.c \
++ cblas_dsymv.c \
++ cblas_dsyr.c \
++ cblas_dsyr2.c \
++ cblas_dtbmv.c \
++ cblas_dtbsv.c \
++ cblas_dtpmv.c \
++ cblas_dtpsv.c \
++ cblas_dtrmv.c \
++ cblas_dtrsv.c
++
++DLEV3_SOURCES = \
++ cblas_dgemm.c \
++ cblas_dsymm.c \
++ cblas_dsyrk.c \
++ cblas_dsyr2k.c \
++ cblas_dtrmm.c \
++ cblas_dtrsm.c
++
++CLEV_SOURCES = \
++ cdotcsub.f \
++ cdotusub.f \
++ icamaxsub.f
++
++CLEV1_SOURCES = \
++ cblas_cswap.c \
++ cblas_cscal.c \
++ cblas_csscal.c \
++ cblas_ccopy.c \
++ cblas_caxpy.c \
++ cblas_cdotu_sub.c \
++ cblas_cdotc_sub.c \
++ cblas_icamax.c
++
++CLEV2_SOURCES = \
++ cblas_cgemv.c \
++ cblas_cgbmv.c \
++ cblas_chemv.c \
++ cblas_chbmv.c \
++ cblas_chpmv.c \
++ cblas_ctrmv.c \
++ cblas_ctbmv.c \
++ cblas_ctpmv.c \
++ cblas_ctrsv.c \
++ cblas_ctbsv.c \
++ cblas_ctpsv.c \
++ cblas_cgeru.c \
++ cblas_cgerc.c \
++ cblas_cher.c \
++ cblas_cher2.c \
++ cblas_chpr.c \
++ cblas_chpr2.c
++
++CLEV3_SOURCES = \
++ cblas_cgemm.c \
++ cblas_csymm.c \
++ cblas_chemm.c \
++ cblas_cherk.c \
++ cblas_cher2k.c \
++ cblas_ctrmm.c \
++ cblas_ctrsm.c \
++ cblas_csyrk.c \
++ cblas_csyr2k.c
++
++ZLEV_SOURCES = \
++ zdotcsub.f \
++ zdotusub.f \
++ dzasumsub.f \
++ dznrm2sub.f \
++ izamaxsub.f
++
++ZLEV1_SOURCES = \
++ cblas_zswap.c \
++ cblas_zscal.c \
++ cblas_zdscal.c \
++ cblas_zcopy.c \
++ cblas_zaxpy.c \
++ cblas_zdotu_sub.c \
++ cblas_zdotc_sub.c \
++ cblas_dznrm2.c \
++ cblas_dzasum.c \
++ cblas_izamax.c
++
++ZLEV2_SOURCES = \
++ cblas_zgemv.c \
++ cblas_zgbmv.c \
++ cblas_zhemv.c \
++ cblas_zhbmv.c \
++ cblas_zhpmv.c \
++ cblas_ztrmv.c \
++ cblas_ztbmv.c \
++ cblas_ztpmv.c \
++ cblas_ztrsv.c \
++ cblas_ztbsv.c \
++ cblas_ztpsv.c \
++ cblas_zgeru.c \
++ cblas_zgerc.c \
++ cblas_zher.c \
++ cblas_zher2.c \
++ cblas_zhpr.c \
++ cblas_zhpr2.c
++
++ZLEV3_SOURCES = \
++ cblas_zgemm.c \
++ cblas_zsymm.c \
++ cblas_zhemm.c \
++ cblas_zherk.c \
++ cblas_zher2k.c \
++ cblas_ztrmm.c \
++ cblas_ztrsm.c \
++ cblas_zsyrk.c \
++ cblas_zsyr2k.c
++
++libcblas_la_SOURCES = \
++ cblas_f77.h \
++ cblas.h \
++ $(ERRHAND_SOURCES) \
++ $(SINGLE_SOURCES) \
++ $(SLEV_SOURCES) \
++ $(DLEV_SOURCES) \
++ $(CLEV_SOURCES) \
++ $(ZLEV_SOURCES) \
++ $(SLEV1_SOURCES) \
++ $(DLEV1_SOURCES) \
++ $(CLEV1_SOURCES) \
++ $(ZLEV1_SOURCES) \
++ $(SLEV2_SOURCES) \
++ $(DLEV2_SOURCES) \
++ $(CLEV2_SOURCES) \
++ $(ZLEV2_SOURCES) \
++ $(SLEV3_SOURCES) \
++ $(DLEV3_SOURCES) \
++ $(CLEV3_SOURCES) \
++ $(ZLEV3_SOURCES)
++
++libcblas_la_LIBADD = @BLAS_LIBS@
++
+--- testing/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ testing/Makefile.am 2007-08-16 12:16:57.000000000 +0100
+@@ -0,0 +1,71 @@
++TESTS = cblas_tests
++
++cblas_tests:
++ @install -m0755 cblas_tests.sh cblas_tests
++
++check_PROGRAMS = \
++ xscblat1 xdcblat1 xccblat1 xzcblat1 \
++ xscblat2 xdcblat2 xccblat2 xzcblat2 \
++ xscblat3 xdcblat3 xccblat3 xzcblat3
++
++LDADD = $(top_builddir)/src/libcblas.la @BLAS_LIBS@
++
++AM_CPPFLAGS = -I$(top_srcdir)/src -DADD_
++AM_FFLAGS = @BLAS_CFLAGS@
++
++AUX_SOURCES = \
++ auxiliary.c \
++ c_xerbla.c
++
++xscblat1_SOURCES = \
++ c_sblas1.c \
++ c_sblat1.f
++xscblat2_SOURCES = \
++ c_sblas2.c \
++ c_s2chke.c \
++ c_sblat2.f \
++ $(AUX_SOURCES)
++xscblat3_SOURCES = \
++ c_sblas3.c \
++ c_s3chke.c \
++ c_sblat3.f \
++ $(AUX_SOURCES)
++xdcblat1_SOURCES = \
++ c_dblas1.c \
++ c_dblat1.f
++xdcblat2_SOURCES = \
++ c_dblas2.c \
++ c_d2chke.c \
++ c_dblat2.f \
++ $(AUX_SOURCES)
++xdcblat3_SOURCES = \
++ c_dblas3.c \
++ c_d3chke.c \
++ c_dblat3.f \
++ $(AUX_SOURCES)
++xccblat1_SOURCES = \
++ c_cblas1.c \
++ c_cblat1.f
++xccblat2_SOURCES = \
++ c_cblas2.c \
++ c_c2chke.c \
++ c_cblat2.f \
++ $(AUX_SOURCES)
++xccblat3_SOURCES = \
++ c_cblas3.c \
++ c_c3chke.c \
++ c_cblat3.f \
++ $(AUX_SOURCES)
++xzcblat1_SOURCES = \
++ c_zblas1.c \
++ c_zblat1.f
++xzcblat2_SOURCES = \
++ c_zblas2.c \
++ c_z2chke.c \
++ c_zblat2.f \
++ $(AUX_SOURCES)
++xzcblat3_SOURCES = \
++ c_zblas3.c \
++ c_z3chke.c \
++ c_zblat3.f \
++ $(AUX_SOURCES)
+--- testing/cblas_tests.sh 1970-01-01 01:00:00.000000000 +0100
++++ testing/cblas_tests.sh 2007-07-16 01:50:16.000000000 +0100
+@@ -0,0 +1,8 @@
++#!/bin/sh
++
++for t in x*blat1; do
++ ./${t}
++done
++for t in x*blat{2,3}; do
++ ./${t} < ${t:1:1}in${t:7:1}
++done
diff --git a/sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r4 b/sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r4
new file mode 100644
index 000000000..823a069b1
--- /dev/null
+++ b/sci-libs/cblas-reference/files/digest-cblas-reference-20030223-r4
@@ -0,0 +1,3 @@
+MD5 716329646ac933592a7cbdbeae9d3d06 cblas.tgz 197694
+RMD160 77bd5111659f55540c72f9fcd9277d97bd1ea33b cblas.tgz 197694
+SHA256 9b49d7177fda62b6141bf2ca29e475e86f0b12d8f72e0b944058d02b439dd52a cblas.tgz 197694
diff --git a/sci-libs/cblas-reference/files/eselect.cblas.reference b/sci-libs/cblas-reference/files/eselect.cblas.reference
new file mode 100644
index 000000000..62b581860
--- /dev/null
+++ b/sci-libs/cblas-reference/files/eselect.cblas.reference
@@ -0,0 +1,5 @@
+blas/reference/libcblas.so /usr/@LIBDIR@/libcblas.so
+blas/reference/libcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+blas/reference/libcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/reference/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+cblas/cblas.h /usr/include/cblas.h
diff --git a/sci-libs/cblas-reference/metadata.xml b/sci-libs/cblas-reference/metadata.xml
new file mode 100644
index 000000000..b3739e268
--- /dev/null
+++ b/sci-libs/cblas-reference/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">
+The BLAS (Basic Linear Algebra Subprograms) are high quality "building
+block" routines for performing basic vector and matrix operations. Level 1
+BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations,
+and Level 3 BLAS do matrix-matrix operations. Because the BLAS are
+efficient, portable, and widely available, they're commonly used in the
+development of high quality linear algebra software, LAPACK for
+example. This packages implements the reference C library as a wrapper
+to the FORTRAN 77 BLAS library.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/gsl/Manifest b/sci-libs/gsl/Manifest
new file mode 100644
index 000000000..c814c0f93
--- /dev/null
+++ b/sci-libs/gsl/Manifest
@@ -0,0 +1,24 @@
+AUX cblas.pc.in 290 RMD160 4fc855a67383ac17b68c29d8f10307178919e217 SHA1 ec23b2092a5498beb602c9b558af8abcf5dd6358 SHA256 f47133de2f49a5ff53c8e295d03fbe8923c79cd0978cedb903cfdf7e57a873a1
+MD5 a3aa0d987b3770c85cb8b79f215583c1 files/cblas.pc.in 290
+RMD160 4fc855a67383ac17b68c29d8f10307178919e217 files/cblas.pc.in 290
+SHA256 f47133de2f49a5ff53c8e295d03fbe8923c79cd0978cedb903cfdf7e57a873a1 files/cblas.pc.in 290
+AUX eselect.cblas.gsl 211 RMD160 612f187899186667d39f4285983a6d2e33e8d8e5 SHA1 18f13508efdcb0b408ac5a1c3bf2ef21c5adcd85 SHA256 9946e2e6082c58b2d0415d27f572897da76a96d259652e305783875643fb6554
+MD5 446feaa977fae60dd7f62d7dbe27dfd1 files/eselect.cblas.gsl 211
+RMD160 612f187899186667d39f4285983a6d2e33e8d8e5 files/eselect.cblas.gsl 211
+SHA256 9946e2e6082c58b2d0415d27f572897da76a96d259652e305783875643fb6554 files/eselect.cblas.gsl 211
+AUX gsl-1.6-deps.diff 418 RMD160 1c6aef845c115fce98c38857948b38a1b5e425b1 SHA1 b03629fad9b09c918ccea6bc328c9b8eb256d351 SHA256 0ca9e6e5431d608c282ce890971b23c2fdba5701f0cac0d70938f14df46e701f
+MD5 5ca2842635739ffb675ba3eff4d460d9 files/gsl-1.6-deps.diff 418
+RMD160 1c6aef845c115fce98c38857948b38a1b5e425b1 files/gsl-1.6-deps.diff 418
+SHA256 0ca9e6e5431d608c282ce890971b23c2fdba5701f0cac0d70938f14df46e701f files/gsl-1.6-deps.diff 418
+DIST gsl-1.9.tar.gz 2574939 RMD160 faca66d02876135c31c2f3585baa1931488e1593 SHA1 7541504ed9864b1a278f9392830ecac9e0146258 SHA256 fcd1c6784997c2312d922d107fcb30462f5be4335ebdfa8e1e0e07568c962250
+EBUILD gsl-1.9-r1.ebuild 1594 RMD160 5d550c8655498e798939b9fa40bfa18cac45c145 SHA1 fd18f7b54f43eac74fe28eb4db16a011bbaaeb59 SHA256 f36c4b3f35dd5e75379ff600b62e1b7cccb0c71d83b5345fee3fe4ca30664ed1
+MD5 7ed2f188fe06879573e95977814c0cbd gsl-1.9-r1.ebuild 1594
+RMD160 5d550c8655498e798939b9fa40bfa18cac45c145 gsl-1.9-r1.ebuild 1594
+SHA256 f36c4b3f35dd5e75379ff600b62e1b7cccb0c71d83b5345fee3fe4ca30664ed1 gsl-1.9-r1.ebuild 1594
+MISC metadata.xml 517 RMD160 0888c8c9502c1859d002938769c72cc25e34720a SHA1 a686442fb5085ba24f1a89259438418b2d6bd28d SHA256 2c4f98ec581f4292aad994f07f5c692207e611513864bb4b7da0b6a7ce1709cd
+MD5 52dd827735e089a37cb2bfba3c11e903 metadata.xml 517
+RMD160 0888c8c9502c1859d002938769c72cc25e34720a metadata.xml 517
+SHA256 2c4f98ec581f4292aad994f07f5c692207e611513864bb4b7da0b6a7ce1709cd metadata.xml 517
+MD5 3d4c2af07681f88ed37e23e04518648c files/digest-gsl-1.9-r1 226
+RMD160 8ccab5953dbccc8d3cf5fd5dc7eec254f04b434a files/digest-gsl-1.9-r1 226
+SHA256 a9b9438404a6877f83254607c14e41809f06a9143105b00d2fa2f1c92698f279 files/digest-gsl-1.9-r1 226
diff --git a/sci-libs/gsl/files/cblas.pc.in b/sci-libs/gsl/files/cblas.pc.in
new file mode 100644
index 000000000..a2580f85e
--- /dev/null
+++ b/sci-libs/gsl/files/cblas.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: cblas
+Description: GSL C Implementation of the Basic Linear Algebra Subprograms
+Version: @PV@
+URL: http://www.gnu.org/software/gsl
+Libs: -L${libdir} -lcblas
+Libs.private: -lm
+Cflags: -I${includedir}
diff --git a/sci-libs/gsl/files/digest-gsl-1.9-r1 b/sci-libs/gsl/files/digest-gsl-1.9-r1
new file mode 100644
index 000000000..7c9903354
--- /dev/null
+++ b/sci-libs/gsl/files/digest-gsl-1.9-r1
@@ -0,0 +1,3 @@
+MD5 81dca4362ae8d2aa1547b7d010881e43 gsl-1.9.tar.gz 2574939
+RMD160 faca66d02876135c31c2f3585baa1931488e1593 gsl-1.9.tar.gz 2574939
+SHA256 fcd1c6784997c2312d922d107fcb30462f5be4335ebdfa8e1e0e07568c962250 gsl-1.9.tar.gz 2574939
diff --git a/sci-libs/gsl/files/eselect.cblas.gsl b/sci-libs/gsl/files/eselect.cblas.gsl
new file mode 100644
index 000000000..5524ef29d
--- /dev/null
+++ b/sci-libs/gsl/files/eselect.cblas.gsl
@@ -0,0 +1,5 @@
+libgslcblas.so /usr/@LIBDIR@/libcblas.so
+libgslcblas.so.0 /usr/@LIBDIR@/libcblas.so.0
+libgslcblas.a /usr/@LIBDIR@/libcblas.a
+../blas/gsl/cblas.pc /usr/@LIBDIR@/pkgconfig/cblas.pc
+gslcblas.h /usr/include/cblas.h
diff --git a/sci-libs/gsl/files/gsl-1.6-deps.diff b/sci-libs/gsl/files/gsl-1.6-deps.diff
new file mode 100644
index 000000000..f6460e0b5
--- /dev/null
+++ b/sci-libs/gsl/files/gsl-1.6-deps.diff
@@ -0,0 +1,13 @@
+--- Makefile.am
++++ Makefile.am 2005/04/25 13:12:35
+@@ -17,8 +17,8 @@
+
+ lib_LTLIBRARIES = libgsl.la
+ libgsl_la_SOURCES = version.c
+-libgsl_la_LIBADD = $(SUBLIBS)
+-libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
++libgsl_la_LIBADD = $(SUBLIBS) cblas/libgslcblas.la
++libgsl_la_LDFLAGS = -no-undefined -version-info $(GSL_LT_VERSION)
+ noinst_HEADERS = templates_on.h templates_off.h
+
+ m4datadir = $(datadir)/aclocal
diff --git a/sci-libs/gsl/gsl-1.9-r1.ebuild b/sci-libs/gsl/gsl-1.9-r1.ebuild
new file mode 100644
index 000000000..8febbfb49
--- /dev/null
+++ b/sci-libs/gsl/gsl-1.9-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs autotools
+
+DESCRIPTION="The GNU Scientific Library"
+HOMEPAGE="http://www.gnu.org/software/gsl/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND="app-admin/eselect-cblas"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ # icc-10.0.025 did not pass some tests
+ if [[ $(tc-getCC) == icc ]]; then
+ eerror "icc known to fail tests. Revert to safer gcc and re-emerge."
+ die "gsl does not work when compiled with icc"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # fix for as-needed
+ epatch "${FILESDIR}"/gsl-1.6-deps.diff
+ eautoreconf
+}
+
+src_compile() {
+ replace-cpu-flags k6 k6-2 k6-3 i586
+ filter-flags -ffast-math
+
+ econf || die "econf failed"
+ emake || die 'emake failed.'
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "emake install failed."
+ dodoc AUTHORS BUGS ChangeLog NEWS README SUPPORT THANKS TODO
+
+ # take care of pkgconfig file for cblas implementation.
+ cp "${FILESDIR}"/cblas.pc.in cblas.pc
+ sed -i \
+ -e "s/@LIBDIR@/$(get_libdir)/" \
+ -e "s/@PV@/${PV}/" \
+ cblas.pc || die "sed cblas.pc failed"
+ insinto /usr/$(get_libdir)/blas/gsl
+ doins cblas.pc
+ eselect cblas add $(get_libdir) "${FILESDIR}"/eselect.cblas.gsl gsl
+}
+
+pkg_postinst() {
+ [[ -z "$(eselect cblas show)" ]] && eselect cblas set gsl
+ elog "To use CBLAS gsl implementation, you have to issue (as root):"
+ elog "\t eselect cblas set gsl"
+}
diff --git a/sci-libs/gsl/metadata.xml b/sci-libs/gsl/metadata.xml
new file mode 100644
index 000000000..af4c157fd
--- /dev/null
+++ b/sci-libs/gsl/metadata.xml
@@ -0,0 +1,12 @@
+<?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 GNU Scientific Library (GSL) is a collection of routines for numerical
+computing. The routines are written from scratch by the GSL team in ANSI C,
+and are meant to present a modern Applications Programming Interface (API)
+for C programmers, while allowing wrappers to be written for very high level
+languages.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/lapack-atlas/Manifest b/sci-libs/lapack-atlas/Manifest
new file mode 100644
index 000000000..7f2f49553
--- /dev/null
+++ b/sci-libs/lapack-atlas/Manifest
@@ -0,0 +1,38 @@
+AUX atlas-asm-gentoo.patch 408 RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da SHA1 493d066be68c66cca1f0c906d588da8983ec7afa SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b
+MD5 fb9ca923b595b67967a744339e7a32a6 files/atlas-asm-gentoo.patch 408
+RMD160 3cea2f4a5a96ec22a4d0cfc78d691198a2d1a0da files/atlas-asm-gentoo.patch 408
+SHA256 00f9247d422c758ef8ff43446a36a6dbb7962f94e5d01307318c87a90a78355b files/atlas-asm-gentoo.patch 408
+AUX eselect.lapack.atlas 221 RMD160 10a38380469d069b7562b1c8f5a11d0ca94c806d SHA1 381462731ef8f618e8c3cd115c3da812b6f7c2ba SHA256 41b00b000df42c14cc483b468b19d586995b4f528544e24e7aba25feab966a64
+MD5 17542dc2fda336886d50104d48e95487 files/eselect.lapack.atlas 221
+RMD160 10a38380469d069b7562b1c8f5a11d0ca94c806d files/eselect.lapack.atlas 221
+SHA256 41b00b000df42c14cc483b468b19d586995b4f528544e24e7aba25feab966a64 files/eselect.lapack.atlas 221
+AUX lapack-reference-3.1.1-autotool.patch 16994 RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 SHA1 a1eda6146c1cd32f972b0f1703610c85b58b7c74 SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec
+MD5 0750e86c04390617206f5170f2c07652 files/lapack-reference-3.1.1-autotool.patch 16994
+RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 files/lapack-reference-3.1.1-autotool.patch 16994
+SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec files/lapack-reference-3.1.1-autotool.patch 16994
+AUX lapack-reference-3.1.1-test-fix.patch 2120 RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc SHA1 bf73066396b08def6bcd81d0ce09aab682224cb1 SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8
+MD5 d9f7c5dbfc41c255eab86b32702f5650 files/lapack-reference-3.1.1-test-fix.patch 2120
+RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc files/lapack-reference-3.1.1-test-fix.patch 2120
+SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8 files/lapack-reference-3.1.1-test-fix.patch 2120
+AUX lapack.pc.in 346 RMD160 37e53e81a13ae0745bb4f70b960cf55ed7e091d2 SHA1 72158ced78039be6e35d2a48ac19c8126945566d SHA256 75cf6520921f344b83a8c0c085cbaefd12debc371ae1ef9dbcd6edd9b829ade2
+MD5 e9c548422f243390920d81d59e57e1a2 files/lapack.pc.in 346
+RMD160 37e53e81a13ae0745bb4f70b960cf55ed7e091d2 files/lapack.pc.in 346
+SHA256 75cf6520921f344b83a8c0c085cbaefd12debc371ae1ef9dbcd6edd9b829ade2 files/lapack.pc.in 346
+AUX war 545 RMD160 6f44c25e739703f988180959608094aa633db7bf SHA1 d90a66e57395e01b94bac9b444590de8fef77aca SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b
+MD5 13d26350d75e6993f1b3ec48ca97f14e files/war 545
+RMD160 6f44c25e739703f988180959608094aa633db7bf files/war 545
+SHA256 696a8e1cc3918ce5d19f0aa41250d5f052244527a5e3804b025db7938f06ae7b files/war 545
+DIST atlas-3.7.37-shared-libs.patch.bz2 6373 RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a SHA1 c8ca108f50a7968ad98be64a70ea1b0b5e87ad5d SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec
+DIST atlas3.7.37.tar.bz2 2282682 RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 SHA1 32ea739fc4682fb2a9b6625d1a912baaf8f31e1a SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65
+DIST lapack-lite-3.1.1.tgz 5332509 RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b SHA1 1ec4ef90b544cf82bc7b4f770cee6fb46da457c5 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437
+EBUILD lapack-atlas-3.7.37.ebuild 5100 RMD160 cc652537f4e13831d055571dd2c21951291841c3 SHA1 d4aa0d0ae5a42fd76117a7da4d9b7109aea23433 SHA256 085bdc0db44fb524e9aa2d691d616353670a0f0cbb54aaee51a9f24a7c3fe1b6
+MD5 7799498dda7d4e0d4e6215f402d9bf97 lapack-atlas-3.7.37.ebuild 5100
+RMD160 cc652537f4e13831d055571dd2c21951291841c3 lapack-atlas-3.7.37.ebuild 5100
+SHA256 085bdc0db44fb524e9aa2d691d616353670a0f0cbb54aaee51a9f24a7c3fe1b6 lapack-atlas-3.7.37.ebuild 5100
+MISC metadata.xml 654 RMD160 06f9ca1f9b2c2c3452dd71c61dba3a55b0c5e4e6 SHA1 0462e763a17b33d2ff889eb4d25751ea9a117840 SHA256 dc1ac3c41329b360274e3a2c393e390467a8d72cb64e10de2dddab060617bf1e
+MD5 382af87e1a8465db41ae327e9cf042cf metadata.xml 654
+RMD160 06f9ca1f9b2c2c3452dd71c61dba3a55b0c5e4e6 metadata.xml 654
+SHA256 dc1ac3c41329b360274e3a2c393e390467a8d72cb64e10de2dddab060617bf1e metadata.xml 654
+MD5 a16a900e97473c5c2ab966ef092137e8 files/digest-lapack-atlas-3.7.37 765
+RMD160 73290ce934eb794d71460e024269741717439de8 files/digest-lapack-atlas-3.7.37 765
+SHA256 579d452aaadb1d7db023309c983a2a4bfe063ce893ead5003baf84d9fc32fa0e files/digest-lapack-atlas-3.7.37 765
diff --git a/sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch b/sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch
new file mode 100644
index 000000000..ca5a7a8ee
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/atlas-asm-gentoo.patch
@@ -0,0 +1,12 @@
+diff -Naur ATLAS/include/contrib/camm_dpa.h ATLAS-new/include/contrib/camm_dpa.h
+--- ATLAS/include/contrib/camm_dpa.h 2006-09-09 15:33:15.000000000 -0400
++++ ATLAS-new/include/contrib/camm_dpa.h 2006-09-26 10:18:24.000000000 -0400
+@@ -1619,7 +1619,7 @@
+ #if defined(SCPLX) || (defined(DCPLX) && defined(ATL_SSE2))
+ ,"m" (w)
+ #endif
+- :"ax","bx","cx","dx","si","di");
++ :"ax","cx","dx","si","di");
+
+
+ }
diff --git a/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.37 b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.37
new file mode 100644
index 000000000..62b35b085
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/digest-lapack-atlas-3.7.37
@@ -0,0 +1,9 @@
+MD5 88fe3d5e7eb9cda6f87be1264d5995b4 atlas-3.7.37-shared-libs.patch.bz2 6373
+RMD160 bcfb01319951b8ea5def473f47e6b8f3ea37906a atlas-3.7.37-shared-libs.patch.bz2 6373
+SHA256 17cd5fe09733eff63f3c332d63ca42bc62d461830027de9052eb24c48dadc9ec atlas-3.7.37-shared-libs.patch.bz2 6373
+MD5 5c3fb9a4c74e8426105558a23b2215ff atlas3.7.37.tar.bz2 2282682
+RMD160 33f728d2d25c396179748c43aeff9ab71107ddc8 atlas3.7.37.tar.bz2 2282682
+SHA256 bbc56b6355c07666d8021f640da00a35838e87ec4cb4cf52bdbb25336635fd65 atlas3.7.37.tar.bz2 2282682
+MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509
+RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509
+SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509
diff --git a/sci-libs/lapack-atlas/files/eselect.lapack.atlas b/sci-libs/lapack-atlas/files/eselect.lapack.atlas
new file mode 100644
index 000000000..7478b5154
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/eselect.lapack.atlas
@@ -0,0 +1,4 @@
+lapack/atlas/liblapack.so /usr/@LIBDIR@/liblapack.so
+lapack/atlas/liblapack.so.0 /usr/@LIBDIR@/liblapack.so.0
+lapack/atlas/liblapack.a /usr/@LIBDIR@/liblapack.a
+../lapack/atlas/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc
diff --git a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch
new file mode 100644
index 000000000..72a00618c
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-autotool.patch
@@ -0,0 +1,374 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2007-08-14 10:28:36.000000000 +0100
+@@ -0,0 +1,26 @@
++AC_PREREQ(2.61)
++AC_INIT(lapack, 3.1.1, lapack@cs.utk.edu)
++AM_INIT_AUTOMAKE([foreign])
++
++AC_LANG(Fortran 77)
++AC_PROG_F77
++AC_PROG_LIBTOOL
++
++AC_F77_FUNC(sgemm)
++
++PKG_PROG_PKG_CONFIG
++if test -n "$PKG_CONFIG"; then
++ PKG_CHECK_MODULES([BLAS], [blas])
++else
++ AC_CHECK_LIB(blas, $sgemm)
++ BLAS_LIBS=-lblas
++ AC_SUBST(BLAS_LIBS)
++fi
++
++AC_ARG_VAR(NOOPT_FFLAGS, Fortran 77 compiler flags to use for unoptimized files)
++
++AC_CONFIG_FILES([Makefile
++ SRC/Makefile
++ INSTALL/Makefile
++ lapack.pc])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2007-08-14 11:39:34.000000000 +0100
+@@ -0,0 +1,6 @@
++SUBDIRS = INSTALL SRC
++
++pkgconfigdir = $(libdir)
++pkgconfig_DATA = lapack.pc
++
++EXTRA_DIST = README lapack.pc
+--- lapack.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ lapack.pc.in 2007-08-14 17:16:49.000000000 +0100
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Linear Algebra PACKage FORTRAN 77 reference implementation
++Version: @PACKAGE_VERSION@
++Requires: blas
++URL: http://www.netlib.org/lapack/
++Libs: -llapack
++Libs.private: -lm
+--- SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SRC/Makefile.am 2007-08-02 15:15:59.000000000 +0100
+@@ -0,0 +1,292 @@
++lib_LTLIBRARIES = \
++ liblapack.la
++
++noinst_LTLIBRARIES = \
++ liblapack-noopt.la
++
++ALLAUX_SOURCES = ilaenv.f ieeeck.f lsamen.f xerbla.f iparmq.f \
++ ../INSTALL/ilaver.f ../INSTALL/lsame.f
++
++SINGLE_NOOPT_SOURCES = \
++ slaruv.f ../INSTALL/slamch.f
++
++SINGLE_SOURCES = \
++ sbdsdc.f \
++ sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f \
++ slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f \
++ slaed7.f slaed8.f slaed9.f slaeda.f slaev2.f slagtf.f \
++ slagts.f slamrg.f slanst.f \
++ slapy2.f slapy3.f slarnv.f \
++ slarra.f slarrb.f slarrc.f slarrd.f slarre.f slarrf.f slarrj.f \
++ slarrk.f slarrr.f slaneg.f \
++ slartg.f slas2.f slascl.f \
++ slasd0.f slasd1.f slasd2.f slasd3.f slasd4.f slasd5.f slasd6.f \
++ slasd7.f slasd8.f slasda.f slasdq.f slasdt.f \
++ slaset.f slasq1.f slasq2.f slasq3.f slazq3.f slasq4.f slazq4.f slasq5.f slasq6.f \
++ slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f \
++ ssteqr.f ssterf.f slaisnan.f sisnan.f \
++ ../INSTALL/second_INT_CPU_TIME.f
++
++DOUBLE_NOOPT_SOURCES = \
++ dlaruv.f ../INSTALL/dlamch.f
++
++DOUBLE_SOURCES = \
++ dbdsdc.f \
++ dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f \
++ dlaed0.f dlaed1.f dlaed2.f dlaed3.f dlaed4.f dlaed5.f dlaed6.f \
++ dlaed7.f dlaed8.f dlaed9.f dlaeda.f dlaev2.f dlagtf.f \
++ dlagts.f dlamrg.f dlanst.f \
++ dlapy2.f dlapy3.f dlarnv.f \
++ dlarra.f dlarrb.f dlarrc.f dlarrd.f dlarre.f dlarrf.f dlarrj.f \
++ dlarrk.f dlarrr.f dlaneg.f \
++ dlartg.f dlas2.f dlascl.f \
++ dlasd0.f dlasd1.f dlasd2.f dlasd3.f dlasd4.f dlasd5.f dlasd6.f \
++ dlasd7.f dlasd8.f dlasda.f dlasdq.f dlasdt.f \
++ dlaset.f dlasq1.f dlasq2.f dlasq3.f dlazq3.f dlasq4.f dlazq4.f dlasq5.f dlasq6.f \
++ dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f \
++ dsteqr.f dsterf.f dlaisnan.f disnan.f \
++ ../INSTALL/dsecnd_INT_CPU_TIME.f
++
++S_SOURCES = \
++ sgbbrd.f sgbcon.f sgbequ.f sgbrfs.f sgbsv.f \
++ sgbsvx.f sgbtf2.f sgbtrf.f sgbtrs.f sgebak.f sgebal.f sgebd2.f \
++ sgebrd.f sgecon.f sgeequ.f sgees.f sgeesx.f sgeev.f sgeevx.f \
++ sgegs.f sgegv.f sgehd2.f sgehrd.f sgelq2.f sgelqf.f \
++ sgels.f sgelsd.f sgelss.f sgelsx.f sgelsy.f sgeql2.f sgeqlf.f \
++ sgeqp3.f sgeqpf.f sgeqr2.f sgeqrf.f sgerfs.f sgerq2.f sgerqf.f \
++ sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvx.f sgetc2.f sgetf2.f \
++ sgetrf.f sgetri.f \
++ sgetrs.f sggbak.f sggbal.f sgges.f sggesx.f sggev.f sggevx.f \
++ sggglm.f sgghrd.f sgglse.f sggqrf.f \
++ sggrqf.f sggsvd.f sggsvp.f sgtcon.f sgtrfs.f sgtsv.f \
++ sgtsvx.f sgttrf.f sgttrs.f sgtts2.f shgeqz.f \
++ shsein.f shseqr.f slabrd.f slacon.f slacn2.f \
++ slaein.f slaexc.f slag2.f slags2.f slagtm.f slagv2.f slahqr.f \
++ slahrd.f slahr2.f slaic1.f slaln2.f slals0.f slalsa.f slalsd.f \
++ slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f \
++ slansy.f slantb.f slantp.f slantr.f slanv2.f \
++ slapll.f slapmt.f \
++ slaqgb.f slaqge.f slaqp2.f slaqps.f slaqsb.f slaqsp.f slaqsy.f \
++ slaqr0.f slaqr1.f slaqr2.f slaqr3.f slaqr4.f slaqr5.f \
++ slaqtr.f slar1v.f slar2v.f \
++ slarf.f slarfb.f slarfg.f slarft.f slarfx.f slargv.f \
++ slarrv.f slartv.f \
++ slarz.f slarzb.f slarzt.f slaswp.f slasy2.f slasyf.f \
++ slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f slatzm.f \
++ slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f \
++ sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f \
++ sorgrq.f sorgtr.f sorm2l.f sorm2r.f \
++ sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f \
++ sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f \
++ spbstf.f spbsv.f spbsvx.f \
++ spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f \
++ sposvx.f spotf2.f spotrf.f spotri.f spotrs.f sppcon.f sppequ.f \
++ spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f \
++ spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f sptts2.f srscl.f \
++ ssbev.f ssbevd.f ssbevx.f ssbgst.f ssbgv.f ssbgvd.f ssbgvx.f \
++ ssbtrd.f sspcon.f sspev.f sspevd.f sspevx.f sspgst.f \
++ sspgv.f sspgvd.f sspgvx.f ssprfs.f sspsv.f sspsvx.f ssptrd.f \
++ ssptrf.f ssptri.f ssptrs.f sstegr.f sstein.f sstev.f sstevd.f sstevr.f \
++ sstevx.f ssycon.f ssyev.f ssyevd.f ssyevr.f ssyevx.f ssygs2.f \
++ ssygst.f ssygv.f ssygvd.f ssygvx.f ssyrfs.f ssysv.f ssysvx.f \
++ ssytd2.f ssytf2.f ssytrd.f ssytrf.f ssytri.f ssytrs.f stbcon.f \
++ stbrfs.f stbtrs.f stgevc.f stgex2.f stgexc.f stgsen.f \
++ stgsja.f stgsna.f stgsy2.f stgsyl.f stpcon.f stprfs.f stptri.f \
++ stptrs.f \
++ strcon.f strevc.f strexc.f strrfs.f strsen.f strsna.f strsyl.f \
++ strti2.f strtri.f strtrs.f stzrqf.f stzrzf.f sstemr.f
++
++C_SOURCES = \
++ cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f \
++ cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f \
++ cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f \
++ cgegs.f cgegv.f cgehd2.f cgehrd.f cgelq2.f cgelqf.f \
++ cgels.f cgelsd.f cgelss.f cgelsx.f cgelsy.f cgeql2.f cgeqlf.f cgeqp3.f \
++ cgeqpf.f cgeqr2.f cgeqrf.f cgerfs.f cgerq2.f cgerqf.f \
++ cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvx.f cgetc2.f cgetf2.f cgetrf.f \
++ cgetri.f cgetrs.f \
++ cggbak.f cggbal.f cgges.f cggesx.f cggev.f cggevx.f cggglm.f \
++ cgghrd.f cgglse.f cggqrf.f cggrqf.f \
++ cggsvd.f cggsvp.f \
++ cgtcon.f cgtrfs.f cgtsv.f cgtsvx.f cgttrf.f cgttrs.f cgtts2.f chbev.f \
++ chbevd.f chbevx.f chbgst.f chbgv.f chbgvd.f chbgvx.f chbtrd.f \
++ checon.f cheev.f cheevd.f cheevr.f cheevx.f chegs2.f chegst.f \
++ chegv.f chegvd.f chegvx.f cherfs.f chesv.f chesvx.f chetd2.f \
++ chetf2.f chetrd.f \
++ chetrf.f chetri.f chetrs.f chgeqz.f chpcon.f chpev.f chpevd.f \
++ chpevx.f chpgst.f chpgv.f chpgvd.f chpgvx.f chprfs.f chpsv.f \
++ chpsvx.f \
++ chptrd.f chptrf.f chptri.f chptrs.f chsein.f chseqr.f clabrd.f \
++ clacgv.f clacon.f clacn2.f clacp2.f clacpy.f clacrm.f clacrt.f cladiv.f \
++ claed0.f claed7.f claed8.f \
++ claein.f claesy.f claev2.f clags2.f clagtm.f \
++ clahef.f clahqr.f \
++ clahrd.f clahr2.f claic1.f clals0.f clalsa.f clalsd.f clangb.f clange.f clangt.f \
++ clanhb.f clanhe.f \
++ clanhp.f clanhs.f clanht.f clansb.f clansp.f clansy.f clantb.f \
++ clantp.f clantr.f clapll.f clapmt.f clarcm.f claqgb.f claqge.f \
++ claqhb.f claqhe.f claqhp.f claqp2.f claqps.f claqsb.f \
++ claqr0.f claqr1.f claqr2.f claqr3.f claqr4.f claqr5.f \
++ claqsp.f claqsy.f clar1v.f clar2v.f clarf.f clarfb.f clarfg.f clarft.f \
++ clarfx.f clargv.f clarnv.f clarrv.f clartg.f clartv.f \
++ clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f \
++ claswp.f clasyf.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f \
++ clatzm.f clauu2.f clauum.f cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f \
++ cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f \
++ cposv.f cposvx.f cpotf2.f cpotrf.f cpotri.f cpotrs.f cppcon.f \
++ cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f \
++ cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f cptts2.f \
++ crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f \
++ cspsvx.f csptrf.f csptri.f csptrs.f csrscl.f cstedc.f \
++ cstegr.f cstein.f csteqr.f csycon.f csymv.f \
++ csyr.f csyrfs.f csysv.f csysvx.f csytf2.f csytrf.f csytri.f \
++ csytrs.f ctbcon.f ctbrfs.f ctbtrs.f ctgevc.f ctgex2.f \
++ ctgexc.f ctgsen.f ctgsja.f ctgsna.f ctgsy2.f ctgsyl.f ctpcon.f \
++ ctprfs.f ctptri.f \
++ ctptrs.f ctrcon.f ctrevc.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f \
++ ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrqf.f ctzrzf.f cung2l.f cung2r.f \
++ cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f \
++ cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f \
++ cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f \
++ cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f
++
++D_SOURCES = \
++ dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f \
++ dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f \
++ dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f \
++ dgegs.f dgegv.f dgehd2.f dgehrd.f dgelq2.f dgelqf.f \
++ dgels.f dgelsd.f dgelss.f dgelsx.f dgelsy.f dgeql2.f dgeqlf.f \
++ dgeqp3.f dgeqpf.f dgeqr2.f dgeqrf.f dgerfs.f dgerq2.f dgerqf.f \
++ dgesc2.f dgesdd.f dgesv.f dgesvd.f dgesvx.f dgetc2.f dgetf2.f \
++ dgetrf.f dgetri.f \
++ dgetrs.f dggbak.f dggbal.f dgges.f dggesx.f dggev.f dggevx.f \
++ dggglm.f dgghrd.f dgglse.f dggqrf.f \
++ dggrqf.f dggsvd.f dggsvp.f dgtcon.f dgtrfs.f dgtsv.f \
++ dgtsvx.f dgttrf.f dgttrs.f dgtts2.f dhgeqz.f \
++ dhsein.f dhseqr.f dlabrd.f dlacon.f dlacn2.f \
++ dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlagv2.f dlahqr.f \
++ dlahrd.f dlahr2.f dlaic1.f dlaln2.f dlals0.f dlalsa.f dlalsd.f \
++ dlangb.f dlange.f dlangt.f dlanhs.f dlansb.f dlansp.f \
++ dlansy.f dlantb.f dlantp.f dlantr.f dlanv2.f \
++ dlapll.f dlapmt.f \
++ dlaqgb.f dlaqge.f dlaqp2.f dlaqps.f dlaqsb.f dlaqsp.f dlaqsy.f \
++ dlaqr0.f dlaqr1.f dlaqr2.f dlaqr3.f dlaqr4.f dlaqr5.f \
++ dlaqtr.f dlar1v.f dlar2v.f \
++ dlarf.f dlarfb.f dlarfg.f dlarft.f dlarfx.f dlargv.f \
++ dlarrv.f dlartv.f \
++ dlarz.f dlarzb.f dlarzt.f dlaswp.f dlasy2.f dlasyf.f \
++ dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlatzm.f dlauu2.f \
++ dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f \
++ dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f \
++ dorgrq.f dorgtr.f dorm2l.f dorm2r.f \
++ dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f \
++ dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f \
++ dpbstf.f dpbsv.f dpbsvx.f \
++ dpbtf2.f dpbtrf.f dpbtrs.f dpocon.f dpoequ.f dporfs.f dposv.f \
++ dposvx.f dpotf2.f dpotrf.f dpotri.f dpotrs.f dppcon.f dppequ.f \
++ dpprfs.f dppsv.f dppsvx.f dpptrf.f dpptri.f dpptrs.f dptcon.f \
++ dpteqr.f dptrfs.f dptsv.f dptsvx.f dpttrs.f dptts2.f drscl.f \
++ dsbev.f dsbevd.f dsbevx.f dsbgst.f dsbgv.f dsbgvd.f dsbgvx.f \
++ dsbtrd.f dspcon.f dspev.f dspevd.f dspevx.f dspgst.f \
++ dspgv.f dspgvd.f dspgvx.f dsprfs.f dspsv.f dspsvx.f dsptrd.f \
++ dsptrf.f dsptri.f dsptrs.f dstegr.f dstein.f dstev.f dstevd.f dstevr.f \
++ dstevx.f dsycon.f dsyev.f dsyevd.f dsyevr.f \
++ dsyevx.f dsygs2.f dsygst.f dsygv.f dsygvd.f dsygvx.f dsyrfs.f \
++ dsysv.f dsysvx.f \
++ dsytd2.f dsytf2.f dsytrd.f dsytrf.f dsytri.f dsytrs.f dtbcon.f \
++ dtbrfs.f dtbtrs.f dtgevc.f dtgex2.f dtgexc.f dtgsen.f \
++ dtgsja.f dtgsna.f dtgsy2.f dtgsyl.f dtpcon.f dtprfs.f dtptri.f \
++ dtptrs.f \
++ dtrcon.f dtrevc.f dtrexc.f dtrrfs.f dtrsen.f dtrsna.f dtrsyl.f \
++ dtrti2.f dtrtri.f dtrtrs.f dtzrqf.f dtzrzf.f dstemr.f \
++ dsgesv.f dlag2s.f slag2d.f
++
++Z_SOURCES = \
++ zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f \
++ zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f \
++ zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f \
++ zgegs.f zgegv.f zgehd2.f zgehrd.f zgelq2.f zgelqf.f \
++ zgels.f zgelsd.f zgelss.f zgelsx.f zgelsy.f zgeql2.f zgeqlf.f zgeqp3.f \
++ zgeqpf.f zgeqr2.f zgeqrf.f zgerfs.f zgerq2.f zgerqf.f \
++ zgesc2.f zgesdd.f zgesv.f zgesvd.f zgesvx.f zgetc2.f zgetf2.f zgetrf.f \
++ zgetri.f zgetrs.f \
++ zggbak.f zggbal.f zgges.f zggesx.f zggev.f zggevx.f zggglm.f \
++ zgghrd.f zgglse.f zggqrf.f zggrqf.f \
++ zggsvd.f zggsvp.f \
++ zgtcon.f zgtrfs.f zgtsv.f zgtsvx.f zgttrf.f zgttrs.f zgtts2.f zhbev.f \
++ zhbevd.f zhbevx.f zhbgst.f zhbgv.f zhbgvd.f zhbgvx.f zhbtrd.f \
++ zhecon.f zheev.f zheevd.f zheevr.f zheevx.f zhegs2.f zhegst.f \
++ zhegv.f zhegvd.f zhegvx.f zherfs.f zhesv.f zhesvx.f zhetd2.f \
++ zhetf2.f zhetrd.f \
++ zhetrf.f zhetri.f zhetrs.f zhgeqz.f zhpcon.f zhpev.f zhpevd.f \
++ zhpevx.f zhpgst.f zhpgv.f zhpgvd.f zhpgvx.f zhprfs.f zhpsv.f \
++ zhpsvx.f \
++ zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f \
++ zlacgv.f zlacon.f zlacn2.f zlacp2.f zlacpy.f zlacrm.f zlacrt.f zladiv.f \
++ zlaed0.f zlaed7.f zlaed8.f \
++ zlaein.f zlaesy.f zlaev2.f zlags2.f zlagtm.f \
++ zlahef.f zlahqr.f \
++ zlahrd.f zlahr2.f zlaic1.f zlals0.f zlalsa.f zlalsd.f zlangb.f zlange.f \
++ zlangt.f zlanhb.f \
++ zlanhe.f \
++ zlanhp.f zlanhs.f zlanht.f zlansb.f zlansp.f zlansy.f zlantb.f \
++ zlantp.f zlantr.f zlapll.f zlapmt.f zlaqgb.f zlaqge.f \
++ zlaqhb.f zlaqhe.f zlaqhp.f zlaqp2.f zlaqps.f zlaqsb.f \
++ zlaqr0.f zlaqr1.f zlaqr2.f zlaqr3.f zlaqr4.f zlaqr5.f \
++ zlaqsp.f zlaqsy.f zlar1v.f zlar2v.f zlarcm.f zlarf.f zlarfb.f \
++ zlarfg.f zlarft.f \
++ zlarfx.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f \
++ zlarz.f zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f \
++ zlassq.f zlaswp.f zlasyf.f \
++ zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f zlatzm.f zlauu2.f \
++ zlauum.f zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f \
++ zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f \
++ zposv.f zposvx.f zpotf2.f zpotrf.f zpotri.f zpotrs.f zppcon.f \
++ zppequ.f zpprfs.f zppsv.f zppsvx.f zpptrf.f zpptri.f zpptrs.f \
++ zptcon.f zpteqr.f zptrfs.f zptsv.f zptsvx.f zpttrf.f zpttrs.f zptts2.f \
++ zrot.f zspcon.f zspmv.f zspr.f zsprfs.f zspsv.f \
++ zspsvx.f zsptrf.f zsptri.f zsptrs.f zdrscl.f zstedc.f \
++ zstegr.f zstein.f zsteqr.f zsycon.f zsymv.f \
++ zsyr.f zsyrfs.f zsysv.f zsysvx.f zsytf2.f zsytrf.f zsytri.f \
++ zsytrs.f ztbcon.f ztbrfs.f ztbtrs.f ztgevc.f ztgex2.f \
++ ztgexc.f ztgsen.f ztgsja.f ztgsna.f ztgsy2.f ztgsyl.f ztpcon.f \
++ ztprfs.f ztptri.f \
++ ztptrs.f ztrcon.f ztrevc.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f \
++ ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrqf.f ztzrzf.f zung2l.f \
++ zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f \
++ zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f \
++ zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f \
++ zunmtr.f zupgtr.f \
++ zupmtr.f izmax1.f dzsum1.f zstemr.f \
++ zcgesv.f zlag2c.f clag2z.f
++
++liblapack_noopt_la_FFLAGS = \
++ $(NOOPT_FFLAGS)
++
++liblapack_noopt_la_SOURCES = \
++ $(SINGLE_NOOPT_SOURCES) \
++ $(DOUBLE_NOOPT_SOURCES)
++
++liblapack_la_LIBADD = liblapack-noopt.la @BLAS_LIBS@
++
++liblapack_la_SOURCES = \
++ $(ALLAUX_SOURCES) \
++ $(SINGLE_SOURCES) \
++ $(DOUBLE_SOURCES) \
++ $(S_SOURCES) \
++ $(C_SOURCES) \
++ $(D_SOURCES) \
++ $(Z_SOURCES)
++
++# Automake doesn't have a way to build with no optimization
++# See http://sources.redhat.com/ml/automake/2002-08/msg00082.html
++# This is the automake-produced rule with $(FFLAGS) removed
++liblapack_noopt_la-slaruv.lo: slaruv.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slaruv.lo `test -f 'slaruv.f' || echo '$(srcdir)/'`slaruv.f
++liblapack_noopt_la-dlaruv.lo: dlaruv.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlaruv.lo `test -f 'dlaruv.f' || echo '$(srcdir)/'`dlaruv.f
++
++liblapack_noopt_la-slamch.lo: ../INSTALL/slamch.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slamch.lo `test -f '../INSTALL/slamch.f' || echo '$(srcdir)/'`../INSTALL/slamch.f
++liblapack_noopt_la-dlamch.lo: ../INSTALL/dlamch.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlamch.lo `test -f '../INSTALL/dlamch.f' || echo '$(srcdir)/'`../INSTALL/dlamch.f
+--- INSTALL/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ INSTALL/Makefile.am 2007-08-02 11:43:17.000000000 +0100
+@@ -0,0 +1,23 @@
++check_PROGRAMS = \
++ testlsame \
++ testslamch \
++ testdlamch \
++ testsecond \
++ testdsecnd \
++ testieee
++
++TESTS = $(check_PROGRAMS)
++
++testlsame_SOURCES = lsame.f lsametst.f
++testslamch_SOURCES = slamch.f lsame.f slamchtst.f
++testdlamch_SOURCES = dlamch.f lsame.f dlamchtst.f
++testsecond_SOURCES = second_INT_CPU_TIME.f secondtst.f
++testdsecnd_SOURCES = dsecnd_INT_CPU_TIME.f dsecndtst.f
++testieee_SOURCES = tstiee.f
++
++EXTRA_DIST = \
++ lawn81.pdf \
++ lawn81.ps \
++ lawn81.tex \
++ org2.ps \
++ psfig.tex
diff --git a/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch
new file mode 100644
index 000000000..e9b754403
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/lapack-reference-3.1.1-test-fix.patch
@@ -0,0 +1,36 @@
+diff -Naur lapack-lite-3.1.1/TESTING/ctest.in lapack-lite-3.1.1-new/TESTING/ctest.in
+--- lapack-lite-3.1.1/TESTING/ctest.in 2007-02-26 13:20:47.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/ctest.in 2007-07-24 10:19:31.000000000 -0400
+@@ -32,5 +32,4 @@
+ CQL 8 List types on next line if 0 < NTYPES < 8
+ CQP 6 List types on next line if 0 < NTYPES < 6
+ CTZ 3 List types on next line if 0 < NTYPES < 3
+-CLS 6 List types on next line if 0 < NTYPES < 6
+ CEQ
+diff -Naur lapack-lite-3.1.1/TESTING/dtest.in lapack-lite-3.1.1-new/TESTING/dtest.in
+--- lapack-lite-3.1.1/TESTING/dtest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/dtest.in 2007-07-24 10:19:36.000000000 -0400
+@@ -30,5 +30,4 @@
+ DQL 8 List types on next line if 0 < NTYPES < 8
+ DQP 6 List types on next line if 0 < NTYPES < 6
+ DTZ 3 List types on next line if 0 < NTYPES < 3
+-DLS 6 List types on next line if 0 < NTYPES < 6
+ DEQ
+diff -Naur lapack-lite-3.1.1/TESTING/stest.in lapack-lite-3.1.1-new/TESTING/stest.in
+--- lapack-lite-3.1.1/TESTING/stest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/stest.in 2007-07-24 10:19:48.000000000 -0400
+@@ -30,5 +30,4 @@
+ SQL 8 List types on next line if 0 < NTYPES < 8
+ SQP 6 List types on next line if 0 < NTYPES < 6
+ STZ 3 List types on next line if 0 < NTYPES < 3
+-SLS 6 List types on next line if 0 < NTYPES < 6
+ SEQ
+diff -Naur lapack-lite-3.1.1/TESTING/ztest.in lapack-lite-3.1.1-new/TESTING/ztest.in
+--- lapack-lite-3.1.1/TESTING/ztest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/ztest.in 2007-07-24 10:19:42.000000000 -0400
+@@ -32,5 +32,4 @@
+ ZQL 8 List types on next line if 0 < NTYPES < 8
+ ZQP 6 List types on next line if 0 < NTYPES < 6
+ ZTZ 3 List types on next line if 0 < NTYPES < 3
+-ZLS 6 List types on next line if 0 < NTYPES < 6
+ ZEQ
diff --git a/sci-libs/lapack-atlas/files/lapack.pc.in b/sci-libs/lapack-atlas/files/lapack.pc.in
new file mode 100644
index 000000000..6dfda1c97
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/lapack.pc.in
@@ -0,0 +1,13 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=${prefix}/include
+
+Name: lapack
+Description: Automatically Tuned Linear Algebra Software F77 and C LAPACK implementation
+Version: @PV@
+URL: http://math-atlas.sourceforge.net/
+Requires: blas cblas
+Libs: -L${libdir} -llapack
+Libs.private: -latlas @EXTLIBS@
+Include: -I${includedir}
diff --git a/sci-libs/lapack-atlas/files/war b/sci-libs/lapack-atlas/files/war
new file mode 100644
index 000000000..2093f033a
--- /dev/null
+++ b/sci-libs/lapack-atlas/files/war
@@ -0,0 +1,26 @@
+#! /bin/bash
+#
+# war -- wrapper for the archiver
+#
+# Executed by ATLAS build as:
+# full_path/war ARCHIVER ARFLAGS LIBNAME.a OBJS.lo
+
+TOPDIR=$(echo $0 | sed 's/\(.*\)\/.*/\1/')
+PWD=$(pwd)
+
+ARCHIVER=$1
+LIBRARY=$(echo $3 | sed 's/.*\/\(.*\)/\1/')
+OBJ_DIR=${TOPDIR}/gentoo/$LIBRARY
+
+if [ ! -x $OBJ_DIR ]; then mkdir -p ${OBJ_DIR}/.libs; fi
+
+$ARCHIVER $@
+
+shift 3
+for obj in $@ ; do
+ lobj=$(echo $obj | sed 's/\.o/\.lo/')
+ ln -sf ${PWD}/$obj ${OBJ_DIR}/$obj
+ ln -sf ${PWD}/$lobj ${OBJ_DIR}/$lobj
+ ln -sf ${PWD}/.libs/$obj ${OBJ_DIR}/.libs/$obj
+done
+
diff --git a/sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild b/sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild
new file mode 100644
index 000000000..8a8996a4c
--- /dev/null
+++ b/sci-libs/lapack-atlas/lapack-atlas-3.7.37.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs fortran autotools versionator
+
+MY_PN="${PN/lapack-/}"
+L_PN="lapack"
+L_PV="3.1.1"
+BlasRelease=$(get_version_component_range 1-3)
+
+DESCRIPTION="F77 and C LAPACK implementations using available ATLAS routines"
+LICENSE="BSD"
+HOMEPAGE="http://math-atlas.sourceforge.net/"
+SRC_URI1="mirror://sourceforge/math-atlas/${MY_PN}${PV}.tar.bz2"
+SRC_URI2="http://www.netlib.org/${L_PN}/${L_PN}-lite-${L_PV}.tgz"
+SRC_URI="${SRC_URI1} ${SRC_URI2}
+ http://dev.gentoo.org/~bicatali/${MY_PN}-${PV}-shared-libs.patch.bz2"
+
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND="virtual/blas
+ virtual/cblas
+ app-admin/eselect-lapack
+ ~sci-libs/blas-atlas-${BlasRelease}
+ >=sys-devel/libtool-1.5"
+
+RDEPEND="${DEPEND}
+ dev-util/pkgconfig
+ doc? ( app-doc/lapack-docs )"
+
+FORTRAN="g77 gfortran ifc"
+
+S="${WORKDIR}/ATLAS"
+S_LAPACK="${WORKDIR}/${L_PN}-lite-${L_PV}"
+BLD_DIR="${S}/gentoo-build"
+RPATH="${DESTTREE}/$(get_libdir)/${L_PN}/${MY_PN}"
+
+src_unpack() {
+ unpack ${A}
+
+ epatch "${DISTDIR}"/${MY_PN}-${PV}-shared-libs.patch.bz2
+ epatch "${FILESDIR}"/${MY_PN}-asm-gentoo.patch
+
+ cd "${S}"
+ mkdir ${BLD_DIR} || die "failed to generate build directory"
+ cp "${FILESDIR}"/war "${BLD_DIR}" && chmod a+x "${BLD_DIR}"/war \
+ || die "failed to install war"
+
+ # make sure the compile picks up the proper includes
+ sed -e "s|INCLUDES =|INCLUDES = -I/usr/include/atlas/|" \
+ -e "s:= gcc:= $(tc-getCC) ${CFLAGS}:" \
+ -i CONFIG/src/SpewMakeInc.c || \
+ die "failed to append proper includes"
+
+ # force proper 32/64bit libs
+ local archselect
+ if [[ "${ARCH}" == "amd64" || "${ARCH}" == "ppc64" ]]; then
+ archselect="-b 64"
+ elif [ "${ARCH}" == "alpha" ]; then
+ archselect=""
+ else
+ archselect="-b 32"
+ fi
+
+ cd ${BLD_DIR} && ../configure \
+ --cc=$(tc-getCC) \
+ --cflags="${CFLAGS}" \
+ --prefix=${D}/${DESTTREE} \
+ --libdir=${D}/${DESTTREE}/$(get_libdir)/atlas \
+ --incdir=${D}/${DESTTREE}/include \
+ -C ac "$(tc-getCC)" -F ac "${CFLAGS}" \
+ -C if "${FORTRANC}" -F if "${FFLAGS}" \
+ -Ss pmake "\$(MAKE) ${MAKEOPTS}" \
+ -Si cputhrchk 0 ${archselect} \
+ || die "configure failed"
+
+ cd "${S_LAPACK}"
+ epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-autotool.patch
+ epatch "${FILESDIR}"/${L_PN}-reference-${L_PV}-test-fix.patch
+ eautoreconf
+
+ # set up the testing routines
+ sed -e "s:g77:${FORTRANC}:" \
+ -e "s:-funroll-all-loops -O3:${FFLAGS} $(pkg-config --cflags blas cblas):" \
+ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas cblas):" \
+ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas cblas):" \
+ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.so:" \
+ -e "s:EXT_ETIME$:INT_CPU_TIME:" \
+ make.inc.example > make.inc \
+ || die "Failed to set up make.inc"
+}
+
+src_compile() {
+ # build atlas' part of lapack
+ cd "${BLD_DIR}"
+ for d in src/lapack interfaces/lapack/C/src interfaces/lapack/F77/src; do
+ cd "${BLD_DIR}/{d}"
+ make lib || die "Failed to make lib in ${d}"
+ done
+
+ # build rest of lapack
+ cd "${S_LAPACK}"
+ econf || die "Failed to configure reference lapack lib"
+ emake || die "Failed to make reference lapack lib"
+
+ cd "${S_LAPACK}"/SRC
+ einfo "Copying liblapack.a/*.o to ${S_LAPACK}/SRC"
+ cp -sf "${BLD_DIR}"/gentoo/liblapack.a/*.o .
+ einfo "Copying liblapack.a/*.lo to ${S_LAPACK}/SRC"
+ cp -sf "${BLD_DIR}"/gentoo/liblapack.a/*.lo .
+ einfo "Copying liblapack.a/.libs/*.o to ${S_LAPACK}/SRC"
+ cp -sf "${BLD_DIR}"/gentoo/liblapack.a/.libs/*.o .libs/
+
+ local flibs
+ [[ ${FORTRANC} == "gfortran" ]] && flibs="-lgfortran"
+ [[ ${FORTRANC} == "g77" ]] && flibs="-lg2c"
+ ../libtool --mode=link --tag=F77 ${FORTRANC} \
+ $(pkg-config --libs blas) \
+ $(pkg-config --libs cblas) \
+ ${flibs} \
+ -o liblapack.la *.lo -rpath "${RPATH}" \
+ || die "Failed to create liblapack.la"
+
+ # making pkg-config file
+ sed -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@EXTLIBS@:-lm ${flibs}:g" \
+ "${FILESDIR}/lapack.pc.in" > "${S}"/lapack.pc \
+ || die "sed lapack.pc failed"
+}
+
+src_install () {
+ dodir "${RPATH}"
+
+ cd "${S_LAPACK}"/SRC
+ ../libtool --mode=install cp liblapack.la "${D}/${RPATH}" \
+ || die "Failed to install lapack-atlas library"
+
+ eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.atlas atlas
+
+ insinto /usr/include/atlas
+ doins "${S}"/include/clapack.h || die "Failed to install clapack.h"
+
+ cd "${S}"
+ dodoc README doc/AtlasCredits.txt doc/ChangeLog || \
+ die "Failed to install docs"
+
+ insinto /usr/$(get_libdir)/lapack/atlas
+ doins "${S}"/lapack.pc || die "Failed to install lapack.pc"
+}
+
+src_test() {
+ cd "${S_LAPACK}"/TESTING/MATGEN && emake || \
+ die "Failed to create tmglib.a"
+ cd ../ && emake || die "lapack-reference tests failed."
+}
+
+pkg_postinst() {
+ [[ -z "$(eselect lapack show)" ]] && eselect lapack set atlas
+
+ elog "Use 'eselect lapack' (as root) to select"
+ elog "one of the ATLAS lapack profiles."
+ elog "Once selected, use 'pkg-config --libs lapack' to link with ATLAS lapack."
+ elog "With C, add 'pkg-config --cflags lapack' to compile."
+}
diff --git a/sci-libs/lapack-atlas/metadata.xml b/sci-libs/lapack-atlas/metadata.xml
new file mode 100644
index 000000000..27e517d1d
--- /dev/null
+++ b/sci-libs/lapack-atlas/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">
+ATLAS is an approach for the automatic generation and optimization of
+numerical software. Currently ATLAS supplies optimized versions for
+the complete set of linear algebra kernels known as the Basic Linear
+Algebra Subroutines (BLAS), and a subset of the linear algebra
+routines in the LAPACK library.
+The libraries in this package contain full LAPACK FORTRAN 77 and C
+implementations, using routines from both ATLAS and the reference Netlib package.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/lapack-reference/Manifest b/sci-libs/lapack-reference/Manifest
new file mode 100644
index 000000000..4b703684e
--- /dev/null
+++ b/sci-libs/lapack-reference/Manifest
@@ -0,0 +1,24 @@
+AUX eselect.lapack.reference 237 RMD160 f87f6c802089ce23b5d53cb40403ed32b9b9f866 SHA1 0ea7ca8961e4d7381618893c155fe582cd68d8c4 SHA256 2a72a6a9b49ec944656e164842907ee76d878a6772a7d71c1cb196d8beb6fa13
+MD5 bd194e115c97d3ef79f2a0d029a97b0f files/eselect.lapack.reference 237
+RMD160 f87f6c802089ce23b5d53cb40403ed32b9b9f866 files/eselect.lapack.reference 237
+SHA256 2a72a6a9b49ec944656e164842907ee76d878a6772a7d71c1cb196d8beb6fa13 files/eselect.lapack.reference 237
+AUX lapack-reference-3.1.1-autotool.patch 16994 RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 SHA1 a1eda6146c1cd32f972b0f1703610c85b58b7c74 SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec
+MD5 0750e86c04390617206f5170f2c07652 files/lapack-reference-3.1.1-autotool.patch 16994
+RMD160 becd221cdb3dcdb0dd3ac4b7c11416c5da6aba44 files/lapack-reference-3.1.1-autotool.patch 16994
+SHA256 6cd32492e97740d3e98e93de38a0e192dd6d249c35ade4caf7e7ab4c45edadec files/lapack-reference-3.1.1-autotool.patch 16994
+AUX lapack-reference-3.1.1-test-fix.patch 2120 RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc SHA1 bf73066396b08def6bcd81d0ce09aab682224cb1 SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8
+MD5 d9f7c5dbfc41c255eab86b32702f5650 files/lapack-reference-3.1.1-test-fix.patch 2120
+RMD160 9c37d349af207f0bbb6deb1ae88addb9676c73fc files/lapack-reference-3.1.1-test-fix.patch 2120
+SHA256 40c514db2bf9a08ce9630e53058ef3d863fd981c774987b233f6bdce3601a6f8 files/lapack-reference-3.1.1-test-fix.patch 2120
+DIST lapack-lite-3.1.1.tgz 5332509 RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b SHA1 1ec4ef90b544cf82bc7b4f770cee6fb46da457c5 SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437
+EBUILD lapack-reference-3.1.1-r1.ebuild 2030 RMD160 e0403817cc5ea336b0cd549ae6bf1875642531cf SHA1 a3abacf8b0d039aa15915f1b35a81f3f4b87261a SHA256 56f35a2977a5bd5078c0c7824b08d2b16bf95be26190d51bd8e705bcc267d147
+MD5 8163476143a06c01e4ef9d1631257943 lapack-reference-3.1.1-r1.ebuild 2030
+RMD160 e0403817cc5ea336b0cd549ae6bf1875642531cf lapack-reference-3.1.1-r1.ebuild 2030
+SHA256 56f35a2977a5bd5078c0c7824b08d2b16bf95be26190d51bd8e705bcc267d147 lapack-reference-3.1.1-r1.ebuild 2030
+MISC metadata.xml 594 RMD160 13588b9b3bfc11c2818d846723bf2f5e376e3650 SHA1 f5ea3820ca5fc7a2973c3d19329b1f7fa3f5e427 SHA256 f08ce9a146655d7bbb3b21a408816e91f86dfcd9f1d1f7868f8edd5e5416c466
+MD5 05709b7c2a07c6f1881fdc25f8056877 metadata.xml 594
+RMD160 13588b9b3bfc11c2818d846723bf2f5e376e3650 metadata.xml 594
+SHA256 f08ce9a146655d7bbb3b21a408816e91f86dfcd9f1d1f7868f8edd5e5416c466 metadata.xml 594
+MD5 e47577ce12b87f148b170b2226a7cc32 files/digest-lapack-reference-3.1.1-r1 247
+RMD160 f06434c9558a0df45cddbf187e624850b6a4d073 files/digest-lapack-reference-3.1.1-r1 247
+SHA256 34e0e977049b900a8d9c1a0f8a1a9065a6147dc38b4c0850d13f0b75a9be101a files/digest-lapack-reference-3.1.1-r1 247
diff --git a/sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r1 b/sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r1
new file mode 100644
index 000000000..2081b7b68
--- /dev/null
+++ b/sci-libs/lapack-reference/files/digest-lapack-reference-3.1.1-r1
@@ -0,0 +1,3 @@
+MD5 5feace3f4507a92ef822b2e0b50151d7 lapack-lite-3.1.1.tgz 5332509
+RMD160 d81baafd1f0f9859d9f75ac9b658f743544b5f5b lapack-lite-3.1.1.tgz 5332509
+SHA256 505a13272d0d71c45ea52be2de74b0562b234ea3ccf5160665c7a2ee74a58437 lapack-lite-3.1.1.tgz 5332509
diff --git a/sci-libs/lapack-reference/files/eselect.lapack.reference b/sci-libs/lapack-reference/files/eselect.lapack.reference
new file mode 100644
index 000000000..fe1a777b2
--- /dev/null
+++ b/sci-libs/lapack-reference/files/eselect.lapack.reference
@@ -0,0 +1,4 @@
+lapack/reference/liblapack.so /usr/@LIBDIR@/liblapack.so
+lapack/reference/liblapack.so.0 /usr/@LIBDIR@/liblapack.so.0
+lapack/reference/liblapack.a /usr/@LIBDIR@/liblapack.a
+../lapack/reference/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc
diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch
new file mode 100644
index 000000000..72a00618c
--- /dev/null
+++ b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-autotool.patch
@@ -0,0 +1,374 @@
+--- configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ configure.ac 2007-08-14 10:28:36.000000000 +0100
+@@ -0,0 +1,26 @@
++AC_PREREQ(2.61)
++AC_INIT(lapack, 3.1.1, lapack@cs.utk.edu)
++AM_INIT_AUTOMAKE([foreign])
++
++AC_LANG(Fortran 77)
++AC_PROG_F77
++AC_PROG_LIBTOOL
++
++AC_F77_FUNC(sgemm)
++
++PKG_PROG_PKG_CONFIG
++if test -n "$PKG_CONFIG"; then
++ PKG_CHECK_MODULES([BLAS], [blas])
++else
++ AC_CHECK_LIB(blas, $sgemm)
++ BLAS_LIBS=-lblas
++ AC_SUBST(BLAS_LIBS)
++fi
++
++AC_ARG_VAR(NOOPT_FFLAGS, Fortran 77 compiler flags to use for unoptimized files)
++
++AC_CONFIG_FILES([Makefile
++ SRC/Makefile
++ INSTALL/Makefile
++ lapack.pc])
++AC_OUTPUT
+--- Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am 2007-08-14 11:39:34.000000000 +0100
+@@ -0,0 +1,6 @@
++SUBDIRS = INSTALL SRC
++
++pkgconfigdir = $(libdir)
++pkgconfig_DATA = lapack.pc
++
++EXTRA_DIST = README lapack.pc
+--- lapack.pc.in 1970-01-01 01:00:00.000000000 +0100
++++ lapack.pc.in 2007-08-14 17:16:49.000000000 +0100
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Linear Algebra PACKage FORTRAN 77 reference implementation
++Version: @PACKAGE_VERSION@
++Requires: blas
++URL: http://www.netlib.org/lapack/
++Libs: -llapack
++Libs.private: -lm
+--- SRC/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ SRC/Makefile.am 2007-08-02 15:15:59.000000000 +0100
+@@ -0,0 +1,292 @@
++lib_LTLIBRARIES = \
++ liblapack.la
++
++noinst_LTLIBRARIES = \
++ liblapack-noopt.la
++
++ALLAUX_SOURCES = ilaenv.f ieeeck.f lsamen.f xerbla.f iparmq.f \
++ ../INSTALL/ilaver.f ../INSTALL/lsame.f
++
++SINGLE_NOOPT_SOURCES = \
++ slaruv.f ../INSTALL/slamch.f
++
++SINGLE_SOURCES = \
++ sbdsdc.f \
++ sbdsqr.f sdisna.f slabad.f slacpy.f sladiv.f slae2.f slaebz.f \
++ slaed0.f slaed1.f slaed2.f slaed3.f slaed4.f slaed5.f slaed6.f \
++ slaed7.f slaed8.f slaed9.f slaeda.f slaev2.f slagtf.f \
++ slagts.f slamrg.f slanst.f \
++ slapy2.f slapy3.f slarnv.f \
++ slarra.f slarrb.f slarrc.f slarrd.f slarre.f slarrf.f slarrj.f \
++ slarrk.f slarrr.f slaneg.f \
++ slartg.f slas2.f slascl.f \
++ slasd0.f slasd1.f slasd2.f slasd3.f slasd4.f slasd5.f slasd6.f \
++ slasd7.f slasd8.f slasda.f slasdq.f slasdt.f \
++ slaset.f slasq1.f slasq2.f slasq3.f slazq3.f slasq4.f slazq4.f slasq5.f slasq6.f \
++ slasr.f slasrt.f slassq.f slasv2.f spttrf.f sstebz.f sstedc.f \
++ ssteqr.f ssterf.f slaisnan.f sisnan.f \
++ ../INSTALL/second_INT_CPU_TIME.f
++
++DOUBLE_NOOPT_SOURCES = \
++ dlaruv.f ../INSTALL/dlamch.f
++
++DOUBLE_SOURCES = \
++ dbdsdc.f \
++ dbdsqr.f ddisna.f dlabad.f dlacpy.f dladiv.f dlae2.f dlaebz.f \
++ dlaed0.f dlaed1.f dlaed2.f dlaed3.f dlaed4.f dlaed5.f dlaed6.f \
++ dlaed7.f dlaed8.f dlaed9.f dlaeda.f dlaev2.f dlagtf.f \
++ dlagts.f dlamrg.f dlanst.f \
++ dlapy2.f dlapy3.f dlarnv.f \
++ dlarra.f dlarrb.f dlarrc.f dlarrd.f dlarre.f dlarrf.f dlarrj.f \
++ dlarrk.f dlarrr.f dlaneg.f \
++ dlartg.f dlas2.f dlascl.f \
++ dlasd0.f dlasd1.f dlasd2.f dlasd3.f dlasd4.f dlasd5.f dlasd6.f \
++ dlasd7.f dlasd8.f dlasda.f dlasdq.f dlasdt.f \
++ dlaset.f dlasq1.f dlasq2.f dlasq3.f dlazq3.f dlasq4.f dlazq4.f dlasq5.f dlasq6.f \
++ dlasr.f dlasrt.f dlassq.f dlasv2.f dpttrf.f dstebz.f dstedc.f \
++ dsteqr.f dsterf.f dlaisnan.f disnan.f \
++ ../INSTALL/dsecnd_INT_CPU_TIME.f
++
++S_SOURCES = \
++ sgbbrd.f sgbcon.f sgbequ.f sgbrfs.f sgbsv.f \
++ sgbsvx.f sgbtf2.f sgbtrf.f sgbtrs.f sgebak.f sgebal.f sgebd2.f \
++ sgebrd.f sgecon.f sgeequ.f sgees.f sgeesx.f sgeev.f sgeevx.f \
++ sgegs.f sgegv.f sgehd2.f sgehrd.f sgelq2.f sgelqf.f \
++ sgels.f sgelsd.f sgelss.f sgelsx.f sgelsy.f sgeql2.f sgeqlf.f \
++ sgeqp3.f sgeqpf.f sgeqr2.f sgeqrf.f sgerfs.f sgerq2.f sgerqf.f \
++ sgesc2.f sgesdd.f sgesv.f sgesvd.f sgesvx.f sgetc2.f sgetf2.f \
++ sgetrf.f sgetri.f \
++ sgetrs.f sggbak.f sggbal.f sgges.f sggesx.f sggev.f sggevx.f \
++ sggglm.f sgghrd.f sgglse.f sggqrf.f \
++ sggrqf.f sggsvd.f sggsvp.f sgtcon.f sgtrfs.f sgtsv.f \
++ sgtsvx.f sgttrf.f sgttrs.f sgtts2.f shgeqz.f \
++ shsein.f shseqr.f slabrd.f slacon.f slacn2.f \
++ slaein.f slaexc.f slag2.f slags2.f slagtm.f slagv2.f slahqr.f \
++ slahrd.f slahr2.f slaic1.f slaln2.f slals0.f slalsa.f slalsd.f \
++ slangb.f slange.f slangt.f slanhs.f slansb.f slansp.f \
++ slansy.f slantb.f slantp.f slantr.f slanv2.f \
++ slapll.f slapmt.f \
++ slaqgb.f slaqge.f slaqp2.f slaqps.f slaqsb.f slaqsp.f slaqsy.f \
++ slaqr0.f slaqr1.f slaqr2.f slaqr3.f slaqr4.f slaqr5.f \
++ slaqtr.f slar1v.f slar2v.f \
++ slarf.f slarfb.f slarfg.f slarft.f slarfx.f slargv.f \
++ slarrv.f slartv.f \
++ slarz.f slarzb.f slarzt.f slaswp.f slasy2.f slasyf.f \
++ slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f slatzm.f \
++ slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f \
++ sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f \
++ sorgrq.f sorgtr.f sorm2l.f sorm2r.f \
++ sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f \
++ sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f \
++ spbstf.f spbsv.f spbsvx.f \
++ spbtf2.f spbtrf.f spbtrs.f spocon.f spoequ.f sporfs.f sposv.f \
++ sposvx.f spotf2.f spotrf.f spotri.f spotrs.f sppcon.f sppequ.f \
++ spprfs.f sppsv.f sppsvx.f spptrf.f spptri.f spptrs.f sptcon.f \
++ spteqr.f sptrfs.f sptsv.f sptsvx.f spttrs.f sptts2.f srscl.f \
++ ssbev.f ssbevd.f ssbevx.f ssbgst.f ssbgv.f ssbgvd.f ssbgvx.f \
++ ssbtrd.f sspcon.f sspev.f sspevd.f sspevx.f sspgst.f \
++ sspgv.f sspgvd.f sspgvx.f ssprfs.f sspsv.f sspsvx.f ssptrd.f \
++ ssptrf.f ssptri.f ssptrs.f sstegr.f sstein.f sstev.f sstevd.f sstevr.f \
++ sstevx.f ssycon.f ssyev.f ssyevd.f ssyevr.f ssyevx.f ssygs2.f \
++ ssygst.f ssygv.f ssygvd.f ssygvx.f ssyrfs.f ssysv.f ssysvx.f \
++ ssytd2.f ssytf2.f ssytrd.f ssytrf.f ssytri.f ssytrs.f stbcon.f \
++ stbrfs.f stbtrs.f stgevc.f stgex2.f stgexc.f stgsen.f \
++ stgsja.f stgsna.f stgsy2.f stgsyl.f stpcon.f stprfs.f stptri.f \
++ stptrs.f \
++ strcon.f strevc.f strexc.f strrfs.f strsen.f strsna.f strsyl.f \
++ strti2.f strtri.f strtrs.f stzrqf.f stzrzf.f sstemr.f
++
++C_SOURCES = \
++ cbdsqr.f cgbbrd.f cgbcon.f cgbequ.f cgbrfs.f cgbsv.f cgbsvx.f \
++ cgbtf2.f cgbtrf.f cgbtrs.f cgebak.f cgebal.f cgebd2.f cgebrd.f \
++ cgecon.f cgeequ.f cgees.f cgeesx.f cgeev.f cgeevx.f \
++ cgegs.f cgegv.f cgehd2.f cgehrd.f cgelq2.f cgelqf.f \
++ cgels.f cgelsd.f cgelss.f cgelsx.f cgelsy.f cgeql2.f cgeqlf.f cgeqp3.f \
++ cgeqpf.f cgeqr2.f cgeqrf.f cgerfs.f cgerq2.f cgerqf.f \
++ cgesc2.f cgesdd.f cgesv.f cgesvd.f cgesvx.f cgetc2.f cgetf2.f cgetrf.f \
++ cgetri.f cgetrs.f \
++ cggbak.f cggbal.f cgges.f cggesx.f cggev.f cggevx.f cggglm.f \
++ cgghrd.f cgglse.f cggqrf.f cggrqf.f \
++ cggsvd.f cggsvp.f \
++ cgtcon.f cgtrfs.f cgtsv.f cgtsvx.f cgttrf.f cgttrs.f cgtts2.f chbev.f \
++ chbevd.f chbevx.f chbgst.f chbgv.f chbgvd.f chbgvx.f chbtrd.f \
++ checon.f cheev.f cheevd.f cheevr.f cheevx.f chegs2.f chegst.f \
++ chegv.f chegvd.f chegvx.f cherfs.f chesv.f chesvx.f chetd2.f \
++ chetf2.f chetrd.f \
++ chetrf.f chetri.f chetrs.f chgeqz.f chpcon.f chpev.f chpevd.f \
++ chpevx.f chpgst.f chpgv.f chpgvd.f chpgvx.f chprfs.f chpsv.f \
++ chpsvx.f \
++ chptrd.f chptrf.f chptri.f chptrs.f chsein.f chseqr.f clabrd.f \
++ clacgv.f clacon.f clacn2.f clacp2.f clacpy.f clacrm.f clacrt.f cladiv.f \
++ claed0.f claed7.f claed8.f \
++ claein.f claesy.f claev2.f clags2.f clagtm.f \
++ clahef.f clahqr.f \
++ clahrd.f clahr2.f claic1.f clals0.f clalsa.f clalsd.f clangb.f clange.f clangt.f \
++ clanhb.f clanhe.f \
++ clanhp.f clanhs.f clanht.f clansb.f clansp.f clansy.f clantb.f \
++ clantp.f clantr.f clapll.f clapmt.f clarcm.f claqgb.f claqge.f \
++ claqhb.f claqhe.f claqhp.f claqp2.f claqps.f claqsb.f \
++ claqr0.f claqr1.f claqr2.f claqr3.f claqr4.f claqr5.f \
++ claqsp.f claqsy.f clar1v.f clar2v.f clarf.f clarfb.f clarfg.f clarft.f \
++ clarfx.f clargv.f clarnv.f clarrv.f clartg.f clartv.f \
++ clarz.f clarzb.f clarzt.f clascl.f claset.f clasr.f classq.f \
++ claswp.f clasyf.f clatbs.f clatdf.f clatps.f clatrd.f clatrs.f clatrz.f \
++ clatzm.f clauu2.f clauum.f cpbcon.f cpbequ.f cpbrfs.f cpbstf.f cpbsv.f \
++ cpbsvx.f cpbtf2.f cpbtrf.f cpbtrs.f cpocon.f cpoequ.f cporfs.f \
++ cposv.f cposvx.f cpotf2.f cpotrf.f cpotri.f cpotrs.f cppcon.f \
++ cppequ.f cpprfs.f cppsv.f cppsvx.f cpptrf.f cpptri.f cpptrs.f \
++ cptcon.f cpteqr.f cptrfs.f cptsv.f cptsvx.f cpttrf.f cpttrs.f cptts2.f \
++ crot.f cspcon.f cspmv.f cspr.f csprfs.f cspsv.f \
++ cspsvx.f csptrf.f csptri.f csptrs.f csrscl.f cstedc.f \
++ cstegr.f cstein.f csteqr.f csycon.f csymv.f \
++ csyr.f csyrfs.f csysv.f csysvx.f csytf2.f csytrf.f csytri.f \
++ csytrs.f ctbcon.f ctbrfs.f ctbtrs.f ctgevc.f ctgex2.f \
++ ctgexc.f ctgsen.f ctgsja.f ctgsna.f ctgsy2.f ctgsyl.f ctpcon.f \
++ ctprfs.f ctptri.f \
++ ctptrs.f ctrcon.f ctrevc.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f \
++ ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrqf.f ctzrzf.f cung2l.f cung2r.f \
++ cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f \
++ cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f \
++ cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f \
++ cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f
++
++D_SOURCES = \
++ dgbbrd.f dgbcon.f dgbequ.f dgbrfs.f dgbsv.f \
++ dgbsvx.f dgbtf2.f dgbtrf.f dgbtrs.f dgebak.f dgebal.f dgebd2.f \
++ dgebrd.f dgecon.f dgeequ.f dgees.f dgeesx.f dgeev.f dgeevx.f \
++ dgegs.f dgegv.f dgehd2.f dgehrd.f dgelq2.f dgelqf.f \
++ dgels.f dgelsd.f dgelss.f dgelsx.f dgelsy.f dgeql2.f dgeqlf.f \
++ dgeqp3.f dgeqpf.f dgeqr2.f dgeqrf.f dgerfs.f dgerq2.f dgerqf.f \
++ dgesc2.f dgesdd.f dgesv.f dgesvd.f dgesvx.f dgetc2.f dgetf2.f \
++ dgetrf.f dgetri.f \
++ dgetrs.f dggbak.f dggbal.f dgges.f dggesx.f dggev.f dggevx.f \
++ dggglm.f dgghrd.f dgglse.f dggqrf.f \
++ dggrqf.f dggsvd.f dggsvp.f dgtcon.f dgtrfs.f dgtsv.f \
++ dgtsvx.f dgttrf.f dgttrs.f dgtts2.f dhgeqz.f \
++ dhsein.f dhseqr.f dlabrd.f dlacon.f dlacn2.f \
++ dlaein.f dlaexc.f dlag2.f dlags2.f dlagtm.f dlagv2.f dlahqr.f \
++ dlahrd.f dlahr2.f dlaic1.f dlaln2.f dlals0.f dlalsa.f dlalsd.f \
++ dlangb.f dlange.f dlangt.f dlanhs.f dlansb.f dlansp.f \
++ dlansy.f dlantb.f dlantp.f dlantr.f dlanv2.f \
++ dlapll.f dlapmt.f \
++ dlaqgb.f dlaqge.f dlaqp2.f dlaqps.f dlaqsb.f dlaqsp.f dlaqsy.f \
++ dlaqr0.f dlaqr1.f dlaqr2.f dlaqr3.f dlaqr4.f dlaqr5.f \
++ dlaqtr.f dlar1v.f dlar2v.f \
++ dlarf.f dlarfb.f dlarfg.f dlarft.f dlarfx.f dlargv.f \
++ dlarrv.f dlartv.f \
++ dlarz.f dlarzb.f dlarzt.f dlaswp.f dlasy2.f dlasyf.f \
++ dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlatzm.f dlauu2.f \
++ dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f \
++ dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f \
++ dorgrq.f dorgtr.f dorm2l.f dorm2r.f \
++ dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f \
++ dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f \
++ dpbstf.f dpbsv.f dpbsvx.f \
++ dpbtf2.f dpbtrf.f dpbtrs.f dpocon.f dpoequ.f dporfs.f dposv.f \
++ dposvx.f dpotf2.f dpotrf.f dpotri.f dpotrs.f dppcon.f dppequ.f \
++ dpprfs.f dppsv.f dppsvx.f dpptrf.f dpptri.f dpptrs.f dptcon.f \
++ dpteqr.f dptrfs.f dptsv.f dptsvx.f dpttrs.f dptts2.f drscl.f \
++ dsbev.f dsbevd.f dsbevx.f dsbgst.f dsbgv.f dsbgvd.f dsbgvx.f \
++ dsbtrd.f dspcon.f dspev.f dspevd.f dspevx.f dspgst.f \
++ dspgv.f dspgvd.f dspgvx.f dsprfs.f dspsv.f dspsvx.f dsptrd.f \
++ dsptrf.f dsptri.f dsptrs.f dstegr.f dstein.f dstev.f dstevd.f dstevr.f \
++ dstevx.f dsycon.f dsyev.f dsyevd.f dsyevr.f \
++ dsyevx.f dsygs2.f dsygst.f dsygv.f dsygvd.f dsygvx.f dsyrfs.f \
++ dsysv.f dsysvx.f \
++ dsytd2.f dsytf2.f dsytrd.f dsytrf.f dsytri.f dsytrs.f dtbcon.f \
++ dtbrfs.f dtbtrs.f dtgevc.f dtgex2.f dtgexc.f dtgsen.f \
++ dtgsja.f dtgsna.f dtgsy2.f dtgsyl.f dtpcon.f dtprfs.f dtptri.f \
++ dtptrs.f \
++ dtrcon.f dtrevc.f dtrexc.f dtrrfs.f dtrsen.f dtrsna.f dtrsyl.f \
++ dtrti2.f dtrtri.f dtrtrs.f dtzrqf.f dtzrzf.f dstemr.f \
++ dsgesv.f dlag2s.f slag2d.f
++
++Z_SOURCES = \
++ zbdsqr.f zgbbrd.f zgbcon.f zgbequ.f zgbrfs.f zgbsv.f zgbsvx.f \
++ zgbtf2.f zgbtrf.f zgbtrs.f zgebak.f zgebal.f zgebd2.f zgebrd.f \
++ zgecon.f zgeequ.f zgees.f zgeesx.f zgeev.f zgeevx.f \
++ zgegs.f zgegv.f zgehd2.f zgehrd.f zgelq2.f zgelqf.f \
++ zgels.f zgelsd.f zgelss.f zgelsx.f zgelsy.f zgeql2.f zgeqlf.f zgeqp3.f \
++ zgeqpf.f zgeqr2.f zgeqrf.f zgerfs.f zgerq2.f zgerqf.f \
++ zgesc2.f zgesdd.f zgesv.f zgesvd.f zgesvx.f zgetc2.f zgetf2.f zgetrf.f \
++ zgetri.f zgetrs.f \
++ zggbak.f zggbal.f zgges.f zggesx.f zggev.f zggevx.f zggglm.f \
++ zgghrd.f zgglse.f zggqrf.f zggrqf.f \
++ zggsvd.f zggsvp.f \
++ zgtcon.f zgtrfs.f zgtsv.f zgtsvx.f zgttrf.f zgttrs.f zgtts2.f zhbev.f \
++ zhbevd.f zhbevx.f zhbgst.f zhbgv.f zhbgvd.f zhbgvx.f zhbtrd.f \
++ zhecon.f zheev.f zheevd.f zheevr.f zheevx.f zhegs2.f zhegst.f \
++ zhegv.f zhegvd.f zhegvx.f zherfs.f zhesv.f zhesvx.f zhetd2.f \
++ zhetf2.f zhetrd.f \
++ zhetrf.f zhetri.f zhetrs.f zhgeqz.f zhpcon.f zhpev.f zhpevd.f \
++ zhpevx.f zhpgst.f zhpgv.f zhpgvd.f zhpgvx.f zhprfs.f zhpsv.f \
++ zhpsvx.f \
++ zhptrd.f zhptrf.f zhptri.f zhptrs.f zhsein.f zhseqr.f zlabrd.f \
++ zlacgv.f zlacon.f zlacn2.f zlacp2.f zlacpy.f zlacrm.f zlacrt.f zladiv.f \
++ zlaed0.f zlaed7.f zlaed8.f \
++ zlaein.f zlaesy.f zlaev2.f zlags2.f zlagtm.f \
++ zlahef.f zlahqr.f \
++ zlahrd.f zlahr2.f zlaic1.f zlals0.f zlalsa.f zlalsd.f zlangb.f zlange.f \
++ zlangt.f zlanhb.f \
++ zlanhe.f \
++ zlanhp.f zlanhs.f zlanht.f zlansb.f zlansp.f zlansy.f zlantb.f \
++ zlantp.f zlantr.f zlapll.f zlapmt.f zlaqgb.f zlaqge.f \
++ zlaqhb.f zlaqhe.f zlaqhp.f zlaqp2.f zlaqps.f zlaqsb.f \
++ zlaqr0.f zlaqr1.f zlaqr2.f zlaqr3.f zlaqr4.f zlaqr5.f \
++ zlaqsp.f zlaqsy.f zlar1v.f zlar2v.f zlarcm.f zlarf.f zlarfb.f \
++ zlarfg.f zlarft.f \
++ zlarfx.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f \
++ zlarz.f zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f \
++ zlassq.f zlaswp.f zlasyf.f \
++ zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f zlatzm.f zlauu2.f \
++ zlauum.f zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f \
++ zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f \
++ zposv.f zposvx.f zpotf2.f zpotrf.f zpotri.f zpotrs.f zppcon.f \
++ zppequ.f zpprfs.f zppsv.f zppsvx.f zpptrf.f zpptri.f zpptrs.f \
++ zptcon.f zpteqr.f zptrfs.f zptsv.f zptsvx.f zpttrf.f zpttrs.f zptts2.f \
++ zrot.f zspcon.f zspmv.f zspr.f zsprfs.f zspsv.f \
++ zspsvx.f zsptrf.f zsptri.f zsptrs.f zdrscl.f zstedc.f \
++ zstegr.f zstein.f zsteqr.f zsycon.f zsymv.f \
++ zsyr.f zsyrfs.f zsysv.f zsysvx.f zsytf2.f zsytrf.f zsytri.f \
++ zsytrs.f ztbcon.f ztbrfs.f ztbtrs.f ztgevc.f ztgex2.f \
++ ztgexc.f ztgsen.f ztgsja.f ztgsna.f ztgsy2.f ztgsyl.f ztpcon.f \
++ ztprfs.f ztptri.f \
++ ztptrs.f ztrcon.f ztrevc.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f \
++ ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrqf.f ztzrzf.f zung2l.f \
++ zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f \
++ zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f \
++ zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f \
++ zunmtr.f zupgtr.f \
++ zupmtr.f izmax1.f dzsum1.f zstemr.f \
++ zcgesv.f zlag2c.f clag2z.f
++
++liblapack_noopt_la_FFLAGS = \
++ $(NOOPT_FFLAGS)
++
++liblapack_noopt_la_SOURCES = \
++ $(SINGLE_NOOPT_SOURCES) \
++ $(DOUBLE_NOOPT_SOURCES)
++
++liblapack_la_LIBADD = liblapack-noopt.la @BLAS_LIBS@
++
++liblapack_la_SOURCES = \
++ $(ALLAUX_SOURCES) \
++ $(SINGLE_SOURCES) \
++ $(DOUBLE_SOURCES) \
++ $(S_SOURCES) \
++ $(C_SOURCES) \
++ $(D_SOURCES) \
++ $(Z_SOURCES)
++
++# Automake doesn't have a way to build with no optimization
++# See http://sources.redhat.com/ml/automake/2002-08/msg00082.html
++# This is the automake-produced rule with $(FFLAGS) removed
++liblapack_noopt_la-slaruv.lo: slaruv.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slaruv.lo `test -f 'slaruv.f' || echo '$(srcdir)/'`slaruv.f
++liblapack_noopt_la-dlaruv.lo: dlaruv.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlaruv.lo `test -f 'dlaruv.f' || echo '$(srcdir)/'`dlaruv.f
++
++liblapack_noopt_la-slamch.lo: ../INSTALL/slamch.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-slamch.lo `test -f '../INSTALL/slamch.f' || echo '$(srcdir)/'`../INSTALL/slamch.f
++liblapack_noopt_la-dlamch.lo: ../INSTALL/dlamch.f
++ $(LIBTOOL) --tag=F77 --mode=compile $(F77) $(liblapack_noopt_la_FFLAGS) -c -o liblapack_noopt_la-dlamch.lo `test -f '../INSTALL/dlamch.f' || echo '$(srcdir)/'`../INSTALL/dlamch.f
+--- INSTALL/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ INSTALL/Makefile.am 2007-08-02 11:43:17.000000000 +0100
+@@ -0,0 +1,23 @@
++check_PROGRAMS = \
++ testlsame \
++ testslamch \
++ testdlamch \
++ testsecond \
++ testdsecnd \
++ testieee
++
++TESTS = $(check_PROGRAMS)
++
++testlsame_SOURCES = lsame.f lsametst.f
++testslamch_SOURCES = slamch.f lsame.f slamchtst.f
++testdlamch_SOURCES = dlamch.f lsame.f dlamchtst.f
++testsecond_SOURCES = second_INT_CPU_TIME.f secondtst.f
++testdsecnd_SOURCES = dsecnd_INT_CPU_TIME.f dsecndtst.f
++testieee_SOURCES = tstiee.f
++
++EXTRA_DIST = \
++ lawn81.pdf \
++ lawn81.ps \
++ lawn81.tex \
++ org2.ps \
++ psfig.tex
diff --git a/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch
new file mode 100644
index 000000000..e9b754403
--- /dev/null
+++ b/sci-libs/lapack-reference/files/lapack-reference-3.1.1-test-fix.patch
@@ -0,0 +1,36 @@
+diff -Naur lapack-lite-3.1.1/TESTING/ctest.in lapack-lite-3.1.1-new/TESTING/ctest.in
+--- lapack-lite-3.1.1/TESTING/ctest.in 2007-02-26 13:20:47.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/ctest.in 2007-07-24 10:19:31.000000000 -0400
+@@ -32,5 +32,4 @@
+ CQL 8 List types on next line if 0 < NTYPES < 8
+ CQP 6 List types on next line if 0 < NTYPES < 6
+ CTZ 3 List types on next line if 0 < NTYPES < 3
+-CLS 6 List types on next line if 0 < NTYPES < 6
+ CEQ
+diff -Naur lapack-lite-3.1.1/TESTING/dtest.in lapack-lite-3.1.1-new/TESTING/dtest.in
+--- lapack-lite-3.1.1/TESTING/dtest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/dtest.in 2007-07-24 10:19:36.000000000 -0400
+@@ -30,5 +30,4 @@
+ DQL 8 List types on next line if 0 < NTYPES < 8
+ DQP 6 List types on next line if 0 < NTYPES < 6
+ DTZ 3 List types on next line if 0 < NTYPES < 3
+-DLS 6 List types on next line if 0 < NTYPES < 6
+ DEQ
+diff -Naur lapack-lite-3.1.1/TESTING/stest.in lapack-lite-3.1.1-new/TESTING/stest.in
+--- lapack-lite-3.1.1/TESTING/stest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/stest.in 2007-07-24 10:19:48.000000000 -0400
+@@ -30,5 +30,4 @@
+ SQL 8 List types on next line if 0 < NTYPES < 8
+ SQP 6 List types on next line if 0 < NTYPES < 6
+ STZ 3 List types on next line if 0 < NTYPES < 3
+-SLS 6 List types on next line if 0 < NTYPES < 6
+ SEQ
+diff -Naur lapack-lite-3.1.1/TESTING/ztest.in lapack-lite-3.1.1-new/TESTING/ztest.in
+--- lapack-lite-3.1.1/TESTING/ztest.in 2007-02-26 13:20:49.000000000 -0500
++++ lapack-lite-3.1.1-new/TESTING/ztest.in 2007-07-24 10:19:42.000000000 -0400
+@@ -32,5 +32,4 @@
+ ZQL 8 List types on next line if 0 < NTYPES < 8
+ ZQP 6 List types on next line if 0 < NTYPES < 6
+ ZTZ 3 List types on next line if 0 < NTYPES < 3
+-ZLS 6 List types on next line if 0 < NTYPES < 6
+ ZEQ
diff --git a/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild
new file mode 100644
index 000000000..b131b4999
--- /dev/null
+++ b/sci-libs/lapack-reference/lapack-reference-3.1.1-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils autotools flag-o-matic fortran multilib
+
+MyPN="${PN/-reference/}"
+
+DESCRIPTION="FORTRAN reference implementation of LAPACK Linear Algebra PACKage"
+LICENSE="BSD"
+HOMEPAGE="http://www.netlib.org/lapack/index.html"
+SRC_URI="http://www.netlib.org/lapack/${MyPN}-lite-${PV}.tgz"
+
+SLOT="0"
+IUSE="doc"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+DEPEND="virtual/blas
+ app-admin/eselect-lapack"
+
+RDEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ doc? ( app-doc/lapack-docs )"
+
+S="${WORKDIR}/${MyPN}-lite-${PV}"
+
+pkg_setup() {
+ FORTRAN="g77 gfortran ifc"
+ fortran_pkg_setup
+ if [[ ${FORTRANC:0:2} == "if" ]]; then
+ ewarn "Using Intel Fortran at your own risk"
+ LDFLAGS="$(raw-ldflags)"
+ export NOOPT_FFLAGS=-O
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-autotool.patch
+ epatch "${FILESDIR}"/${P}-test-fix.patch
+ eautoreconf
+
+ # set up the testing routines
+ sed -e "s:g77:${FORTRANC}:" \
+ -e "s:-funroll-all-loops -O3:${FFLAGS} $(pkg-config --cflags blas):" \
+ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \
+ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \
+ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" \
+ make.inc.example > make.inc \
+ || die "Failed to set up make.inc"
+}
+
+src_compile() {
+ econf \
+ --libdir=/usr/$(get_libdir)/lapack/reference \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README
+ eselect lapack add $(get_libdir) "${FILESDIR}"/eselect.lapack.reference reference
+}
+
+src_test() {
+ cd TESTING/MATGEN && emake || die "Failed to create tmglib.a"
+ cd ../ && emake || die "lapack-reference tests failed."
+}
+
+pkg_postinst() {
+ [[ -z "$(eselect lapack show)" ]] && eselect lapack set reference
+ elog "To use LAPACK reference implementation, you have to issue (as root):"
+ elog "\n\teselect lapack set reference\n"
+}
diff --git a/sci-libs/lapack-reference/metadata.xml b/sci-libs/lapack-reference/metadata.xml
new file mode 100644
index 000000000..bce24defa
--- /dev/null
+++ b/sci-libs/lapack-reference/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">
+LAPACK is a comprehensive library that does linear algebra
+operations including matrix inversions, least squared solutions to
+linear sets of equations, eigenvector analysis, singular value
+decomposition, etc. It is a very comprehensive and reputable package
+that has found extensive use in the scientific community.
+This package installs the reference FORTRAN 77 implementation from Netlib.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
new file mode 100644
index 000000000..2d87527c8
--- /dev/null
+++ b/sci-libs/mkl/Manifest
@@ -0,0 +1,20 @@
+AUX blas.pc.in 272 RMD160 6cda1e3b357cd20f9d11cace684eb052e7cb20e1 SHA1 5a93a650c3fe32adc8de432d94ea9037d3a97cea SHA256 21ae12b8f1ca4f01b7ce046276a0558ad03b79a6f511cbdd5e20f80530326160
+MD5 f37aa52613f32364296f5adef64029c5 files/blas.pc.in 272
+RMD160 6cda1e3b357cd20f9d11cace684eb052e7cb20e1 files/blas.pc.in 272
+SHA256 21ae12b8f1ca4f01b7ce046276a0558ad03b79a6f511cbdd5e20f80530326160 files/blas.pc.in 272
+AUX cblas.pc.in 296 RMD160 006666d64f4a623c65975a5f9f541588796aff73 SHA1 4930a616d6c6ce4218c95e9b54e7f59671bd585f SHA256 73d5e224fd48c7c7b3a36a2d7ecae2ada6ae1635b9893cfbd7d69e11b1775380
+MD5 57b2d177663b4182e7c4c43001f9fa61 files/cblas.pc.in 296
+RMD160 006666d64f4a623c65975a5f9f541588796aff73 files/cblas.pc.in 296
+SHA256 73d5e224fd48c7c7b3a36a2d7ecae2ada6ae1635b9893cfbd7d69e11b1775380 files/cblas.pc.in 296
+AUX lapack.pc.in 280 RMD160 29c8001a4939e550f29f44ae49c66bcf2faae038 SHA1 bf66106da2b4b017f588ecf916260e52d2c11d64 SHA256 e2201c50675f5e4636e8c5d19ba6a9fba3904789a35369ec8bbed83b8c493a2c
+MD5 18e0d606b5e2065c44e06ea054bc7e62 files/lapack.pc.in 280
+RMD160 29c8001a4939e550f29f44ae49c66bcf2faae038 files/lapack.pc.in 280
+SHA256 e2201c50675f5e4636e8c5d19ba6a9fba3904789a35369ec8bbed83b8c493a2c files/lapack.pc.in 280
+DIST l_mkl_enh_p_9.1.021.tgz 315862164 RMD160 fc9f14524cd44e76ac69506141aa8b6e78d4995d SHA1 96eafab1a1619a51b7faeda969939360972b245b SHA256 782ae0a8979c83610ba2dec3c55d932d7203b73a167226066788101f7957865a
+EBUILD mkl-9.1.021.ebuild 7447 RMD160 f4fdf0c0e827f1554d50fe713325ef094bb3f3c6 SHA1 75234c43437dfb6c24e618e45f4c1df9a4046eb2 SHA256 e8f248a086d7249ed30e6aa87b24935fc4b54b8c10ea7a818777638bb329459c
+MD5 9ad9ced840c4ea935562805a6c30eab5 mkl-9.1.021.ebuild 7447
+RMD160 f4fdf0c0e827f1554d50fe713325ef094bb3f3c6 mkl-9.1.021.ebuild 7447
+SHA256 e8f248a086d7249ed30e6aa87b24935fc4b54b8c10ea7a818777638bb329459c mkl-9.1.021.ebuild 7447
+MD5 5277e1494714b111af3290faca8e9705 files/digest-mkl-9.1.021 259
+RMD160 1faff5072544958e224437f0a7fc50c92b11b7b3 files/digest-mkl-9.1.021 259
+SHA256 c49d4ff5fd3ea1be9b6b08bd87a0d830aba832d24d928eeec02b7642f87ed927 files/digest-mkl-9.1.021 259
diff --git a/sci-libs/mkl/files/blas.pc.in b/sci-libs/mkl/files/blas.pc.in
new file mode 100644
index 000000000..b9bd2e3b3
--- /dev/null
+++ b/sci-libs/mkl/files/blas.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=/usr/include
+
+Name: blas
+Description: MKL implementations of the F77 Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://developer.intel.com/software/products/mkl/
+Libs: -L${libdir} -lblas @EXTLIBS@
diff --git a/sci-libs/mkl/files/cblas.pc.in b/sci-libs/mkl/files/cblas.pc.in
new file mode 100644
index 000000000..eea3d786f
--- /dev/null
+++ b/sci-libs/mkl/files/cblas.pc.in
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=/usr/include
+
+Name: cblas
+Description: MKL implementations of the C Basic Linear Algebra Subroutines
+Version: @PV@
+URL: http://developer.intel.com/software/products/mkl/
+Libs: -L${libdir} -lcblas @EXTLIBS@
+Cflags: -I${includedir}
diff --git a/sci-libs/mkl/files/digest-mkl-9.1.021 b/sci-libs/mkl/files/digest-mkl-9.1.021
new file mode 100644
index 000000000..5d4c92a94
--- /dev/null
+++ b/sci-libs/mkl/files/digest-mkl-9.1.021
@@ -0,0 +1,3 @@
+MD5 1694ca067d26c624858fcc2595522174 l_mkl_enh_p_9.1.021.tgz 315862164
+RMD160 fc9f14524cd44e76ac69506141aa8b6e78d4995d l_mkl_enh_p_9.1.021.tgz 315862164
+SHA256 782ae0a8979c83610ba2dec3c55d932d7203b73a167226066788101f7957865a l_mkl_enh_p_9.1.021.tgz 315862164
diff --git a/sci-libs/mkl/files/lapack.pc.in b/sci-libs/mkl/files/lapack.pc.in
new file mode 100644
index 000000000..5b88c64a0
--- /dev/null
+++ b/sci-libs/mkl/files/lapack.pc.in
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/@LIBDIR@
+includedir=/usr/include
+
+Name: cblas
+Description: MKL implementations of the F77 Linear Algebra PACKage
+Version: @PV@
+URL: http://developer.intel.com/software/products/mkl/
+Requires: blas
+Libs: -L${libdir} -llapack @EXTLIBS@
diff --git a/sci-libs/mkl/mkl-9.1.021.ebuild b/sci-libs/mkl/mkl-9.1.021.ebuild
new file mode 100644
index 000000000..ab7d9f202
--- /dev/null
+++ b/sci-libs/mkl/mkl-9.1.021.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils toolchain-funcs fortran versionator
+
+MYPV="$(get_major_version ${PV}).$(get_version_component_range 2 ${PV})"
+MYP="${PN}-${MYPV}"
+
+DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, random number generators."
+HOMEPAGE="http://developer.intel.com/software/products/mkl/"
+SRC_URI="l_${PN}_enh_p_${PV}.tgz"
+
+LICENSE="${MYP}"
+
+# slotting mechanism would need to select proper env-variables
+# which could require a mkl-config like pkg.
+#SLOT="${MYPV}"
+SLOT="0"
+RESTRICT="strip fetch"
+KEYWORDS="~x86 ~amd64 ~ia64"
+IUSE="threads int64 fortran95 fftw doc examples"
+
+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 )"
+
+MKL_DIR=/opt/intel/${PN}/${MYPV}
+
+pkg_nofetch() {
+ einfo "Please download the intel mkl from:"
+ einfo "http://www.intel.com/software/products/mkl/downloads/lin_mkl.htm"
+ einfo "and place it in ${DISTDIR}"
+ einfo "Also you need to register in ${HOMEPAGE}"
+ einfo "and keep the license Intel sent you"
+ einfo "SRC=${A}"
+}
+
+pkg_setup() {
+ # setting up license
+ [[ -z "${MKL_LICENSE}" ]] && MKL_LICENSE="$(find /opt/intel/licenses -name *MKL*.lic)"
+ if [[ -z "${MKL_LICENSE}" ]]; then
+ eerror "Did not find any valid mkl license."
+ eerror "Please locate your license file and run:"
+ eerror "\t MKL_LICENSE=/my/license/dir emerge ${PN}"
+ eerror "or place your license in /opt/intel/licenses"
+ eerror "Hint: the license file is in the email Intel sent you"
+ die "setup mkl license failed"
+ fi
+
+ # setting up compilers
+ MKL_CC=gnu
+ [[ "$(tc-getCC)" == "icc" ]] && MKL_CC=icc
+ FORTRAN="gfortran ifc g77"
+ use fortran95 && FORTRAN="gfortran ifc"
+ use int64 && FORTRAN="gfortran ifc"
+ fortran_pkg_setup
+}
+
+src_unpack() {
+
+ ewarn
+ ewarn "Intel ${PN} requires in average 400Mb of disk space"
+ ewarn "Make sure you have them on ${PORTAGE_TMPDIR} and in /opt"
+ ewarn
+ unpack ${A}
+
+ cd l_${PN}_*_${PV}/install
+
+ # need to make a file to install non-interactively.
+ # to produce such a file, first do it interactively
+ # tar xf l_*; ./install.sh --duplicate mkl.ini;
+ # the file will be instman/mkl.ini
+
+ # binary blob extractor installs log crap in /opt/intel
+ #addwrite /opt/intel
+ cp ${MKL_LICENSE} ${WORKDIR}/
+ MKL_LICENSE="$(basename ${MKL_LICENSE})"
+ cat > mkl.ini << EOF
+[MKL]
+EULA_ACCEPT_REJECT=ACCEPT
+FLEXLM_LICENSE_LOCATION=${WORKDIR}/${MKL_LICENSE}
+INSTALLMODE=NONRPM
+INSTALL_DESTINATION=${S}
+EOF
+ einfo "Extracting ..."
+ ./install \
+ --silent ${PWD}/mkl.ini \
+ --log log.txt &> /dev/null
+
+ [[ -z $(find "${S}" -name libmkl.so) ]] \
+ && die "extracting failed"
+
+ # remove unused stuff and set up intel names
+ rm -rf "${WORKDIR}"/l_*
+ case ${ARCH} in
+ x86) MKL_ARCH=32
+ MKL_KERN=ia32
+ rm -rf "${S}"/lib*/*64*
+ ;;
+ amd64) MKL_ARCH=em64t
+ MKL_KERN=em64t
+ rm -rf "${S}"/lib*/32 "${S}"/lib*/64
+ ;;
+ ia64) MKL_ARCH=64
+ MKL_KERN=ipf
+ rm -rf "${S}"/lib*/32 "${S}"/lib*/em64t
+ ;;
+ esac
+
+ MKL_PROF="serial"
+
+ if use threads; then
+ MKL_PROF="${MKL_PROF} regular"
+ else
+ rm -rf "${S}"/lib
+ fi
+
+ if use int64; then
+ MKL_PROF="${MKL_PROF} ilp64"
+ else
+ rm -rf "${S}"/lib_ilp64
+ fi
+
+ # fix a bad makefile in the test
+ if [[ ${FORTRANC} == gfortran ]] || [[ ${FORTRANC} == if* ]]; then
+ sed -i \
+ -e "s/g77/${FORTRANC}/" \
+ -e 's/-DGNU_USE//' \
+ "${S}"/tests/fftf/makefile \
+ || die "sed fftf test failed"
+ fi
+}
+
+src_compile() {
+
+ if use fortran95; then
+ for p in ${MKL_PROF}; do
+ einfo "Compiling fortan95 wrappers for ${p}"
+ for x in blas95 lapack95; do
+ cd "${S}"/interfaces/${x}
+ emake \
+ FC=${FORTRANC} \
+ MKL_SUBVERS=${p} \
+ lib${MKL_ARCH} \
+ || die "emake $(basename ${x}) failed"
+ done
+ done
+ fi
+
+ if use fftw; then
+ for p in ${MKL_PROF}; do
+ einfo "Compiling fftw wrappers for ${p}"
+ for x in "${S}"/interfaces/fft*; do
+ cd "${x}"
+ emake \
+ F=${MKL_CC} \
+ MKL_SUBVERS=${p} \
+ lib${MKL_ARCH} \
+ || die "emake $(basename ${x}) failed"
+ done
+ done
+ fi
+}
+
+src_test() {
+ local usegnu
+ [ ${FORTRANC} = g77 -o ${MKL_CC} = gnu ] && usegnu=gnu
+ for testdir in blas cblas fftc fftf; do
+ cd "${S}"/tests/${testdir}
+ for p in ${MKL_PROF}; do
+ einfo "Testing ${testdir} for ${p}"
+ emake -j1 \
+ F=${usegnu} \
+ FC=${FORTRANC} \
+ MKL_SUBVERS=${p} \
+ lib${MKL_ARCH} \
+ || die "emake ${testdir} failed"
+ done
+ done
+}
+
+# usage: mkl_install_lib <serial|regular|ilp64>
+mkl_install_lib() {
+
+ local proflib=lib_${1}
+ [[ "${1}" == "regular" ]] && proflib=lib
+ local libdir="${MKL_DIR}/${proflib}/${MKL_ARCH}"
+ local prof=${PN}
+ local extlibs
+ [[ "${FORTRANC}" == "gfortran" ]] && \
+ extlibs="${extlibs} -L${libdir} -lmkl_gfortran"
+ if [[ "${1}" == "regular" ]]; then
+ extlibs="${extlibs} -L${libdir} -lguide -lpthread"
+ prof=${prof}-threads
+ fi
+ [[ "${1}" == "ilp64" ]] && prof=${prof}-int64
+
+ cp -pPR "${S}"/${proflib} "${D}"${MKL_DIR}
+
+ for x in blas cblas; do
+ cat > eselect.${x}.${prof} << EOF
+${libdir}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/lib${x}.a
+${libdir}/libmkl.so /usr/@LIBDIR@/lib${x}.so
+${libdir}/libmkl.so /usr/@LIBDIR@/lib${x}.so.0
+${libdir}/${x}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc
+EOF
+
+ [[ ${x} == cblas ]] && \
+ echo "${MKL_DIR}/include/mkl_cblas.h /usr/include/cblas.h" >> eselect.${x}.${prof}
+ eselect ${x} add $(get_libdir) eselect.${x}.${prof} ${prof}
+ sed -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ "${FILESDIR}"/${x}.pc.in > ${x}.pc || die "sed ${x}.pc failed"
+ insinto ${libdir}
+ doins ${x}.pc
+ done
+
+ cat > eselect.lapack.${prof} << EOF
+${libdir}/libmkl_lapack.a /usr/@LIBDIR@/liblapack.a
+${libdir}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so
+${libdir}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so.0
+${libdir}/lapack.pc /usr/@LIBDIR@/pkgconfig/lapack.pc
+EOF
+ sed -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PV@:${PV}:" \
+ -e "s:@EXTLIBS@:${extlibs}:g" \
+ "${FILESDIR}"/lapack.pc.in > lapack.pc || die "sed lapack.pc failed"
+ insinto ${libdir}
+ doins lapack.pc
+
+ eselect lapack add $(get_libdir) eselect.lapack.${prof} ${prof}
+ echo "LDPATH=${libdir}" > 35mkl
+}
+
+src_install() {
+
+ # install license
+ if [ ! -f "/opt/intel/licenses/${MKL_LICENSE}" ]; then
+ insinto /opt/intel/licenses
+ doins ${WORKDIR}/${MKL_LICENSE}
+ fi
+
+ # keep intel dir in /opt as default install
+ insinto ${MKL_DIR}
+ doins -r include man tools || die "doins include|man|tools failed"
+
+ use examples && doins -r examples
+
+ insinto ${MKL_DIR}/doc
+ doins doc/*.txt
+ use doc && doins doc/*.pdf doc/*.htm
+
+ # take care of lib and eselect files
+ for p in ${MKL_PROF}; do
+ mkl_install_lib ${p}
+ done
+
+ echo "MANPATH=${MKL_DIR}/man" >> 35mkl
+ echo "INCLUDE=${MKL_DIR}/include" >> 35mkl
+ doenvd 35mkl || die "doenvd failed"
+}
+
+pkg_postinst() {
+ # set default profile according to upstream
+ local defprof="${PN}-${FORTRANC}"
+ if use int64; then
+ defprof="${defprof}-int64"
+ elif use threads; then
+ defprof="${defprof}-threads"
+ fi
+
+ for x in blas cblas lapack; do
+ if [[ -z "$(eselect ${x} show)" ]]; then
+ eselect ${x} set ${defprof}
+ fi
+ done
+ # some useful info
+ elog "Use 'eselect <lib>' (as root) to select one of the"
+ elog "MKL <lib> profiles, where lib = blas, cblas or lapack"
+ elog "Once selected, use 'pkg-config --libs <lib>' to link with MKL."
+ elog "With C, add 'pkg-config --cflags <lib>' to compile."
+}