commit:     d86637311c1d278a3aef50c94d82585940d65ca6
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Mon Sep 30 15:31:54 2024 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue Feb  3 19:31:17 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8663731

dev-cpp/eigen: migrate -*9999 to llvm-r2

Replace USE=clang with USE=clang-cuda to make clear we are using clang to
compile cuda code.

Bug: https://bugs.gentoo.org/945341
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44994
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-cpp/eigen/eigen-3.4.9999.ebuild         | 26 +++++++++++++++-----------
 dev-cpp/eigen/eigen-9999.ebuild             | 23 ++++++++++++++---------
 dev-cpp/eigen/metadata.xml                  |  1 +
 profiles/arch/amd64/package.use.stable.mask |  4 ++++
 profiles/arch/amd64/x32/package.use.mask    |  4 ++++
 5 files changed, 38 insertions(+), 20 deletions(-)

diff --git a/dev-cpp/eigen/eigen-3.4.9999.ebuild 
b/dev-cpp/eigen/eigen-3.4.9999.ebuild
index 995c8f95ff42..6681a51df077 100644
--- a/dev-cpp/eigen/eigen-3.4.9999.ebuild
+++ b/dev-cpp/eigen/eigen-3.4.9999.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=8
 
+LLVM_COMPAT=( {19..21} )
 FORTRAN_NEEDED="test"
-inherit cmake cuda fortran-2 llvm toolchain-funcs
+inherit cmake cuda fortran-2 llvm-r2 toolchain-funcs
 
 DESCRIPTION="C++ template library for linear algebra"
 HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page";
@@ -80,15 +81,14 @@ IUSE_TEST_BACKENDS=(
        "umfpack"
 )
 
-IUSE="${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack mathjax test 
${IUSE_TEST_BACKENDS[*]}" #zvector
+IUSE="${CPU_FEATURES_MAP[*]%:*} clang-cuda cuda hip debug doc lapack mathjax 
test ${IUSE_TEST_BACKENDS[*]}" #zvector
 
 REQUIRED_USE="
-       test? ( !lapack )
        || ( ${IUSE_TEST_BACKENDS[*]} )
 "
 
 # Tests failing again because of compiler issues; bugs #932646, #943401
-RESTRICT="test !test? ( test )"
+RESTRICT="!test? ( test )"
 
 BDEPEND="
        doc? (
@@ -133,12 +133,13 @@ TEST_BACKENDS="
 DEPEND="
        test? (
                cuda? (
-                       !clang? (
+                       !clang-cuda? (
                                dev-util/nvidia-cuda-toolkit
                        )
-                       clang? (
-                               llvm-core/clang[llvm_targets_NVPTX]
-                               openmp? ( 
llvm-runtimes/openmp[llvm_targets_NVPTX,offload] )
+                       clang-cuda? (
+                               $(llvm_gen_dep '
+                                       
llvm-core/clang:${LLVM_SLOT}[llvm_targets_NVPTX]
+                               ')
                        )
                )
                hip? ( dev-util/hip )
@@ -189,7 +190,7 @@ cuda_set_CUDAHOSTCXX() {
 }
 
 pkg_setup() {
-       use test && use cuda && use clang && llvm_pkg_setup
+       use test && use cuda && use clang-cuda && llvm-r2_pkg_setup
 }
 
 src_unpack() {
@@ -355,7 +356,7 @@ src_configure() {
 
                mycmakeargs+=(
                        -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support 
in unit tests
-                       -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" 
# Use clang instead of nvcc to compile the CUDA tests
+                       -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex 
clang-cuda)")" # Use clang instead of nvcc to compile the CUDA tests
 
                        -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
 
@@ -365,12 +366,15 @@ src_configure() {
 
                if use cuda; then
                        cuda_add_sandbox -w
-                       if use clang; then
+                       if use clang-cuda; then
                                local llvm_prefix
                                llvm_prefix="$(get_llvm_prefix -b)"
                                export CC="${llvm_prefix}/bin/clang"
                                export CXX="${llvm_prefix}/bin/clang++"
                                export 
LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
+                               mycmakeargs+=(
+                                       
-DCUDA_HOST_COMPILER="${llvm_prefix}/bin/clang++"
+                               )
                        else
                                cuda_set_CUDAHOSTCXX
                                mycmakeargs+=(

diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild
index b6aed35f654f..edd189d06099 100644
--- a/dev-cpp/eigen/eigen-9999.ebuild
+++ b/dev-cpp/eigen/eigen-9999.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=8
 
+LLVM_COMPAT=( {19..21} )
 FORTRAN_NEEDED="test"
-inherit cmake cuda fortran-2 llvm toolchain-funcs
+inherit cmake cuda fortran-2 llvm-r2 toolchain-funcs
 
 DESCRIPTION="C++ template library for linear algebra"
 HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page";
@@ -80,7 +81,7 @@ IUSE_TEST_BACKENDS=(
        "umfpack"
 )
 
-IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang cuda hip debug doc lapack 
mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
+IUSE="benchmark ${CPU_FEATURES_MAP[*]%:*} clang-cuda cuda hip debug doc lapack 
mathjax test ${IUSE_TEST_BACKENDS[*]}" #zvector
 
 REQUIRED_USE="
        || ( ${IUSE_TEST_BACKENDS[*]} )
@@ -132,12 +133,13 @@ TEST_BACKENDS="
 DEPEND="
        test? (
                cuda? (
-                       !clang? (
+                       !clang-cuda? (
                                dev-util/nvidia-cuda-toolkit
                        )
-                       clang? (
-                               llvm-core/clang[llvm_targets_NVPTX]
-                               openmp? ( 
llvm-runtimes/openmp[llvm_targets_NVPTX,offload] )
+                       clang-cuda? (
+                               $(llvm_gen_dep '
+                                       
llvm-core/clang:${LLVM_SLOT}[llvm_targets_NVPTX]
+                               ')
                        )
                )
                hip? ( dev-util/hip )
@@ -185,7 +187,7 @@ cuda_set_CUDAHOSTCXX() {
 }
 
 pkg_setup() {
-       use test && use cuda && use clang && llvm_pkg_setup
+       use test && use cuda && use clang-cuda && llvm-r2_pkg_setup
 }
 
 src_unpack() {
@@ -350,7 +352,7 @@ src_configure() {
 
                mycmakeargs+=(
                        -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support 
in unit tests
-                       -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex clang)")" 
# Use clang instead of nvcc to compile the CUDA tests
+                       -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex 
clang-cuda)")" # Use clang instead of nvcc to compile the CUDA tests
 
                        -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
 
@@ -360,12 +362,15 @@ src_configure() {
 
                if use cuda; then
                        cuda_add_sandbox -w
-                       if use clang; then
+                       if use clang-cuda; then
                                local llvm_prefix
                                llvm_prefix="$(get_llvm_prefix -b)"
                                export CC="${llvm_prefix}/bin/clang"
                                export CXX="${llvm_prefix}/bin/clang++"
                                export 
LIBRARY_PATH="${ESYSROOT}/usr/$(get_libdir)"
+                               mycmakeargs+=(
+                                       
-DCUDA_HOST_COMPILER="${llvm_prefix}/bin/clang++"
+                               )
                        else
                                cuda_set_CUDAHOSTCXX
                                mycmakeargs+=(

diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml
index 6a83729afd0b..cd1bde42500f 100644
--- a/dev-cpp/eigen/metadata.xml
+++ b/dev-cpp/eigen/metadata.xml
@@ -19,6 +19,7 @@
        <use>
                <flag name="benchmark">Build benchmark suite</flag>
                <flag name="clang">Use clang for cuda units compilation</flag>
+               <flag name="clang-cuda">Use clang for cuda units 
compilation</flag>
                <flag name="hip">Enable HIP GPU computing support</flag>
                <flag name="adolc">Add test support for Adolc 
(<pkg>sci-libs/adolc</pkg>)</flag>
                <flag name="boost">Add test support for Boost.Multiprecision 
(<pkg>dev-libs/boost</pkg>)</flag>

diff --git a/profiles/arch/amd64/package.use.stable.mask 
b/profiles/arch/amd64/package.use.stable.mask
index 8964f42a3fc8..941ceb0b0ea1 100644
--- a/profiles/arch/amd64/package.use.stable.mask
+++ b/profiles/arch/amd64/package.use.stable.mask
@@ -17,6 +17,10 @@
 
 #--- END OF EXAMPLES ---
 
+# Paul Zander <[email protected]> (2025-12-01)
+# no stable llvm-runtimes/offload
+dev-cpp/eigen clang-cuda
+
 # Sam James <[email protected]> (2025-11-30)
 # sci-libs/blis and sci-libs/mkl do not have stable keywords
 sci-libs/flexiblas blis mkl

diff --git a/profiles/arch/amd64/x32/package.use.mask 
b/profiles/arch/amd64/x32/package.use.mask
index 6a4ec9a5868e..af585be54b36 100644
--- a/profiles/arch/amd64/x32/package.use.mask
+++ b/profiles/arch/amd64/x32/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Paul Zander <[email protected]> (2025-09-11)
+# no llvm-runtimes/offload here
+dev-cpp/eigen clang-cuda
+
 # Paul Zander <[email protected]> (2025-04-04)
 # Requires dev-qt/qtwebengine
 dev-util/nvidia-cuda-toolkit nsight

Reply via email to