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
