aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2006-04-15 18:20:22 +0000
committerbicatali <bicatali@32389bae-6d03-0410-99cf-db05cde120eb>2006-04-15 18:20:22 +0000
commitc091678d686dd5b463cf53990ca3990ae2a7f639 (patch)
tree4e0a3d5fab58c35adce96c77e5cd40314af957a6 /sci-libs/mkl
parentMoved to the main portage tree. (diff)
downloadsci-c091678d686dd5b463cf53990ca3990ae2a7f639.tar.gz
sci-c091678d686dd5b463cf53990ca3990ae2a7f639.tar.bz2
sci-c091678d686dd5b463cf53990ca3990ae2a7f639.zip
added mkl-8.0.2.004.ebuild (simple version bump)
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@172 32389bae-6d03-0410-99cf-db05cde120eb
Diffstat (limited to 'sci-libs/mkl')
-rw-r--r--sci-libs/mkl/ChangeLog15
-rw-r--r--sci-libs/mkl/Manifest6
-rw-r--r--sci-libs/mkl/files/digest-mkl-8.0.2.0041
-rw-r--r--sci-libs/mkl/mkl-8.0.2.004.ebuild220
-rw-r--r--sci-libs/mkl/mkl-8.1.014.ebuild74
5 files changed, 281 insertions, 35 deletions
diff --git a/sci-libs/mkl/ChangeLog b/sci-libs/mkl/ChangeLog
index dba9a23ad..62f701ee2 100644
--- a/sci-libs/mkl/ChangeLog
+++ b/sci-libs/mkl/ChangeLog
@@ -1,11 +1,18 @@
# ChangeLog for sci-libs/mkl
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
-*mkl-8.0.1.006 (02 Feb 2006)
+*mkl-8.1.014 (14 Apr 2006)
- 02 Feb 2006; Sebastien Fabbro <seb@ist.utl.pt>
- +mkl-8.0.1.006.ebuild, +metadata.xml
+ 14 Apr 2006; Sebastien Fabbro <seb@ist.utl.pt>
+ +mkl-8.1.014.ebuild,
+ Version bump. Ebuild simplified due to installation changes upstream.
+ Removed virtual/blas and lapack for now. Will add it later.
+
+*mkl-8.0.2.004 (14 Apr 2006)
+
+ 14 Apr 2006; Sebastien Fabbro <seb@ist.utl.pt>
+ +mkl-8.0.2.004.ebuild, +metadata.xml
Major version bump, close bug #96426, and ebuild fully rewritten.
Added english description on metadata.xml
diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest
index ee823c14f..24c547138 100644
--- a/sci-libs/mkl/Manifest
+++ b/sci-libs/mkl/Manifest
@@ -1,10 +1,14 @@
-MD5 f0122114658bed82421c724016249798 ChangeLog 1771
+MD5 4333fef6ba555937957fa274d91260bf ChangeLog 2009
MD5 c731fd1c129c0790596f7d3b153863bc files/blas.list 1050
MD5 b4c86e5ca631adde3d2591f567ae5b63 files/c-MKL.blas 477
MD5 155bb697870f65349127173ec70762c9 files/cblas.list 1783
MD5 f1853cde0595400d25d2fa52f079a46e files/digest-mkl-8.0.1.006 68
+MD5 6b1453fb9e087c279b61b40849daffe1 files/digest-mkl-8.0.2.004 68
+MD5 09f2bc6f0b9f9ac62d41c7b85758c7c3 files/digest-mkl-8.1.014 67
MD5 1504bdc6a8746339217cf1d2142f26bb files/f77-MKL.blas 440
MD5 73b9deafc1ec5bb4398751c6875c911b files/f77-MKL.lapack 474
MD5 6d4738fc06a14b06e9f39e7c1492c2c0 files/lapack.list 10195
MD5 729a826a74e62fe48daf668e3dccefb4 metadata.xml 603
MD5 3ba5b8e17279c91e96f44e04427ed3c4 mkl-8.0.1.006.ebuild 5189
+MD5 798b1ad93c2669ea4c7a8512f628e241 mkl-8.0.2.004.ebuild 5189
+MD5 e5a02ea6a5ed73debd76301d903acca5 mkl-8.1.014.ebuild 3637
diff --git a/sci-libs/mkl/files/digest-mkl-8.0.2.004 b/sci-libs/mkl/files/digest-mkl-8.0.2.004
new file mode 100644
index 000000000..f3e55ff13
--- /dev/null
+++ b/sci-libs/mkl/files/digest-mkl-8.0.2.004
@@ -0,0 +1 @@
+MD5 fd76dc20d94950ba9d865c3703b12051 l_mkl_p_8.0.2.004.tgz 94983122
diff --git a/sci-libs/mkl/mkl-8.0.2.004.ebuild b/sci-libs/mkl/mkl-8.0.2.004.ebuild
new file mode 100644
index 000000000..4deca55e2
--- /dev/null
+++ b/sci-libs/mkl/mkl-8.0.2.004.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit fortran rpm flag-o-matic
+
+MYPV=${PV/.004/}
+DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, random number generators."
+HOMEPAGE="http://developer.intel.com/software/products/mkl/"
+SRC_URI="l_${PN}_p_${PV}.tgz"
+RESTRICT="nostrip fetch"
+
+#fortran95 implements a fortran 95 blas/lapack interface
+IUSE="fortran95 examples"
+SLOT="0"
+LICENSE="mkl-8.0.1"
+KEYWORDS="~x86 ~amd64 ~ia64"
+DEPEND="virtual/libc
+ sci-libs/lapack-config
+ sci-libs/blas-config"
+
+PROVIDE="virtual/blas
+ virtual/lapack"
+
+
+S="${WORKDIR}/l_${PN}_p_${PV}"
+INSTDIR=opt/intel/${PN}/${MYPV}
+
+
+pkg_setup() {
+
+ if use fortran95; then
+ FORTRAN="ifc gfortran"
+ fortran_pkg_setup
+ fi
+
+ if [ -z "${INTEL_LICENSE}" -a -z \
+ $(find /opt/intel/licenses -name *mkl*.lic) ]; then
+ eerror "Did not find any valid mkl license."
+ eerror "Please locate your license file and run:"
+ eerror "\t INTEL_LICENSE=/my/license/files emerge ${PN}"
+ eerror "or place your license in /opt/intel/licenses and run emerge ${PN}"
+ einfo
+ einfo "http://www.intel.com/cd/software/products/asmo-na/eng/perflib/mkl/219859.htm"
+ einfo "From the above url you can get a free, non-commercial"
+ einfo "license to use the Intel Math Kernel Libary emailed to you."
+ einfo "You cannot use mkl without this license file."
+ einfo "Read the website for more information on this license."
+ einfo
+ fi
+}
+
+
+# the whole shmol is to extract rpm files non-interactively
+# from the big mkl installation
+# hopefully recyclable for ipp
+src_unpack() {
+
+ ewarn
+ ewarn "Intel ${PN} requires 200Mb of disk space"
+ ewarn "Make sure you have enough space on /var and also in /opt/intel"
+ ewarn
+
+ unpack ${A}
+
+ # fake rpm commands to trick the big install script
+ mkdir -p bin
+ echo "exit 1" > bin/rpm2cpio
+ echo "exit 1" > bin/rpm
+ chmod +x bin/*
+ PATH=".:${PATH}:$PWD/bin"
+
+ cd ${S}/install
+ # answer file to make the big install script non-interactive
+ echo $"
+[${PN}_install]
+EULA_ACCEPT_REJECT=accept
+FLEXLM_LICENSE_LOCATION=${INTEL_LICENSE}
+TEMP_DIR=${WORKDIR}/rpm
+INSTALL_DESTINATION=${S}
+RPM_INSTALLATION=
+" > answers.txt
+
+ einfo "Building rpm file..."
+ ./install \
+ --noroot \
+ --nonrpm \
+ --installpath ${S} \
+ --silent answers.txt &> /dev/null
+
+ [ -z $(find ${WORKDIR} -name "*.rpm") ] \
+ && die "error while extracting the rpm"
+
+ rm -rf ${WORKDIR}/bin ${S}/*
+
+ cd ${S}
+ for x in $(ls ../rpm/*.rpm); do
+ einfo "Extracting $(basename ${x})..."
+ rpm_unpack ${x} || die "rpm_unpack failed"
+ done
+
+ # clean up
+ rm -rf ${WORKDIR}/rpm
+ rm -rf ${S}/${INSTDIR}/tools/environment
+}
+
+src_compile() {
+
+ case ${ARCH} in
+ amd64)
+ IARCH="em64t"
+ IKERN="em64t"
+ ;;
+ ia64)
+ IARCH="64"
+ IKERN="ipf"
+ ;;
+ x86)
+ IARCH="32"
+ IKERN="ia32"
+ ;;
+ esac
+ ILIBDIR=${INSTDIR}/lib/${IARCH}
+ einfo "IARCH=$IARCH IKERN=$IKERN"
+
+ cd ${S}/${INSTDIR}/tools/builder
+ for x in blas cblas lapack; do
+ make ${IKERN} export=${FILESDIR}/${x}.list name=libmkl_${x} \
+ || die "make ${IKERN} failed"
+ done
+
+ if use fortran95; then
+ local fc=${FORTRANC}
+ if [ "${FORTRANC}" = "ifc" ]; then
+ fc=ifort
+ fi
+ for x in blas lapack; do
+ cd ${S}/${INSTDIR}/interfaces/${x}95
+ make lib \
+ PLAT=lnx${IARCH/em64t/32e} \
+ FC=${fc} \
+ INSTALL_DIR=${S}/${ILIBDIR} || die "make lib failed"
+ done
+ fi
+}
+
+src_test() {
+ local fc="gnu"
+ [ "${FORTRANC}" = "ifc" ] && fc="ifort"
+
+ cd ${S}/${INSTDIR}/tests
+ for testdir in *; do
+ einfo "Testing $testdir"
+ cd ${testdir}
+ emake so$IARCH F=${fc} || die "make $testdir failed"
+ done
+}
+
+src_install () {
+ cd ${S}
+
+ # install license
+ if [ -n "${INTEL_LICENSE}" -a -f "${INTEL_LICENSE}" ]; then
+ insinto /opt/intel/licenses
+ doins ${INTEL_LICENSE}
+ fi
+
+ # install documentation and include files
+ insinto /${INSTDIR}
+ doins -r ${INSTDIR}/{doc,include}
+ dodir /usr/include
+ dosym /${INSTDIR}/include /usr/include/${PN}
+ use examples && doins -r ${INSTDIR}/examples
+
+ # install static libraries
+ insinto /${ILIBDIR}
+ doins ${ILIBDIR}/*.a
+ dodir /usr/$(get_libdir)/{blas,lapack}/mkl
+ dosym /${ILIBDIR}/libmkl_${IKERN}.a \
+ /usr/$(get_libdir)/blas/mkl/libmkl_blas.a
+ dosym /${ILIBDIR}/libmkl_lapack.a \
+ /usr/$(get_libdir)/lapack/mkl/libmkl_lapack.a
+
+ # install shared libraries
+ insopts -m0755
+ doins ${ILIBDIR}/*.so
+ insinto /usr/$(get_libdir)/blas/mkl
+ doins ${INSTDIR}/tools/builder/libmkl_{,c}blas.so
+ insinto /usr/$(get_libdir)/lapack/mkl
+ doins ${INSTDIR}/tools/builder/libmkl_lapack.so
+
+ # install tools
+ insopts -m0644
+ insinto /${INSTDIR}
+ rm -f ${INSTDIR}/tools/builder/*.so
+ doins -r ${INSTDIR}/tools
+
+ # install required configuration scripts
+ insinto /usr/$(get_libdir)/blas
+ newins ${FILESDIR}/f77-MKL.blas f77-MKL
+ newins ${FILESDIR}/c-MKL.blas c-MKL
+ insinto /usr/$(get_libdir)/lapack
+ newins ${FILESDIR}/f77-MKL.lapack f77-MKL
+
+ # install environment var
+ echo "LD_LIBRARY_PATH=/${ILIBDIR}" > 35mkl
+ doenvd 35mkl
+}
+
+pkg_postinst() {
+
+ ${DESTTREE}/bin/blas-config MKL
+ ${DESTTREE}/bin/lapack-config MKL
+
+ einfo
+ einfo "MKL ${PV} is not yet available for eselect"
+ einfo "Use blas-config and lapack-config to configure"
+ einfo "blas or lapack with MKL"
+ einfo
+}
diff --git a/sci-libs/mkl/mkl-8.1.014.ebuild b/sci-libs/mkl/mkl-8.1.014.ebuild
index 40909fc2d..f7d8215f5 100644
--- a/sci-libs/mkl/mkl-8.1.014.ebuild
+++ b/sci-libs/mkl/mkl-8.1.014.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-inherit fortran rpm flag-o-matic
+inherit fortran
MYPV=${PV/.014/}
DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, random number generators."
@@ -16,20 +16,36 @@ LICENSE="mkl-8.1"
KEYWORDS="~x86 ~amd64 ~ia64"
DEPEND="virtual/libc"
-intel_arch() {
+get_intel_arch() {
+ local lib
+ local del
case ${ARCH} in
- amd64) echo "em64t" ;;
- ia64) echo "64" ;;
- x86) echo "32" ;;
+ amd64) lib=em64t del="32 64" ;;
+ ia64) lib=64 del="32 em64t" ;;
+ x86) lib=32 del="64 em64t" ;;
esac
+ [ ${1} = "lib" ] && echo "${lib}"
+ [ ${1} = "del" ] && echo "${del}"
}
-MKL_LIB_DIR=lib/$(intel_arch)
+get_intel_fortran() {
+ if [ "${FORTRANC}" = "ifc" ]; then
+ echo ifort
+ else
+ echo g77
+ fi
+}
+
+get_intel_c() {
+ echo gnu
+}
+
+MKL_LIB_DIR=lib/$(get_intel_arch lib)
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 "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"
ewarn "This version is only available through http://premier.intel.com"
@@ -41,7 +57,9 @@ pkg_setup() {
FORTRAN="ifc gfortran"
fortran_pkg_setup
fi
-
+ if has test ${FEATURES}; then
+ FORTRAN="${FORTRAN} g77"
+ fi
if [ -z "${INTEL_LICENSE}" ] &&
[ -z "$(find /opt/intel/licenses -name *mkl*.lic)" ]; then
eerror "Did not find any valid mkl license."
@@ -80,28 +98,24 @@ INSTALL_DESTINATION=${S}" > answers.txt
--nonrpm \
--installpath ${S} \
--silent answers.txt &> /dev/null
-
- [ -z $(find ${WORKDIR} -name "*.rpm") ] \
+
+ [ -z $(find ${WORKDIR} -name "libvml.so") ] \
&& die "extracting the rpm failed"
- # clean up
cd ${WORKDIR}
rm -rf l_${PN}_p_${PV} tmp
- rm -rf `ls ${S}/lib/* | grep -v $(intel_arch)`
+ for d in $(get_intel_arch del); do
+ rm -rf ${S}/lib/${d}
+ done
}
src_compile() {
- local arch=$(intel_arch)
if use fortran95; then
- local fc=${FORTRANC}
- if [ "${FORTRANC}" = "ifc" ]; then
- fc=ifort
- fi
for x in blas95 lapack95; do
cd ${S}/interfaces/${x}
- make lib \
+ emake lib \
PLAT=lnx${myplat/em64t/32e}
- FC=${fc} \
+ FC=$(intel_fortran) \
INSTALL_DIR=${MKL_LIB_DIR} \
|| die "make ${x} failed"
done
@@ -110,8 +124,8 @@ src_compile() {
if use fftw; then
for x in fftw2xc fftw2xf fftw3xc; do
cd ${S}/interfaces/${x}
- make lib${arch} \
- F=gnu \
+ emake lib$(get_intel_arch lib) \
+ F=$(get_intel_c) \
|| die "make ${x} failed"
done
@@ -119,21 +133,20 @@ src_compile() {
}
src_test() {
- local fc="gnu"
- [ "${FORTRANC}" = "ifc" ] && fc="ifort"
-
- cd ${S}/tests
- for testdir in *; do
+ for testdir in ${S}/tests/*; do
einfo "Testing $testdir"
cd ${testdir}
- emake so$(intel_arch) F=${fc} || die "make ${testdir} failed"
+ emake so$(get_intel_arch lib) \
+ FC=$(get_intel_fortran) \
+ F=$(get_intel_c) \
+ || die "make ${testdir} failed"
done
}
src_install () {
MKL_DIR=/opt/intel/${PN}/${MYPV}
dodir ${MKL_DIR}
- cp -aurL doc include lib "${D}"/${MKL_DIR}
+ cp -pPR doc include lib "${D}"/${MKL_DIR}
if use examples; then
insinto ${MKL_DIR}
doins -r examples
@@ -142,3 +155,4 @@ src_install () {
echo "LD_LIBRARY_PATH=${MKL_DIR}/${MKL_LIB_DIR}" >> 35mkl
doenvd 35mkl
}
+