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
 }

Reply via email to