From 9452a6e87b6c2c70513bc47a2470bf9f1168920e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 13 Jun 2020 10:39:22 +0100 Subject: gentoo resync : 13.06.2020 --- sci-libs/mkl/Manifest | 4 +- sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch | 4 +- sci-libs/mkl/files/mkl-10.0.2.018-tests.patch | 21 -- sci-libs/mkl/mkl-10.0.5.025.ebuild | 367 ------------------------ 4 files changed, 3 insertions(+), 393 deletions(-) delete mode 100644 sci-libs/mkl/files/mkl-10.0.2.018-tests.patch delete mode 100644 sci-libs/mkl/mkl-10.0.5.025.ebuild (limited to 'sci-libs/mkl') diff --git a/sci-libs/mkl/Manifest b/sci-libs/mkl/Manifest index 18b63ca9034f..96cd5d09d210 100644 --- a/sci-libs/mkl/Manifest +++ b/sci-libs/mkl/Manifest @@ -1,6 +1,4 @@ -AUX mkl-10.0.2.018-openmpi.patch 332 BLAKE2B d438bc03fa7f4750ac32423075f960c8bff90230fe303932deecf96a7fe3023fafc59e90cd187711f972d6a3020c87b925fd16868532a0367540ce9a85d2a1f9 SHA512 5efb139622a6f0e8f03c5a76a12298685a9dfe9e816b8eaabd2874fda6c0d468a111a46df8e6885cd62a40ec611c322a99762a805dc74a4c684c85fdf222b530 -AUX mkl-10.0.2.018-tests.patch 528 BLAKE2B 483a6ccc83c04594e265680078e6515f0d3a601dad5c02d8140e800dc79635a8851a42cbad3d972f115e040d02b2a6414c8a4c01bc05490fcaf1f12350144c4f SHA512 6dd716f5d6764cd79c6de22703729d77be71f35e5f600a11f01ccff06c87309471ac5289e68ef40ae830d5917cbd20d4b2b9f1b5554384977f1b83c4b3556382 +AUX mkl-10.0.2.018-openmpi.patch 331 BLAKE2B 2472d459c1e3e90f6efaa1bf0941a02f2c71b24712be71fbc6be23dd53743468b8af88df49e49510344aff7b7f334940bfd5574f146eb5c82dc79a2bb0920f34 SHA512 b097815a369e8d743e77fd45ff52ad1cbe5f6d608e4bbe43d9c2cb54301c0d76960b7ce314bdbd5cd06c51e32332c9275360fe811b93df712710e359a4afab60 DIST l_mkl_p_10.0.5.025.tgz 230389719 BLAKE2B 622dd0076c8e6d747f170685b6a378db95aa2453d15a53c93ef863729bb8dc76409d7bf72f8bab8ef9a07d8efe1e448cb9e7fc8e6f0c0b2cbbf0a0f6944e2a86 SHA512 621c3bfdecb57313e375424e391c0630a29efd70196e3e4bfc5b4ddd03aa45fda4761523652d875f2e60d466a0010c06659306b11f20966fba4943c308fa6f84 EBUILD mkl-10.0.5.025-r1.ebuild 9829 BLAKE2B ac549f14e7c68b899a05369cc1c52670de2fabe5c07cb9def15f040e57b16eb1471a738c6db1d4133b06b38e59826bd62b494c289afda17e19cb79c923a7486d SHA512 2e09cf66221de13e9331ec0935944a878cb4de36fa36c580abd883ee7aff0d194b705935bb6e1e86b8e9d6ba3f86590e6048bbd1b0127a624e63fca1f944668b -EBUILD mkl-10.0.5.025.ebuild 9958 BLAKE2B 266471c412fb94d3afa16c70c3354f801217bf1e13c63c91ba2a6a09ff6df563e48ec0e611ef7198f3fd807744197dafdacc7acbedd23da881efd6bcb0389d72 SHA512 cc58f9d6099a6abefa15ec0f83c2665001ea9897a6650e816cc214017a62fab863218803a697e50176e1eeb6e9b7ea8828b25308fed27d1c6e04adfd97a0f5ce MISC metadata.xml 882 BLAKE2B 420f779849ebf2b4191156df6328233e0d474fe7ed1ced6505cfa3136b780a4029eb7f7df52a357287376252704d7215c98f2562689061e4fe5d1b420f2fcb22 SHA512 9909f91bb7389c3bcecc25935f7d7fc03c4b91c26990a188e3597be0818d94aec644f7cc9786cf673321c1136738e4738ae775019ab423019450e49725788be8 diff --git a/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch b/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch index 6f7f9edebb0f..0519b5fdebdb 100644 --- a/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch +++ b/sci-libs/mkl/files/mkl-10.0.2.018-openmpi.patch @@ -1,5 +1,5 @@ ---- interfaces/fftw2x_cdft/makefile.orig 2008-03-11 23:26:26.287984332 +0000 -+++ interfaces/fftw2x_cdft/makefile 2008-03-13 10:56:44.755095617 +0000 +--- a/interfaces/fftw2x_cdft/makefile 2008-03-11 23:26:26.287984332 +0000 ++++ b/interfaces/fftw2x_cdft/makefile 2008-03-13 10:56:44.755095617 +0000 @@ -172,6 +172,15 @@ endif diff --git a/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch b/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch deleted file mode 100644 index 975170f7dbc0..000000000000 --- a/sci-libs/mkl/files/mkl-10.0.2.018-tests.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- tests/scalapack/make.inc.orig 2008-03-13 22:36:06.119890888 +0000 -+++ tests/scalapack/make.inc 2008-03-13 22:54:58.201781899 +0000 -@@ -59,6 +59,9 @@ - IFACE_PART = _ilp64 - COPTS = -DMKL_ILP64 - FOPTS = -i8 -+ifeq ($(compiler),gnu) -+FOPTS = -fdefault-integer-8 -+endif - else - ADD_IFACE = _lp64 - IFACE_PART = _lp64 -@@ -203,7 +206,7 @@ - # Compiler flags - F77FLAGS=-w -u $(OPTS) - ifeq ($(comp),gnu) --F77FLAGS=$(OPTS) -ff90 -fno-globals -Wno-globals -+F77FLAGS=$(OPTS) - endif - # Remove objects variable - RMOBJ=rm -f *.o core work.pc* diff --git a/sci-libs/mkl/mkl-10.0.5.025.ebuild b/sci-libs/mkl/mkl-10.0.5.025.ebuild deleted file mode 100644 index d731a62613d5..000000000000 --- a/sci-libs/mkl/mkl-10.0.5.025.ebuild +++ /dev/null @@ -1,367 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit check-reqs eutils fortran-2 multilib toolchain-funcs - -PID=1232 -PB=${PN} -P_ARCHIVE=l_${PN}_p_${PV} - -DESCRIPTION="Intel(R) Math Kernel Library: linear algebra, fft, math functions" -HOMEPAGE="https://software.intel.com/en-us/mkl" -SRC_URI="http://registrationcenter-download.intel.com/irc_nas/${PID}/${P_ARCHIVE}.tgz" - -SLOT="0" -LICENSE="Intel-SDP" -KEYWORDS="-* amd64 ~ia64 x86" -IUSE="doc fftw fortran95 int64 mpi" - -RESTRICT="bindist strip mirror" - -DEPEND=" - app-eselect/eselect-blas - app-eselect/eselect-cblas - app-eselect/eselect-lapack" -RDEPEND="${DEPEND} - doc? ( app-doc/blas-docs app-doc/lapack-docs ) - mpi? ( virtual/mpi )" - -MKL_DIR=/opt/intel/${PN}/${PV} -INTEL_LIC_DIR=/opt/intel/licenses - -CHECKREQS_DISK_BUILD=3500M - -QA_PREBUILT="opt/intel/${PN}/${PV}/*" - -get_fcomp() { - case $(tc-getFC) in - *gfortran* ) - FCOMP="gfortran" ;; - ifort ) - FCOMP="ifc" ;; - * ) - FCOMP=$(tc-getFC) ;; - esac -} - -pkg_setup() { - check-reqs_pkg_setup - fortran-2_pkg_setup - # Check the license - if [[ -z ${MKL_LICENSE} ]]; then - MKL_LICENSE="$(grep -ls MKern ${ROOT}${INTEL_LIC_DIR}/* | tail -n 1)" - MKL_LICENSE=${MKL_LICENSE/${ROOT}/} - fi - if [[ -z ${MKL_LICENSE} ]]; then - eerror "Did not find any valid mkl license." - eerror "Register at ${HOMEPAGE} to receive a license" - eerror "and place it in ${INTEL_LIC_DIR} or run:" - eerror "export MKL_LICENSE=/my/license/file emerge mkl" - die "license setup failed" - fi - - # Check if we have enough free diskspace to install - CHECKREQS_DISK_BUILD="1100M" - check-reqs_pkg_setup - - # Check and setup fortran - if use fortran95; then - # blas95 and lapack95 don't compile with gfortran < 4.2 - [[ $(tc-getFC) =~ (gfortran|g77) ]] && [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]] && - die "blas95 and lapack95 don't compile with gfortran < 4.2" - fi - MKL_FC="gnu" - [[ $(tc-getFC) =~ if ]] && MKL_FC="intel" - - # build profiles according to what compiler is installed - MKL_CC="gnu" - [[ $(tc-getCC) == icc ]] && MKL_CC="intel" - - if has_version sys-cluster/mpich; then - MKL_MPI=mpich - elif has_version sys-cluster/mpich2; then - MKL_MPI=mpich2 - elif has_version sys-cluster/openmpi; then - MKL_MPI=openmpi - else - MKL_MPI=intelmpi - fi - get_fcomp -} - -src_unpack() { - default - cd "${WORKDIR}/${P_ARCHIVE}"/install || die - - cp ${MKL_LICENSE} "${WORKDIR}"/ || die - MKL_LIC="$(basename ${MKL_LICENSE})" - - # binary blob extractor installs rpm leftovers in /opt/intel - addwrite /opt/intel - # undocumented features: INSTALLMODE_mkl=NONRPM - - # We need to install mkl non-interactively. - # If things change between versions, first do it interactively: - # tar xf l_*; ./install.sh --duplicate mkl.ini; - # The file will be instman/mkl.ini - # Then check it and modify the ebuild-created one below - # --norpm is required to be able to install 10.x - cat > mkl.ini <<-EOF - [MKL] - EULA_ACCEPT_REJECT=ACCEPT - FLEXLM_LICENSE_LOCATION=${WORKDIR}/${MKL_LIC} - INSTALLMODE_mkl=NONRPM - INSTALL_DESTINATION=${S} - EOF - einfo "Extracting ..." - ./install \ - --silent ./mkl.ini \ - --installpath "${S}" \ - --log log.txt &> /dev/null - - if [[ -z $(find "${S}" -name libmkl.so) ]]; then - eerror "Could not find extracted files" - eerror "See ${PWD}/log.txt to see why" - die "extracting failed" - fi -} - -src_prepare() { - # remove left over - rm -f /opt/intel/.*mkl*.log /opt/intel/intel_sdp_products.db || die - - # remove unused stuff and set up intel names - rm -rf "${WORKDIR}"/l_* || die - - # allow openmpi to work - epatch "${FILESDIR}"/${PN}-10.0.2.018-openmpi.patch - # make scalapack tests work for gfortran - #epatch "${FILESDIR}"/${PN}-10.0.2.018-tests.patch - case ${ARCH} in - x86) MKL_ARCH=32 - MKL_KERN=ia32 - rm -rf lib*/{em64t,64} || die - ;; - - amd64) MKL_ARCH=em64t - MKL_KERN=em64t - rm -rf lib*/{32,64} || die - ;; - - ia64) MKL_ARCH=64 - MKL_KERN=ipf - rm -rf lib*/{32,em64t} || die - ;; - esac - MKL_LIBDIR=${MKL_DIR}/lib/${MKL_ARCH} - # fix env scripts - sed -i \ - -e "s:${S}:${MKL_DIR}:g" \ - tools/environment/*sh || die "sed support file failed" -} - -src_compile() { - cd "${S}"/interfaces || die - if use fortran95; then - einfo "Compiling fortan95 static lib wrappers" - local myconf="lib${MKL_ARCH}" - [[ $(tc-getFC) =~ gfortran ]] && \ - myconf="${myconf} FC=gfortran" - if use int64; then - myconf="${myconf} interface=ilp64" - [[ $(tc-getFC) =~ gfortran ]] && \ - myconf="${myconf} FOPTS=-fdefault-integer-8" - fi - local x - for x in blas95 lapack95; do - pushd ${x} > /dev/null || die - emake ${myconf} - popd > /dev/null || die - done - fi - - if use fftw; then - local fftwdirs="fftw2xc fftw2xf fftw3xc fftw3xf" - local myconf="lib${MKL_ARCH} compiler=${MKL_CC}" - if use mpi; then - fftwdirs="${fftwdirs} fftw2x_cdft" - myconf="${myconf} mpi=${MKL_MPI}" - fi - einfo "Compiling fftw static lib wrappers" - local x - for x in ${fftwdirs}; do - pushd ${x} > /dev/null || die - emake ${myconf} - popd > /dev/null || die - done - fi -} - -src_test() { - cd "${S}"/tests - local myconf - local testdirs="blas cblas" - use int64 && myconf="${myconf} interface=ilp64" - # buggy with g77 and gfortran - #if use mpi; then - # testdirs="${testdirs} scalapack" - # myconf="${myconf} mpi=${MKL_MPI}" - #fi - for x in ${testdirs}; do - pushd ${x} - einfo "Testing ${x}" - emake \ - compiler=${MKL_FC} \ - ${myconf} \ - so${MKL_ARCH} - popd - done -} - -mkl_make_generic_profile() { - cd "${S}" || die - # produce eselect files - # don't make them in FILESDIR, it changes every major version - cat > eselect.blas <<-EOF - ${MKL_LIBDIR}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/libblas.a - ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libblas.so - ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libblas.so.0 - EOF - cat > eselect.cblas <<-EOF - ${MKL_LIBDIR}/libmkl_${MKL_KERN}.a /usr/@LIBDIR@/libcblas.a - ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libcblas.so - ${MKL_LIBDIR}/libmkl.so /usr/@LIBDIR@/libcblas.so.0 - ${MKL_DIR}/include/mkl_cblas.h /usr/include/cblas.h - EOF - cat > eselect.lapack <<-EOF - ${MKL_LIBDIR}/libmkl_lapack.a /usr/@LIBDIR@/liblapack.a - ${MKL_LIBDIR}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so - ${MKL_LIBDIR}/libmkl_lapack.so /usr/@LIBDIR@/liblapack.so.0 - EOF -} - -# usage: mkl_add_profile -mkl_add_profile() { - cd "${S}" || die - local prof=${1} - local x - for x in blas cblas lapack; do - cat > ${x}-${prof}.pc <<-EOF - prefix=${MKL_DIR} - libdir=${MKL_LIBDIR} - includedir=\${prefix}/include - Name: ${x} - Description: Intel(R) Math Kernel Library implementation of ${x} - Version: ${PV} - URL: ${HOMEPAGE} - EOF - done - cat >> blas-${prof}.pc <<-EOF - Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread - EOF - cat >> cblas-${prof}.pc <<-EOF - Requires: blas - Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core ${4} -lpthread - Cflags: -I\${includedir} - EOF - cat >> lapack-${prof}.pc <<-EOF - Requires: blas - Libs: -Wl,--no-as-needed -L\${libdir} ${2} ${3} -lmkl_core -lmkl_lapack ${4} -lpthread - EOF - insinto ${MKL_LIBDIR} - for x in blas cblas lapack; do - doins ${x}-${prof}.pc - cp eselect.${x} eselect.${x}.${prof} || die - echo "${MKL_LIBDIR}/${x}-${prof}.pc /usr/@LIBDIR@/pkgconfig/${x}.pc" \ - >> eselect.${x}.${prof} - eselect ${x} add $(get_libdir) eselect.${x}.${prof} ${prof} - done -} - -mkl_make_profiles() { - local clib="gf" - has_version 'dev-lang/ifc' && clib+=" intel" - local slib="-lmkl_sequential" - local rlib="-liomp5" - local pbase=${PN} - local c - for c in ${clib}; do - local ilib="-lmkl_${c}_lp64" - use x86 && ilib="-lmkl_${c}" - local tlib="-lmkl_${c/gf/gnu}_thread" - local comp="${c/gf/gfortran}" - comp="${comp/intel/ifort}" - mkl_add_profile ${pbase}-${comp} ${ilib} ${slib} - mkl_add_profile ${pbase}-${comp}-threads ${ilib} ${tlib} ${rlib} - if use int64; then - ilib="-lmkl_${c}_ilp64" - mkl_add_profile ${pbase}-${comp}-int64 ${ilib} ${slib} - mkl_add_profile ${pbase}-${comp}-threads-int64 ${ilib} ${tlib} ${rlib} - fi - done -} - -src_install() { - dodir ${MKL_DIR} - - # install license - if [[ ! -f ${INTEL_LIC_DIR}/${MKL_LIC} ]]; then - insinto ${INTEL_LIC_DIR} - doins "${WORKDIR}"/${MKL_LIC} - fi - - # install main stuff: cp faster than doins - einfo "Installing files..." - local cpdirs="benchmarks doc examples include interfaces lib man tests" - local doinsdirs="tools" - cp -pPR ${cpdirs} "${D}"${MKL_DIR} \ - || die "installing mkl failed" - insinto ${MKL_DIR} - doins -r ${doinsdirs} - dosym mkl_cblas.h ${MKL_DIR}/include/cblas.h - - # install blas/lapack profiles - mkl_make_generic_profile - mkl_make_profiles - - # install env variables - cat > 35mkl <<-EOF - MKLROOT=${MKL_DIR} - LDPATH=${MKL_LIBDIR} - MANPATH=${MKL_DIR}/man - EOF - doenvd 35mkl -} - -pkg_postinst() { - # if blas profile is mkl, set lapack and cblas profiles as mkl - local blas_prof=$(eselect blas show | cut -d' ' -f2) - local def_prof="mkl-gfortran-threads" - has_version 'dev-lang/ifc' && def_prof="mkl-ifort-threads" - use int64 && def_prof="${def_prof}-int64" - for x in blas cblas lapack; do - local cur_prof=$(eselect ${x} show | cut -d' ' -f2) - if [[ -z ${cur_prof} || ${cur_prof} == ${def_prof} ]]; then - # work around eselect bug #189942 - local configfile="${ROOT}"/etc/env.d/${x}/$(get_libdir)/config - [[ -e ${configfile} ]] && rm -f ${configfile} - eselect ${x} set ${def_prof} - elog "${x} has been eselected to ${def_prof}" - else - elog "Current eselected ${x} is ${current_lib}" - elog "To use one of mkl profiles, issue (as root):" - elog "\t eselect ${x} set " - fi - if [[ ${blas_prof} == mkl* && ${cur_prof} != ${blas_prof} ]]; then - eselect blas set ${def_prof} - elog "${x} is now set to ${def_prof} for consistency" - fi - done - if [[ $(gcc-major-version)$(gcc-minor-version) -lt 42 ]]; then - elog "Multi-threading OpenMP for GNU compilers only available" - elog "with gcc >= 4.2. Make sure you have a compatible version" - elog "and select it with gcc-config before selecting gnu profiles" - fi -} -- cgit v1.2.3