commit:     06acda4893972f9c2979a60fb773e52c685e8034
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 15 18:10:34 2014 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Tue Sep 16 07:53:42 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=06acda48

sci-libs/mkl: Version Bump

Package-Manager: portage-2.2.12

---
 sci-libs/mkl/ChangeLog             |   5 ++
 sci-libs/mkl/mkl-11.2.0.090.ebuild | 141 +++++++++++++++++++++++++++++++++++++
 2 files changed, 146 insertions(+)

diff --git a/sci-libs/mkl/ChangeLog b/sci-libs/mkl/ChangeLog
index 839e6eb..c3073a9 100644
--- a/sci-libs/mkl/ChangeLog
+++ b/sci-libs/mkl/ChangeLog
@@ -2,6 +2,11 @@
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*mkl-11.2.0.090 (15 Sep 2014)
+
+  15 Sep 2014; Justin Lecher <j...@gentoo.org> +mkl-11.2.0.090.ebuild:
+  Version Bump
+
 *mkl-11.1.3.174 (02 Jun 2014)
 
   02 Jun 2014; Justin Lecher <j...@gentoo.org> +mkl-11.1.3.174.ebuild:

diff --git a/sci-libs/mkl/mkl-11.2.0.090.ebuild 
b/sci-libs/mkl/mkl-11.2.0.090.ebuild
new file mode 100644
index 0000000..a8298e4
--- /dev/null
+++ b/sci-libs/mkl/mkl-11.2.0.090.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+INTEL_DPN=parallel_studio_xe
+INTEL_DID=4584
+INTEL_DPV=2015
+INTEL_SUBDIR=composerxe
+INTEL_SINGLE_ARCH=false
+
+inherit intel-sdp multilib alternatives-2
+
+DESCRIPTION="Intel Math Kernel Library: linear algebra, fft, math functions"
+HOMEPAGE="http://software.intel.com/en-us/articles/intel-mkl/";
+
+IUSE=""
+KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND=""
+RDEPEND=">=dev-libs/intel-common-13"
+
+CHECKREQS_DISK_BUILD=2500M
+
+INTEL_BIN_RPMS="
+       mkl mkl-devel
+       mkl-cluster mkl-cluster-devel
+       mkl-f95-devel
+       mkl-gnu mkl-gnu-devel
+       mkl-pgi mkl-pgi-devel"
+# single arch packages
+#      mkl-mic mkl-mic-devel
+#      mkl-sp2dp mkl-sp2dp-devel
+INTEL_DAT_RPMS="mkl-common mkl-cluster-common mkl-f95-common"
+
+src_prepare() {
+       chmod u+w -R opt
+}
+
+mkl_add_prof() {
+       local pcname=${1} libs cflags x
+       shift
+       [[ ${pcname} = *int64* ]] && cflags=-DMKL_ILP64
+       cat <<-EOF > ${pcname}.pc
+               prefix=${INTEL_SDP_EDIR}/mkl
+               libdir=\${prefix}/lib/${IARCH}
+               libdir_comp=${INTEL_SDP_EDIR}/compiler/lib/${IARCH}
+               includedir=\${prefix}/include
+               Name: ${pcname}
+               Description: ${DESCRIPTION}
+               Version: ${PV}
+               URL: ${HOMEPAGE}
+               Libs: -L\${libdir} -L\${libdir_comp} ${libs}
+               Cflags: -I\${includedir} ${cflags}
+       EOF
+       insinto /usr/$(get_libdir)/pkgconfig
+       doins ${pcname}.pc
+       for x in $*; do
+               alternatives_for ${x} ${pcname/-${x}} 0 \
+                       /usr/$(get_libdir)/pkgconfig/${x}.pc ${pcname}.pc
+       done
+}
+
+# mkl_prof [_ilp64 or _lp64]
+# help: http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
+mkl_prof() {
+       local bits=""
+       if [[ ${IARCH} == intel64 ]]; then
+               bits=_lp64
+               [[ ${1} == int64 ]] && bits=_ilp64
+       fi
+       local gf="-Wl,--start-group -lmkl_gf${bits}"
+       local intel="-Wl,--start-group -lmkl_intel${bits}"
+       local core="-lmkl_core -Wl,--end-group"
+       local prof=mkl${IARCH:((${#IARCH} - 2)):2}
+       [[ ${1} == int64 ]] && prof=${prof}-int64
+       local libs
+
+       libs="${gf} -lmkl_sequential ${core} -lpthread" \
+               mkl_add_prof ${prof}-gfortran blas lapack
+       libs="${intel} -lmkl_sequential ${core} -lpthread" \
+               mkl_add_prof ${prof}-intel blas lapack cblas lapacke
+       libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+               mkl_add_prof ${prof}-gfortran-openmp blas lapack
+       libs="${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+               mkl_add_prof ${prof}-gcc-openmp cblas lapacke
+       libs="${intel} -lmkl_intel_thread ${core} -openmp -lpthread" \
+               mkl_add_prof ${prof}-intel-openmp blas lapack cblas lapacke
+       libs="-lmkl_rt -lpthread" \
+               mkl_add_prof ${prof}-dynamic blas lapack cblas lapacke
+       libs="-lmkl_rt -liomp5 -lpthread" \
+               mkl_add_prof ${prof}-dynamic-openmp blas lapack cblas lapacke
+
+       # blacs and scalapack
+       local scal="-lmkl_scalapack${bits:-_core}"
+       local blacs="-lmkl_blacs_intelmpi${bits}"
+       core="-lmkl_core ${blacs} -Wl,--end-group"
+
+       libs="${gf} -lmkl_sequential ${core} -lpthread" \
+               mkl_add_prof ${prof}-gfortran-blacs blacs
+       libs="${scal} ${gf} -lmkl_sequential ${core} -lpthread" \
+               mkl_add_prof ${prof}-gfortran-scalapack scalapack
+       libs="${intel} -lmkl_sequential ${core} -lpthread" \
+               mkl_add_prof ${prof}-intel-blacs blacs
+       libs="${scal} ${intel} -lmkl_sequential ${core} -lpthread" \
+               mkl_add_prof ${prof}-intel-scalapack scalapack
+       libs="${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+               mkl_add_prof ${prof}-gfortran-openmp-blacs blacs
+       libs="${scal} ${gf} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+               mkl_add_prof ${prof}-gfortran-openmp-scalapack scalapack
+       libs="${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+               mkl_add_prof ${prof}-gcc-openmp-blacs blacs
+       libs="${scal} ${intel} -lmkl_gnu_thread ${core} -fopenmp -lpthread" \
+               mkl_add_prof ${prof}-gcc-openmp-scalapack scalapack
+       libs="${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \
+               mkl_add_prof ${prof}-intel-openmp-blacs blacs
+       libs="${scal} ${intel} -lmkl_intel_thread ${core} -liomp5 -lpthread" \
+               mkl_add_prof ${prof}-intel-openmp-scalapack scalapack
+       libs="-lmkl_rt ${blacs} -lpthread" \
+               mkl_add_prof ${prof}-dynamic-blacs blacs
+       libs="${scal} -lmkl_rt ${blacs} -lpthread" \
+               mkl_add_prof ${prof}-dynamic-scalapack scalapack
+       libs="-lmkl_rt ${blacs} -liomp5 -lpthread" \
+               mkl_add_prof ${prof}-dynamic-openmp-blacs blacs
+       libs="${scal} -lmkl_rt ${blacs} -liomp5 -lpthread" \
+               mkl_add_prof ${prof}-dynamic-openmp-scalapack scalapack
+}
+
+src_install() {
+       intel-sdp_src_install
+       echo -n > 35mkl "LDPATH="
+       for IARCH in ${INTEL_ARCH}; do
+               mkl_prof
+               sed -i -e '/mkl/s/$/:/' 35mkl
+               echo -n >> 35mkl "${INTEL_SDP_EDIR}/mkl/lib/${IARCH}"
+               [[ ${IARCH} == intel64 ]] && mkl_prof int64
+       done
+       echo >> 35mkl
+       doenvd 35mkl
+}

Reply via email to