mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-08 00:05:33 +03:00
sci-libs/mkl: Bump to 2025.3.0.461
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
parent
3cd3cdafb2
commit
78db7e9ea9
@ -1,3 +1,6 @@
|
||||
DIST intel-oneapi-mkl-classic-include-2025.2-2025.2.0-628_amd64.deb 663484 BLAKE2B 8180b1e04ae2547a264719da8622790c3c9a6b07e33d230b972a96b2d65a52c1629a1e24ff2a0ca1aa1215f923b448cee332027c41012e8d012919652497d028 SHA512 c574675d693748f35ee18809593c24975a61ff6056838aa40409e14ec87862d32ea1037ed43ac8fe4bfb0495fe91b8341edff3427313bc8eeb1e7af31f520948
|
||||
DIST intel-oneapi-mkl-classic-include-2025.3-2025.3.0-461_amd64.deb 662600 BLAKE2B a3ef4f096561f829c7a8e877c61020ed19772867ea02d4752f5731327ca35c9c43c5d4f7b525f3f7b8eb23c78c51141c6dc87413a3ad3bb005ce3aca323fa112 SHA512 b246b5829e2804a5c61853a198935e625afd1fbbcf7a4135e867c225f0102df28ea99291d35c9dc75a93b5e17d1e1a8c2c8bc7b4e059742341ff9746347be09c
|
||||
DIST intel-oneapi-mkl-core-2025.2-2025.2.0-628_amd64.deb 107930602 BLAKE2B 3298af6b01a0c424e87ff628f658da5d62f6dc875e71f60e370dcfca26d6c867ce0aaab614543d3cd884c7562d121c301a5bc939ecd780532c69d62e8e014727 SHA512 08ad67aa52033615074b1da9e34ce710647f105d64de6b895d6e8e13dd6fe5765698249f5b59511141bfee253f4862e68bd01a23a41b7078f12c694886d6f569
|
||||
DIST intel-oneapi-mkl-core-2025.3-2025.3.0-461_amd64.deb 110250458 BLAKE2B fd80ca6c6432087fab96ee50a0a2dd3eeb5fa4441a56a172e5efdcca7ad3a480ff4f5fe6b0c627b5134de273a6504eaaf61054892fce4c78dbdd119470cf5fd8 SHA512 a343b9e8055f7fe3c09c6cab1df9300242e56e56396f519a5b3bfb7bc95e31be0243b2cf0a7e165c603569e7fe841955d1282607609043690ea4570baed41786
|
||||
DIST intel-oneapi-mkl-core-devel-2025.2-2025.2.0-628_amd64.deb 102285358 BLAKE2B 967880aa0e5f58b3dbad12d8b2d926e08048b74847b14dfcea77e0fb1c0cc34b43fd0150303f1f7f505570973fab63f3715b0b29b60f3160848b5020624c6adb SHA512 074faae8f99e0c7b9b7c5a0a35fe2e9ccbee6c2606971d77c77a7f8c72cd69c1cd50d7b7076016651842be8246d9b1a6e32b871b279d67f44941745c1b75c1ad
|
||||
DIST intel-oneapi-mkl-core-devel-2025.3-2025.3.0-461_amd64.deb 106333914 BLAKE2B c10c0c5e9bf7a39ef745ec0bc952e291d295878b7a590a99ed7816a3802b48e05a8f126e9049350929ef56074be43c1648942f4ea92f8730138f95f2267de713 SHA512 bd56d7f03d5dc1d9b2aa0dc94b6d9c093bb60f99bf2351d48d18db8d311162a22fa9178d48b73394809cd629f57bcb14f718ed5fd4e19a7f7d021f4866a04964
|
||||
|
||||
170
sci-libs/mkl/mkl-2025.3.0.461.ebuild
Normal file
170
sci-libs/mkl/mkl-2025.3.0.461.ebuild
Normal file
@ -0,0 +1,170 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit unpacker
|
||||
|
||||
PN_VER=$(ver_cut 1-2)
|
||||
MY_PV=$(ver_cut 1-3)-$(ver_cut 4)
|
||||
DESCRIPTION="Intel Math Kernel Library"
|
||||
HOMEPAGE="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html"
|
||||
# Upstream packages are a mess -- and most of them are literally empty.
|
||||
SRC_URI="
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-${PN_VER}-${MY_PV}_amd64.deb
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-core-devel-${PN_VER}-${MY_PV}_amd64.deb
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-classic-include-${PN_VER}-${MY_PV}_amd64.deb
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="ISSL"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="eselect-ldso examples gnu-openmp llvm-openmp static-libs tbb"
|
||||
RESTRICT="strip"
|
||||
|
||||
RDEPEND="
|
||||
eselect-ldso? (
|
||||
app-eselect/eselect-blas
|
||||
app-eselect/eselect-lapack
|
||||
)
|
||||
gnu-openmp? ( sys-devel/gcc:*[openmp] )
|
||||
llvm-openmp? ( llvm-runtimes/openmp )
|
||||
tbb? ( dev-cpp/tbb )
|
||||
"
|
||||
# bug #801460
|
||||
BDEPEND="
|
||||
app-arch/xz-utils[extra-filters(+)]
|
||||
eselect-ldso? (
|
||||
app-eselect/eselect-blas
|
||||
app-eselect/eselect-lapack
|
||||
)
|
||||
"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
QA_TEXTRELS="*"
|
||||
QA_SONAME="*"
|
||||
|
||||
src_install() {
|
||||
local libdir=$(get_libdir)
|
||||
local libroot=opt/intel/oneapi/mkl/${PN_VER}/lib
|
||||
|
||||
if ! use static-libs; then
|
||||
rm -v "${libroot}"/{*.a,pkgconfig/*-static-*.pc} || die
|
||||
fi
|
||||
if ! use examples; then
|
||||
rm -rv "opt/intel/oneapi/mkl/${PN_VER}"/share/{mkl/benchmarks,doc/mkl/examples} || die
|
||||
fi
|
||||
if ! use gnu-openmp; then
|
||||
rm -v "${libroot}"/{*_gnu_thread.*,pkgconfig/*-gomp.pc} || die
|
||||
fi
|
||||
if use llvm-openmp; then
|
||||
# Replace Intel OpenMP with LLVM OpenMP. We could just install
|
||||
# "openmp.pc" for that, but we don't want random packages
|
||||
# to start depending on it.
|
||||
sed -e '/Requires: openmp/d' \
|
||||
-e '/Libs:/s:$: -lomp:' \
|
||||
-i "${libroot}"/pkgconfig/*iomp.pc || die
|
||||
# Install a "libiomp5.so" symlink to make the magical lookup
|
||||
# in mkl_rt.so happy too.
|
||||
ln -s "../../../../../../usr/$(get_libdir)/libomp.so" \
|
||||
"${libroot}"/libiomp5.so || die
|
||||
else
|
||||
rm -v "${libroot}"/{*_intel_thread.*,pkgconfig/*-iomp.pc} || die
|
||||
fi
|
||||
if ! use tbb; then
|
||||
rm -v "${libroot}"/{*_tbb_thread.*,pkgconfig/*-tbb.pc} || die
|
||||
fi
|
||||
|
||||
# Symlink pkgconfig and cmake files
|
||||
pushd "${libroot}/pkgconfig" >/dev/null || die
|
||||
for file in *.pc; do
|
||||
dosym "../../../${libroot}/pkgconfig/${file}" \
|
||||
"/usr/${libdir}/pkgconfig/${file}"
|
||||
done
|
||||
popd >/dev/null || die
|
||||
pushd "${libroot}/cmake/mkl" >/dev/null || die
|
||||
for file in *.cmake; do
|
||||
dosym "../../../../${libroot}/cmake/mkl/${file}" \
|
||||
"/usr/${libdir}/cmake/mkl/${file}"
|
||||
done
|
||||
popd >/dev/null || die
|
||||
|
||||
# Move everything over to the image directory
|
||||
mv "${S}/"* "${ED}" || die
|
||||
|
||||
# Create convenience symlink that does not include the version number
|
||||
dosym "${PN_VER}" /opt/intel/oneapi/mkl/latest
|
||||
|
||||
if use eselect-ldso; then
|
||||
local lib=../../../../${libroot}/libmkl_rt.so
|
||||
dodir "/usr/${libdir}"/{blas,lapack}/mkl
|
||||
dosym "${lib}" "/usr/${libdir}/blas/mkl/libblas.so"
|
||||
dosym "${lib}" "/usr/${libdir}/blas/mkl/libblas.so.3"
|
||||
dosym "${lib}" "/usr/${libdir}/blas/mkl/libcblas.so"
|
||||
dosym "${lib}" "/usr/${libdir}/blas/mkl/libcblas.so.3"
|
||||
dosym "${lib}" "/usr/${libdir}/lapack/mkl/liblapack.so"
|
||||
dosym "${lib}" "/usr/${libdir}/lapack/mkl/liblapack.so.3"
|
||||
dosym "${lib}" "/usr/${libdir}/lapack/mkl/liblapacke.so"
|
||||
dosym "${lib}" "/usr/${libdir}/lapack/mkl/liblapacke.so.3"
|
||||
fi
|
||||
|
||||
# https://www.intel.com/content/www/us/en/docs/onemkl/developer-guide-linux/2025-1/dynamic-select-the-interface-and-threading-layer.html
|
||||
local default_threading_layer
|
||||
if use llvm-openmp; then
|
||||
default_threading_layer=INTEL
|
||||
elif use gnu-openmp; then
|
||||
default_threading_layer=GNU
|
||||
elif use tbb; then
|
||||
default_threading_layer=TBB
|
||||
else
|
||||
default_threading_layer=SEQUENTIAL
|
||||
fi
|
||||
|
||||
newenvd - "70intel-mkl" <<-_EOF_
|
||||
MKLROOT="${EPREFIX}/opt/intel/oneapi/mkl/${PN_VER}"
|
||||
PATH="${EPREFIX}/opt/intel/oneapi/mkl/${PN_VER}/bin"
|
||||
# we need to duplicate it in ROOTPATH for Portage to respect...
|
||||
ROOTPATH="${EPREFIX}/opt/intel/oneapi/mkl/${PN_VER}/bin"
|
||||
LDPATH="${EPREFIX}/opt/intel/oneapi/mkl/${PN_VER}/lib"
|
||||
# respect USE flags for defaults
|
||||
MKL_THREADING_LAYER=${default_threading_layer}
|
||||
_EOF_
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use eselect-ldso || return
|
||||
|
||||
local libdir=$(get_libdir) me="mkl"
|
||||
|
||||
# check blas
|
||||
eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me}
|
||||
local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
|
||||
if [[ ${current_blas} == "${me}" || -z ${current_blas} ]]; then
|
||||
eselect blas set ${libdir} ${me}
|
||||
elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
|
||||
else
|
||||
elog "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
|
||||
elog "To use blas [${me}] implementation, you have to issue (as root):"
|
||||
elog "\t eselect blas set ${libdir} ${me}"
|
||||
fi
|
||||
|
||||
# check lapack
|
||||
eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me}
|
||||
local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2)
|
||||
if [[ ${current_lapack} == "${me}" || -z ${current_lapack} ]]; then
|
||||
eselect lapack set ${libdir} ${me}
|
||||
elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
|
||||
else
|
||||
elog "Current eselect: LAPACK ($libdir) -> [${current_blas}]."
|
||||
elog "To use lapack [${me}] implementation, you have to issue (as root):"
|
||||
elog "\t eselect lapack set ${libdir} ${me}"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use eselect-ldso || return
|
||||
|
||||
eselect blas validate
|
||||
eselect lapack validate
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user