commit: 9906fb415f4a8147e363661d3241881fd919e4c8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 12 17:13:49 2025 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 12 17:14:54 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9906fb41
sci-libs/mkl: Make eselect-ldso optional
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sci-libs/mkl/metadata.xml | 3 +++
sci-libs/mkl/mkl-2025.2.0.628-r1.ebuild | 34 ++++++++++++++++++++-------------
2 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/sci-libs/mkl/metadata.xml b/sci-libs/mkl/metadata.xml
index d4858d4ad359..9a51923ade8c 100644
--- a/sci-libs/mkl/metadata.xml
+++ b/sci-libs/mkl/metadata.xml
@@ -18,6 +18,9 @@
license. Please see license terms and home page for proper use.
</longdescription>
<use>
+ <flag name="eselect-ldso">
+ Enable BLAS/LAPACK runtime switching.
+ </flag>
<flag name="gnu-openmp">
Install versions with GNU OpenMP (libgomp) support.
</flag>
diff --git a/sci-libs/mkl/mkl-2025.2.0.628-r1.ebuild
b/sci-libs/mkl/mkl-2025.2.0.628-r1.ebuild
index 7a2ac73606c2..2b74b6fcf083 100644
--- a/sci-libs/mkl/mkl-2025.2.0.628-r1.ebuild
+++ b/sci-libs/mkl/mkl-2025.2.0.628-r1.ebuild
@@ -20,12 +20,14 @@ S="${WORKDIR}"
LICENSE="ISSL"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="examples gnu-openmp llvm-openmp static-libs tbb"
+IUSE="eselect-ldso examples gnu-openmp llvm-openmp static-libs tbb"
RESTRICT="strip"
RDEPEND="
- app-eselect/eselect-blas
- app-eselect/eselect-lapack
+ 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 )
@@ -92,16 +94,18 @@ src_install() {
# Create convenience symlink that does not include the version number
dosym "${PN_VER}" /opt/intel/oneapi/mkl/latest
- 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"
+ 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
@@ -127,6 +131,8 @@ src_install() {
}
pkg_postinst() {
+ use eselect-ldso || return
+
local libdir=$(get_libdir) me="mkl"
# check blas
@@ -155,6 +161,8 @@ pkg_postinst() {
}
pkg_postrm() {
+ use eselect-ldso || return
+
eselect blas validate
eselect lapack validate
}