summaryrefslogtreecommitdiff
path: root/dev-cpp/eigen
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:24:49 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:24:49 -0500
commita3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (patch)
tree0c52bbae1c242fbc296bd650fcd1167685f81492 /dev-cpp/eigen
parentbfd9c39e4712ebdb442d4ca0673061faed1e70e1 (diff)
downloadbaldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.gz
baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.tar.xz
baldeagleos-repo-a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7.zip
Adding metadata
Diffstat (limited to 'dev-cpp/eigen')
-rw-r--r--dev-cpp/eigen/Manifest6
-rw-r--r--dev-cpp/eigen/eigen-3.4.0-r3.ebuild458
-rw-r--r--dev-cpp/eigen/eigen-3.4.1.ebuild651
-rw-r--r--dev-cpp/eigen/eigen-3.4.9999.ebuild645
-rw-r--r--dev-cpp/eigen/eigen-5.0.1.ebuild665
-rw-r--r--dev-cpp/eigen/eigen-5.0.9999.ebuild665
-rw-r--r--dev-cpp/eigen/eigen-9999.ebuild641
-rw-r--r--dev-cpp/eigen/files/eigen-3.3.9-max-macro.patch17
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch25
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch30
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch108
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch15
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-noansi.patch18
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch195
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch25
-rw-r--r--dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch72
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch136
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch35
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch29
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch29
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch57
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch248
-rw-r--r--dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch61
-rw-r--r--dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch29
-rw-r--r--dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch22
-rw-r--r--dev-cpp/eigen/metadata.xml44
26 files changed, 0 insertions, 4926 deletions
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest
deleted file mode 100644
index e78035ce5e3c..000000000000
--- a/dev-cpp/eigen/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-DIST eigen-3.4.0.tar.bz2 2143091 BLAKE2B a32aac13cbab68cfaaa252d8a406e6a36ecfd1239361412b1f9baa08284a94467479c08ffae10cb847e9916472b46b1c1af4efbf81f957c8200a4379acd42c42 SHA512 cc488eb111e0e248744d2bc4475b345b5fb82361dff226a5b73a33bd0388de8c219cff8cffcf8f476b672fc0e223f339e8c6a1cfb6293840a4a6abf232438a89
-DIST eigen-3.4.1.tar.bz2 2157363 BLAKE2B 382fcebd716d81019c4606974f8db22234ff34c415d465eb5cf9dbab34d4fa9bca7a3ae6ef64a7eca627cdbacb35fdac862005b0a14ec2d851831246f879f374 SHA512 806be7536f811eb77898a9431eac4fe446fbdd41c2a33ebe30e56750920c105e24bc41d8cbb4a5c01ee770ded9c58f06ff37058d17c6e2301bc9021a864bb549
-DIST eigen-3.4.1_p1.patch 1007 BLAKE2B 0a2af4c2cd8fc423535e046919fe7f931e9b718df1ff799ccc451139c084a344988fc8d1277fd1970827051ce1fcae5512222310fea00a9f1a654f3b1cffbec8 SHA512 ec3f6c78c19544f9a4f2c52e069b573eb633d67998acdd7d74e9769102ec9dfdbf68fca1492002ed0ec6b3e9a25637afa9978cfb80dd3e3f9aa0e1a34ac64534
-DIST eigen-3.4.1_p2.patch 1054 BLAKE2B b46683962764a9dd560932e2230177f91e56d9e4b48ce7de79cad5743b59050aafde4f2da1db961adfb5228ac17f477e598cdf23c4150fa254d2640e4fff3a6d SHA512 bdcd4599ccb88f0599aa74fd5a73135dcc5bb9ad0bc2791517473a48f938bb784e62376e829b8b5b3d6f5149bc8874bf77655c1bfe63f86afbc151c2c86d6732
-DIST eigen-5.0.1.tar.bz2 2335713 BLAKE2B a7ccf9fc63b25b0e5ad8940ccf541cf4977a80ded671757ae1965cd0ca480fd11361de8eaf18cae94a74cde68979a76f5a18b47b696cdd6939b6cf30922e5fd4 SHA512 5cb11c7f1945ae7f36c5deb067b8d5a962d2d3cff7d4dbec8a4ee255ee6aae1b7dbe6d5a6dcc6fe77554ef191e4101366bf79cfb34f5cf06a0e4de311afbeaf6
-DIST eigen-lapack_addons-3.4.1.tgz 6215074 BLAKE2B 564c3398de1f4ea249b58957a482cda0b5eb99e5021e1f18abf3b4d2893fed48912bfa8386681fcae03dd933eea91644f7429d47a53684d64462209a6ae76f30 SHA512 5a827d0befb521cb430f0d63f5000e7955359bc637cdb7292d942712e98c0702570a5b650a72fc609bf5b43633661c0e51de7761ae892df6ff0aab667f436edf
diff --git a/dev-cpp/eigen/eigen-3.4.0-r3.ebuild b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild
deleted file mode 100644
index 21f9174b1ab0..000000000000
--- a/dev-cpp/eigen/eigen-3.4.0-r3.ebuild
+++ /dev/null
@@ -1,458 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED="test"
-inherit cmake cuda fortran-2 llvm toolchain-funcs
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
- if [[ ${PV} = 3.4.9999* ]] ; then
- EGIT_BRANCH="3.4"
- fi
-else
- SRC_URI="
- https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
- test? ( lapack? ( https://downloads.tuxfamily.org/${PN}/lapack_addons_3.4.1.tgz -> ${PN}-lapack_addons-3.4.1.tgz ) )
- "
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-fi
-
-LICENSE="MPL-2.0"
-SLOT="3"
-
-# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
-ARM_CPU_FEATURES=(
- neon:NEON
-)
-PPC_CPU_FEATURES=(
- altivec:ALTIVEC
- vsx:VSX
-)
-X86_CPU_FEATURES=(
- avx:AVX
- avx2:AVX2
- avx512f:AVX512
- avx512dq:AVX512DQ
- f16c:FP16C
- fma3:FMA
- popcnt:POPCNT
- sse:SSE
- sse2:SSE2
- sse3:SSE3
- ssse3:SSSE3
- sse4_1:SSE4_1
- sse4_2:SSE4_2
-)
-# MIPS_CPU_FEATURES=(
-# msa:MSA
-# )
-# S390_CPU_FEATURES=(
-# z13:Z13
-# z14:Z14
-# )
-
-CPU_FEATURES_MAP=(
- "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
- "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
- "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
- # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
- # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
-)
-
-IUSE_TEST_BACKENDS=(
- "adolc"
- "boost"
- "cholmod"
- "fftw"
- "klu"
- "opengl"
- "openmp"
- "pastix"
- "sparsehash"
- "spqr"
- "superlu"
- "umfpack"
-)
-
-IUSE="${CPU_FEATURES_MAP[*]%:*} clang 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 )"
-
-BDEPEND="
- doc? (
- app-text/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- mathjax? ( dev-libs/mathjax )
- )
- test? ( virtual/pkgconfig )
-"
-
-# METIS
-# MPREAL
-# dev-libs/mpfr:0
-# dev-libs/gmp:0
-
-TEST_BACKENDS="
- boost? ( dev-libs/boost )
- adolc? ( sci-libs/adolc[sparse] )
- cholmod? ( sci-libs/cholmod:= )
- fftw? ( sci-libs/fftw )
- spqr? ( sci-libs/spqr )
- klu? ( sci-libs/klu )
- opengl? (
- media-libs/freeglut
- media-libs/glew
- media-libs/libglvnd
- )
- pastix? ( sci-libs/pastix[-mpi] )
- sparsehash? (
- amd64? ( dev-cpp/sparsehash )
- arm64? ( dev-cpp/sparsehash )
- ppc64? ( dev-cpp/sparsehash )
- x86? ( dev-cpp/sparsehash )
- )
- superlu? ( sci-libs/superlu )
- umfpack? ( sci-libs/umfpack )
-"
-DEPEND="
- test? (
- cuda? (
- !clang? (
- dev-util/nvidia-cuda-toolkit
- )
- clang? (
- llvm-core/clang[llvm_targets_NVPTX]
- openmp? ( llvm-runtimes/openmp[llvm_targets_NVPTX,offload] )
- )
- )
- hip? ( dev-util/hip )
- lapack? ( virtual/lapacke )
- ${TEST_BACKENDS}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.9-max-macro.patch"
- "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
- "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
- "${FILESDIR}/${PN}-3.4.0-noansi.patch"
- "${FILESDIR}/${PN}-3.4.0-cxxstandard.patch"
- "${FILESDIR}/${PN}-3.4.0-ppc-no-vsx.patch" # bug 936107
-)
-
-# TODO should be in cuda.eclass
-cuda_set_CUDAHOSTCXX() {
- local compiler
- tc-is-gcc && compiler="gcc"
- tc-is-clang && compiler="clang"
- [[ -z "$compiler" ]] && die "no compiler specified"
-
- local package="sys-devel/${compiler}"
- local version="${package}"
- local CUDAHOSTCXX_test
- while
- CUDAHOSTCXX="${CUDAHOSTCXX_test}"
- version=$(best_version "${version}")
- if [[ -z "${version}" ]]; then
- if [[ -z "${CUDAHOSTCXX}" ]]; then
- die "could not find supported version of ${package}"
- fi
- break
- fi
- CUDAHOSTCXX_test="$(
- dirname "$(
- realpath "$(
- which "${compiler}-$(echo "${version}" | grep -oP "(?<=${package}-)[0-9]*")"
- )"
- )"
- )"
- version="<${version}"
- do ! echo "int main(){}" | nvcc "-ccbin ${CUDAHOSTCXX_test}" - -x cu &>/dev/null; done
-
- export CUDAHOSTCXX
-}
-
-pkg_setup() {
- use test && use cuda && use clang && llvm_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- unpack "${P}.tar.bz2"
-
- if use test && use lapack; then
- cd "${S}/lapack" || die
- unpack "${PN}-lapack_addons-3.4.1.tgz"
- fi
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- sed \
- -e "/add_subdirectory(bench\/spbench/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(demos/s/^/#DONOTCOMPILE /g" \
- -i CMakeLists.txt || die
-
- if ! use test; then
- sed \
- -e "/add_subdirectory(test/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(scripts/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(failtest/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(blas/s/^/#DONOTCOMPILE /g" \
- -e "/add_subdirectory(lapack/s/^/#DONOTCOMPILE /g" \
- -i CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS="yes"
- -DBUILD_TESTING="$(usex test)"
-
- -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
- -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
- )
- if use doc || use test; then
- mycmakeargs+=(
- # needs Qt4
- -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
- )
- fi
-
- if use doc; then
- mycmakeargs+=(
- -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
- -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- )
- fi
-
- if use test; then
- mycmakeargs+=(
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DOpenGL_GL_PREFERENCE="GLVND"
- -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
- -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
-
- -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=ON
-
- -DEIGEN_TEST_CXX11=yes
-
- # -DEIGEN_TEST_CUSTOM_CXX_FLAGS= # Additional compiler flags when compiling unit tests.
- # -DEIGEN_TEST_CUSTOM_LINKER_FLAGS= # Additional linker flags when linking unit tests.
- # -DEIGEN_TEST_BUILD_FLAGS= # Options passed to the build command of unit tests
-
- # -DEIGEN_BUILD_BTL=yes # Build benchmark suite
-
- -DEIGEN_TEST_BUILD_DOCUMENTATION="$(usex doc)" # Test building the doxygen documentation
-
- # -DEIGEN_COVERAGE_TESTING=no # Enable/disable gcov
- # -DEIGEN_CTEST_ERROR_EXCEPTION= # Regular expression for build error messages to be filtered out
- # -DEIGEN_DEBUG_ASSERTS=no # Enable advanced debugging of assertions
- # -DEIGEN_NO_ASSERTION_CHECKING=no # Disable checking of assertions using exceptions
- # -DEIGEN_TEST_NO_EXCEPTIONS=no # Disables C++ exceptions
- # -DEIGEN_TEST_NO_EXPLICIT_ALIGNMENT=no # Disable explicit alignment (hence vectorization) in tests/examples
- # -DEIGEN_TEST_NO_EXPLICIT_VECTORIZATION=no # Disable explicit vectorization in tests/examples
-
- # -DEIGEN_DASHBOARD_BUILD_TARGET=buildtests # Target to be built in dashboard mode, default is buildtests
-
- # -DEIGEN_DEFAULT_TO_ROW_MAJOR=no # Use row-major as default matrix storage order
-
- # -DEIGEN_TEST_MATRIX_DIR=yes # Enable testing of realword sparse matrices contained in the specified path
- # -DEIGEN_TEST_MAX_SIZE=320 # Maximal matrix/vector size, default is 320
- # -DEIGEN_SPLIT_LARGE_TESTS=no # Split large tests into smaller executables
- )
-
- use !adolc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Adolc="TRUE" )
- use !boost && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Boost="TRUE" )
- use !cholmod && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_CHOLMOD="TRUE" )
- use !fftw && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_FFTW="TRUE" )
- use !sparsehash && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GoogleHash="TRUE" )
- use !klu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KLU="TRUE" )
- use !opengl && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL="TRUE" )
- use !openmp && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP="TRUE" )
- use !pastix && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_PASTIX="TRUE" )
- use !spqr && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SPQR="TRUE" )
- use !superlu && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU="TRUE" )
- use !umfpack && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_UMFPACK="TRUE" )
-
- if use lapack; then
- mycmakeargs+=(
- -DEIGEN_ENABLE_LAPACK_TESTS=yes
- -DEIGEN_TEST_EXTERNAL_BLAS=yes # Use external BLAS library for testsuite
- -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON
- )
- fi
-
- if use arm; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use arm64; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use ppc || use ppc64; then
- mycmakeargs+=(
- -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
- -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
- )
- fi
-
- if use amd64 || use x86; then
- mycmakeargs+=(
- # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
- # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
- -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
- -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
- -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
- -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
- -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
- -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
- -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
- -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
- -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
- -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
- -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
- )
- fi
-
- if use mips; then
- mycmakeargs+=(
- # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
- )
- fi
-
- if use s390; then
- mycmakeargs+=(
- # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
- # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
- )
- fi
-
- 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_HIP="$(usex hip)" # Add HIP support.
-
- # -DEIGEN_TEST_SYCL=no # Add Sycl support.
- # -DEIGEN_SYCL_TRISYCL=no # Use the triSYCL Sycl implementation (ComputeCPP by default).
- )
-
- if use cuda; then
- cuda_add_sandbox -w
- if use clang; 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)"
- else
- cuda_set_CUDAHOSTCXX
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
- )
- fi
- if [[ "${CUDA_VERBOSE}" == true ]]; then
- mycmakeargs+=(
- -DCUDA_VERBOSE_BUILD=yes
- )
- NVCCFLAGS+=" -v"
- fi
-
- export CUDAFLAGS="${NVCCFLAGS}"
-
- [[ -z "${CUDAARCHS}" ]] && einfo "trying to determine host CUDAARCHS"
- : "${CUDAARCHS:=$(__nvcc_device_query)}"
- export CUDAARCHS
-
- mycmakeargs+=(
- -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
- )
- fi
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- local targets=()
- if use doc; then
- targets+=( doc )
- HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
- fi
- if use test; then
- targets+=( buildtests )
- if ! use lapack; then
- targets+=( blas )
- fi
- # tests generate random data, which
- # obviously fails for some seeds
- export EIGEN_SEED=712808
- fi
-
- if use doc || use test; then
- cmake_src_compile "${targets[@]}"
- fi
-}
-
-src_test() {
- CMAKE_SKIP_TESTS=(
- product_small_32 # 143 (Subprocess aborted)
- product_small_33 # 144 (Subprocess aborted)
-
- eigensolver_selfadjoint_13 # 452 (Subprocess aborted)
-
- cholmod_support_21 # 726 (Subprocess aborted)
- cholmod_support_22 # 727 (Subprocess aborted)
-
- NonLinearOptimization # 930 (Subprocess aborted)
- openglsupport # 990 (Failed)
- levenberg_marquardt # 1020 (Subprocess aborted)
- )
-
- if use cuda ; then
- cuda_add_sandbox -w
-
- CMAKE_SKIP_TESTS+=(
- cxx11_tensor_cast_float16_gpu
- cxx11_tensor_gpu_5
- )
- fi
-
- if use lapack ; then
- CMAKE_SKIP_TESTS+=(
- "^LAPACK-.*$"
- )
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- )
-
- cmake_src_test
-}
diff --git a/dev-cpp/eigen/eigen-3.4.1.ebuild b/dev-cpp/eigen/eigen-3.4.1.ebuild
deleted file mode 100644
index 65f1b42f809f..000000000000
--- a/dev-cpp/eigen/eigen-3.4.1.ebuild
+++ /dev/null
@@ -1,651 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {21..23} )
-LLVM_OPTIONAL="cuda-clang"
-
-PYTHON_COMPAT=( python3_{13..14} )
-
-FORTRAN_NEEDED="no"
-
-LAPACK_ADDONS_PV="3.4.1"
-
-inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
- if [[ ${PV} = *.9999* ]] ; then
- EGIT_BRANCH="$(ver_cut 1-2)"
- fi
-else
- # we backport two patches from the 3.4 branch
- SRC_URI="
- https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
- https://gitlab.com/libeigen/eigen/-/commit/0295f81a835ef69e2bacd9e75ab5782eca398720.patch -> ${P}_p1.patch
- https://gitlab.com/libeigen/eigen/-/commit/28ded8800c26864e537852658428ab44c8399e87.patch -> ${P}_p2.patch
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-fi
-
-SRC_URI+="
- test? (
- lapack? (
- https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz
- -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz
- )
- )
-"
-
-LICENSE="MPL-2.0"
-SLOT="3/$(ver_cut 1-2)"
-
-# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
-ARM_CPU_FEATURES=(
- neon:NEON
-)
-PPC_CPU_FEATURES=(
- altivec:ALTIVEC
- vsx:VSX
-)
-X86_CPU_FEATURES=(
- avx:AVX
- avx2:AVX2
- avx512f:AVX512
- avx512dq:AVX512DQ
- f16c:FP16C
- fma3:FMA
- popcnt:POPCNT
- sse:SSE
- sse2:SSE2
- sse3:SSE3
- ssse3:SSSE3
- sse4_1:SSE4_1
- sse4_2:SSE4_2
-)
-# MIPS_CPU_FEATURES=(
-# msa:MSA
-# )
-# S390_CPU_FEATURES=(
-# z13:Z13
-# z14:Z14
-# )
-
-CPU_FEATURES_MAP=(
- "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
- "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
- "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
- # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
- # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
-)
-
-IUSE_TEST_BACKENDS=(
- "adolc"
- "boost"
- "cholmod"
- "fftw"
- "klu"
- "metis"
- "opengl"
- "pastix"
- "pocketfft"
- "sparsehash"
- "spqr"
- "superlu"
- "umfpack"
-)
-
-IUSE="
- debug
- blas lapack
- ${CPU_FEATURES_MAP[*]%:*}
- cuda cuda-clang hip
- doc mathjax
- openmp
- test ${IUSE_TEST_BACKENDS[*]}
-"
-# zvector
-
-REQUIRED_USE="
- lapack? (
- blas
- )
- test? (
- || ( ${IUSE_TEST_BACKENDS[*]} )
- cuda-clang? (
- !openmp
- ${LLVM_REQUIRED_USE}
- )
- )
-"
-
-# Tests failing again because of compiler issues; bugs #932646, #943401
-RESTRICT="!test? ( test )"
-FORTRAN_DEPEND="virtual/fortran"
-
-BDEPEND="
- doc? (
- app-text/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- mathjax? ( dev-libs/mathjax )
- )
- test? (
- virtual/pkgconfig
- lapack? (
- ${PYTHON_DEPS}
- )
- spqr? (
- cholmod? (
- blas? (
- lapack? (
- ${FORTRAN_DEPEND}
- )
- )
- )
- )
- pastix? ( ${FORTRAN_DEPEND} )
- )
- blas? ( ${FORTRAN_DEPEND} )
- lapack? ( ${FORTRAN_DEPEND} )
-"
-
-TEST_BACKENDS="
- adolc? ( sci-libs/adolc[sparse] )
- boost? ( dev-libs/boost )
- cholmod? ( sci-libs/cholmod:=[cuda?] )
- fftw? ( sci-libs/fftw[openmp?] )
- klu? ( sci-libs/klu:= )
- metis? (
- sci-libs/metis[openmp?]
- sci-libs/pastix[metis]
- )
- opengl? (
- media-libs/freeglut
- media-libs/glew
- media-libs/libglvnd
- )
- pastix? (
- sci-libs/pastix[-mpi]
- || (
- sci-libs/pastix[scotch]
- sci-libs/pastix[metis]
- )
- )
- pocketfft? ( dev-libs/pocketfft )
- sparsehash? (
- amd64? ( dev-cpp/sparsehash )
- arm64? ( dev-cpp/sparsehash )
- ppc64? ( dev-cpp/sparsehash )
- x86? ( dev-cpp/sparsehash )
- )
- spqr? ( sci-libs/spqr:= )
- superlu? ( sci-libs/superlu:= )
- umfpack? ( sci-libs/umfpack:= )
-"
-
-DEPEND="
- test? (
- cuda? (
- !cuda-clang? (
- dev-util/nvidia-cuda-toolkit
- )
- cuda-clang? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp]
- ')
- )
- )
- hip? ( dev-util/hip )
- !blas? (
- virtual/blas
- !lapack? (
- virtual/lapacke
- )
- )
- ${TEST_BACKENDS}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.9-max-macro.patch"
- "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
- "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
- "${FILESDIR}/${PN}-3.4.1-cxxstandard-17.patch"
-
- "${FILESDIR}/${PN}-3.4.0-c++-20.patch"
-
- "${FILESDIR}/${PN}-3.4.1-bug1213-link-with-Eigen3-Eigen.patch"
-
- "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch"
- "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch"
-
- "${DISTDIR}/${P}_p1.patch"
- "${DISTDIR}/${P}_p2.patch"
-)
-
-# TODO should be in cuda.eclass
-cuda_get_host_compiler() {
- if [[ -n "${NVCC_CCBIN}" ]]; then
- echo "${NVCC_CCBIN}"
- return
- fi
-
- if [[ -n "${CUDAHOSTCXX}" ]]; then
- echo "${CUDAHOSTCXX}"
- return
- fi
-
- einfo "Trying to find working CUDA host compiler"
-
- if ! tc-is-gcc && ! tc-is-clang; then
- die "$(tc-get-compiler-type) compiler is not supported"
- fi
-
- local compiler compiler_type compiler_version
- local package package_version
- local -x NVCC_CCBIN
- local NVCC_CCBIN_default
-
- compiler_type="$(tc-get-compiler-type)"
- compiler_version="$("${compiler_type}-major-version")"
-
- # try the default compiler first
- NVCC_CCBIN="$(tc-getCXX)"
- NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}"
-
- compiler="${NVCC_CCBIN/%-${compiler_version}}"
-
- # store the package so we can re-use it later
- package="sys-devel/${compiler_type}"
- package_version="${package}"
-
- ebegin "testing ${NVCC_CCBIN_default} (default)"
-
- while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do
- eend 1
-
- while true; do
- # prepare next version
- if ! package_version="<$(best_version "${package_version}")"; then
- die "could not find a supported version of ${compiler}"
- fi
-
- NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")"
-
- [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break
- done
- ebegin "testing ${NVCC_CCBIN}"
- done
- eend $?
-
- echo "${NVCC_CCBIN}"
- export NVCC_CCBIN
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-
- if use lapack; then
- python-any-r1_pkg_setup
- fi
-
- if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \
- || use blas \
- || use lapack \
- ; then
- fortran-2_pkg_setup
- fi
-
- if use test && use cuda && use cuda-clang; then
- llvm-r2_pkg_setup
- fi
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- unpack "${P}.tar.bz2"
- fi
-
- if use test && use lapack; then
- pushd "${S}/lapack" > /dev/null || die
- unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz"
- popd > /dev/null || die
- fi
-}
-
-src_prepare() {
- # run patches here as we patch in test/
- cmake_src_prepare
-
- if use test && use lapack; then
- pushd "${S}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch"
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- if use lapack; then
- # bug 878987
- # multiple definition of `cgesdd_'
- filter-lto
- fi
-
- local mycmakeargs=(
- -DCMAKE_CXX_STANDARD="20"
- -DCMAKE_POSITION_INDEPENDENT_CODE="yes"
-
- -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests.
-
- -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library
- -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library
-
- -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
- -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
- )
-
- append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0"
-
- if use blas; then
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_SHARED_LIBS="yes"
- )
-
- if use lapack; then
- mycmakeargs+=(
- -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp
- -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)"
- )
- fi
- fi
-
- if use doc || use test; then
- mycmakeargs+=(
- # needs Qt4
- -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
- )
- fi
-
- if use doc; then
- mycmakeargs+=(
- -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
- -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- )
- fi
-
- if use test; then
- mycmakeargs+=(
- -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building
-
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
- -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
-
- -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite
-
- -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation
-
- -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions
- -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables
-
- -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
- -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests
-
- -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
-
- # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support.
- # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default).
-
- $(cmake_use_find_package adolc Adolc)
- $(cmake_use_find_package boost Boost)
- $(cmake_use_find_package cholmod CHOLMOD)
- $(cmake_use_find_package fftw FFTW )
- $(cmake_use_find_package klu KLU)
- -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes
- # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL
- # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP
- $(cmake_use_find_package pastix PASTIX)
- # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps
- -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND"
-
- -DPOCKETFFT="$(usex pocketfft)"
- $(cmake_use_find_package sparsehash GoogleHash)
- $(cmake_use_find_package spqr SPQR)
- $(cmake_use_find_package superlu SuperLU)
- $(cmake_use_find_package umfpack UMFPACK)
- )
-
- if use arm; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use arm64; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use amd64 || use x86; then
- mycmakeargs+=(
- # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
- # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
- -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
- -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
- -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
- -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
- -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
- -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
- -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
- -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
- -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
- -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
- -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
- )
- fi
-
- if use mips; then
- mycmakeargs+=(
- # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
- )
- fi
-
- if use ppc || use ppc64; then
- mycmakeargs+=(
- -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
- -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
- )
- fi
-
- if use s390; then
- mycmakeargs+=(
- # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
- # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
-
- if use cuda-clang; then
- local llvm_prefix
- llvm_prefix="$(get_llvm_prefix -b)"
-
- # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with
- # error: unrecognized command-line option
- if ! tc-is-clang; then
- export CC="${CHOST}-clang-${LLVM_SLOT}"
- export CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc"
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}"
- )
- else
- cuda_get_host_compiler
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
- )
- if [[ -v CUDACXX ]]; then
- mycmakeargs+=(
- -DCUDA_NVCC_EXECUTABLE="${CUDACXX}"
- -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA
- )
- fi
- fi
-
- if [[ "${CUDA_VERBOSE}" == true ]]; then
- mycmakeargs+=(
- -DCUDA_VERBOSE_BUILD="yes"
- )
- NVCCFLAGS+=" -v"
- fi
-
- if [[ -v CUDAARCHS ]]; then
- mycmakeargs+=(
- # TODO this needs to be lowest first for eigen
- -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
- )
- fi
-
- # CUDAFLAGS is used by cmake
- # NVCCFLAGS is used by cuda.eclass
- mycmakeargs+=(
- -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}"
-
- -DCUDA_USE_STATIC_CUDA_RUNTIME="no"
- )
- fi
-
- if use opengl; then
- mycmakeargs+=(
- -DOpenGL_GL_PREFERENCE="GLVND"
- )
- fi
-
- if use pocketfft; then
- mycmakeargs+=(
- -DEIGEN_TEST_CXX11=yes
- )
- fi
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- local targets=()
-
- if use blas; then
- targets+=( blas )
- if use lapack; then
- targets+=( lapack )
- fi
- fi
-
- if use test; then
- targets+=( buildtests )
-
- if use cuda || use hip; then
- targets+=( buildtests_gpu )
- fi
-
- # tests generate random data, which fails for some seeds
- # we solve this via test reruns now
- # export EIGEN_SEED=712808
- fi
-
- # we add doc last to capture results for buildtests
- if use doc; then
- targets+=( doc )
- fi
-
- if [[ -n "${targets[*]}" ]]; then
- cmake_src_compile "${targets[@]}"
- fi
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- "^ref_8$"
- )
-
- if use cholmod && use blas && use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^cholmod_support_21$"
- "^cholmod_support_22$"
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
- fi
-
- if use klu && use blas; then
- CMAKE_SKIP_TESTS+=(
- "^klu_support_1$"
- "^klu_support_2$"
- )
- fi
-
- if use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^LAPACK-xlintsts_stest_in$"
- "^LAPACK-xeigtsts_sep_in$"
- "^LAPACK-xeigtsts_svd_in$"
- "^LAPACK-xlintstd_dtest_in$"
- "^LAPACK-xeigtstd_sep_in$"
- "^LAPACK-xeigtstd_svd_in$"
- "^LAPACK-xlintstc_ctest_in$"
- "^LAPACK-xeigtstc_svd_in$"
- )
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- --repeat until-pass:50
- )
-
- if use opengl; then
- virtx \
- cmake_src_test
- else
- cmake_src_test
- fi
-}
-
-src_install() {
- local DOCS=()
- cmake_src_install
-
- if use doc; then
- pushd "${BUILD_DIR}/doc" > /dev/null || die
- dodoc -r html
- popd > /dev/null || die
- fi
-}
diff --git a/dev-cpp/eigen/eigen-3.4.9999.ebuild b/dev-cpp/eigen/eigen-3.4.9999.ebuild
deleted file mode 100644
index 0d0b2ca43801..000000000000
--- a/dev-cpp/eigen/eigen-3.4.9999.ebuild
+++ /dev/null
@@ -1,645 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {21..23} )
-LLVM_OPTIONAL="cuda-clang"
-
-PYTHON_COMPAT=( python3_{13..14} )
-
-FORTRAN_NEEDED="no"
-
-LAPACK_ADDONS_PV="3.4.1"
-
-inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
- if [[ ${PV} = *.9999* ]] ; then
- EGIT_BRANCH="$(ver_cut 1-2)"
- fi
-else
- SRC_URI="
- https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-fi
-
-SRC_URI+="
- test? (
- lapack? (
- https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz
- -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz
- )
- )
-"
-
-LICENSE="MPL-2.0"
-SLOT="3/$(ver_cut 1-2)"
-
-# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
-ARM_CPU_FEATURES=(
- neon:NEON
-)
-PPC_CPU_FEATURES=(
- altivec:ALTIVEC
- vsx:VSX
-)
-X86_CPU_FEATURES=(
- avx:AVX
- avx2:AVX2
- avx512f:AVX512
- avx512dq:AVX512DQ
- f16c:FP16C
- fma3:FMA
- popcnt:POPCNT
- sse:SSE
- sse2:SSE2
- sse3:SSE3
- ssse3:SSSE3
- sse4_1:SSE4_1
- sse4_2:SSE4_2
-)
-# MIPS_CPU_FEATURES=(
-# msa:MSA
-# )
-# S390_CPU_FEATURES=(
-# z13:Z13
-# z14:Z14
-# )
-
-CPU_FEATURES_MAP=(
- "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
- "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
- "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
- # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
- # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
-)
-
-IUSE_TEST_BACKENDS=(
- "adolc"
- "boost"
- "cholmod"
- "fftw"
- "klu"
- "metis"
- "opengl"
- "pastix"
- "pocketfft"
- "sparsehash"
- "spqr"
- "superlu"
- "umfpack"
-)
-
-IUSE="
- debug
- blas lapack
- ${CPU_FEATURES_MAP[*]%:*}
- cuda cuda-clang hip
- doc mathjax
- openmp
- test ${IUSE_TEST_BACKENDS[*]}
-"
-# zvector
-
-REQUIRED_USE="
- lapack? (
- blas
- )
- test? (
- || ( ${IUSE_TEST_BACKENDS[*]} )
- cuda-clang? (
- !openmp
- ${LLVM_REQUIRED_USE}
- )
- )
-"
-
-# Tests failing again because of compiler issues; bugs #932646, #943401
-RESTRICT="!test? ( test )"
-FORTRAN_DEPEND="virtual/fortran"
-
-BDEPEND="
- doc? (
- app-text/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- mathjax? ( dev-libs/mathjax )
- )
- test? (
- virtual/pkgconfig
- lapack? (
- ${PYTHON_DEPS}
- )
- spqr? (
- cholmod? (
- blas? (
- lapack? (
- ${FORTRAN_DEPEND}
- )
- )
- )
- )
- pastix? ( ${FORTRAN_DEPEND} )
- )
- blas? ( ${FORTRAN_DEPEND} )
- lapack? ( ${FORTRAN_DEPEND} )
-"
-
-TEST_BACKENDS="
- adolc? ( sci-libs/adolc[sparse] )
- boost? ( dev-libs/boost )
- cholmod? ( sci-libs/cholmod:=[cuda?] )
- fftw? ( sci-libs/fftw[openmp?] )
- klu? ( sci-libs/klu:= )
- metis? (
- sci-libs/metis[openmp?]
- sci-libs/pastix[metis]
- )
- opengl? (
- media-libs/freeglut
- media-libs/glew
- media-libs/libglvnd
- )
- pastix? (
- sci-libs/pastix[-mpi]
- || (
- sci-libs/pastix[scotch]
- sci-libs/pastix[metis]
- )
- )
- pocketfft? ( dev-libs/pocketfft )
- sparsehash? (
- amd64? ( dev-cpp/sparsehash )
- arm64? ( dev-cpp/sparsehash )
- ppc64? ( dev-cpp/sparsehash )
- x86? ( dev-cpp/sparsehash )
- )
- spqr? ( sci-libs/spqr:= )
- superlu? ( sci-libs/superlu:= )
- umfpack? ( sci-libs/umfpack:= )
-"
-
-DEPEND="
- test? (
- cuda? (
- !cuda-clang? (
- dev-util/nvidia-cuda-toolkit
- )
- cuda-clang? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp]
- ')
- )
- )
- hip? ( dev-util/hip )
- !blas? (
- virtual/blas
- !lapack? (
- virtual/lapacke
- )
- )
- ${TEST_BACKENDS}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.9-max-macro.patch"
- "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
- "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
- "${FILESDIR}/${PN}-3.4.1-cxxstandard-17.patch"
-
- "${FILESDIR}/${PN}-3.4.0-c++-20.patch"
-
- "${FILESDIR}/${PN}-3.4.1-bug1213-link-with-Eigen3-Eigen.patch"
-
- "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch"
- "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch"
-)
-
-# TODO should be in cuda.eclass
-cuda_get_host_compiler() {
- if [[ -n "${NVCC_CCBIN}" ]]; then
- echo "${NVCC_CCBIN}"
- return
- fi
-
- if [[ -n "${CUDAHOSTCXX}" ]]; then
- echo "${CUDAHOSTCXX}"
- return
- fi
-
- einfo "Trying to find working CUDA host compiler"
-
- if ! tc-is-gcc && ! tc-is-clang; then
- die "$(tc-get-compiler-type) compiler is not supported"
- fi
-
- local compiler compiler_type compiler_version
- local package package_version
- local -x NVCC_CCBIN
- local NVCC_CCBIN_default
-
- compiler_type="$(tc-get-compiler-type)"
- compiler_version="$("${compiler_type}-major-version")"
-
- # try the default compiler first
- NVCC_CCBIN="$(tc-getCXX)"
- NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}"
-
- compiler="${NVCC_CCBIN/%-${compiler_version}}"
-
- # store the package so we can re-use it later
- package="sys-devel/${compiler_type}"
- package_version="${package}"
-
- ebegin "testing ${NVCC_CCBIN_default} (default)"
-
- while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do
- eend 1
-
- while true; do
- # prepare next version
- if ! package_version="<$(best_version "${package_version}")"; then
- die "could not find a supported version of ${compiler}"
- fi
-
- NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")"
-
- [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break
- done
- ebegin "testing ${NVCC_CCBIN}"
- done
- eend $?
-
- echo "${NVCC_CCBIN}"
- export NVCC_CCBIN
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-
- if use lapack; then
- python-any-r1_pkg_setup
- fi
-
- if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \
- || use blas \
- || use lapack \
- ; then
- fortran-2_pkg_setup
- fi
-
- if use test && use cuda && use cuda-clang; then
- llvm-r2_pkg_setup
- fi
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- unpack "${P}.tar.bz2"
- fi
-
- if use test && use lapack; then
- pushd "${S}/lapack" > /dev/null || die
- unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz"
- popd > /dev/null || die
- fi
-}
-
-src_prepare() {
- # run patches here as we patch in test/
- cmake_src_prepare
-
- if use test && use lapack; then
- pushd "${S}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch"
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- if use lapack; then
- # bug 878987
- # multiple definition of `cgesdd_'
- filter-lto
- fi
-
- local mycmakeargs=(
- -DCMAKE_CXX_STANDARD="20"
- -DCMAKE_POSITION_INDEPENDENT_CODE="yes"
-
- -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests.
-
- -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library
- -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library
-
- -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
- -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
- )
-
- append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0"
-
- if use blas; then
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_SHARED_LIBS="yes"
- )
-
- if use lapack; then
- mycmakeargs+=(
- -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp
- -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)"
- )
- fi
- fi
-
- if use doc || use test; then
- mycmakeargs+=(
- # needs Qt4
- -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
- )
- fi
-
- if use doc; then
- mycmakeargs+=(
- -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
- -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- )
- fi
-
- if use test; then
- mycmakeargs+=(
- -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building
-
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
- -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
-
- -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite
-
- -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation
-
- -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions
- -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables
-
- -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
- -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests
-
- -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
-
- # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support.
- # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default).
-
- $(cmake_use_find_package adolc Adolc)
- $(cmake_use_find_package boost Boost)
- $(cmake_use_find_package cholmod CHOLMOD)
- $(cmake_use_find_package fftw FFTW )
- $(cmake_use_find_package klu KLU)
- -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes
- # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL
- # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP
- $(cmake_use_find_package pastix PASTIX)
- # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps
- -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND"
-
- -DPOCKETFFT="$(usex pocketfft)"
- $(cmake_use_find_package sparsehash GoogleHash)
- $(cmake_use_find_package spqr SPQR)
- $(cmake_use_find_package superlu SuperLU)
- $(cmake_use_find_package umfpack UMFPACK)
- )
-
- if use arm; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use arm64; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use amd64 || use x86; then
- mycmakeargs+=(
- # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
- # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
- -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
- -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
- -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
- -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
- -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
- -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
- -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
- -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
- -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
- -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
- -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
- )
- fi
-
- if use mips; then
- mycmakeargs+=(
- # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
- )
- fi
-
- if use ppc || use ppc64; then
- mycmakeargs+=(
- -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
- -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
- )
- fi
-
- if use s390; then
- mycmakeargs+=(
- # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
- # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
-
- if use cuda-clang; then
- local llvm_prefix
- llvm_prefix="$(get_llvm_prefix -b)"
-
- # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with
- # error: unrecognized command-line option
- if ! tc-is-clang; then
- export CC="${CHOST}-clang-${LLVM_SLOT}"
- export CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc"
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}"
- )
- else
- cuda_get_host_compiler
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
- )
- if [[ -v CUDACXX ]]; then
- mycmakeargs+=(
- -DCUDA_NVCC_EXECUTABLE="${CUDACXX}"
- -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA
- )
- fi
- fi
-
- if [[ "${CUDA_VERBOSE}" == true ]]; then
- mycmakeargs+=(
- -DCUDA_VERBOSE_BUILD="yes"
- )
- NVCCFLAGS+=" -v"
- fi
-
- if [[ -v CUDAARCHS ]]; then
- mycmakeargs+=(
- # TODO this needs to be lowest first for eigen
- -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
- )
- fi
-
- # CUDAFLAGS is used by cmake
- # NVCCFLAGS is used by cuda.eclass
- mycmakeargs+=(
- -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}"
-
- -DCUDA_USE_STATIC_CUDA_RUNTIME="no"
- )
- fi
-
- if use opengl; then
- mycmakeargs+=(
- -DOpenGL_GL_PREFERENCE="GLVND"
- )
- fi
-
- if use pocketfft; then
- mycmakeargs+=(
- -DEIGEN_TEST_CXX11=yes
- )
- fi
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- local targets=()
-
- if use blas; then
- targets+=( blas )
- if use lapack; then
- targets+=( lapack )
- fi
- fi
-
- if use test; then
- targets+=( buildtests )
-
- if use cuda || use hip; then
- targets+=( buildtests_gpu )
- fi
-
- # tests generate random data, which fails for some seeds
- # we solve this via test reruns now
- # export EIGEN_SEED=712808
- fi
-
- # we add doc last to capture results for buildtests
- if use doc; then
- targets+=( doc )
- fi
-
- if [[ -n "${targets[*]}" ]]; then
- cmake_src_compile "${targets[@]}"
- fi
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- "^ref_8$"
- )
-
- if use cholmod && use blas && use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^cholmod_support_21$"
- "^cholmod_support_22$"
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
- fi
-
- if use klu && use blas; then
- CMAKE_SKIP_TESTS+=(
- "^klu_support_1$"
- "^klu_support_2$"
- )
- fi
-
- if use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^LAPACK-xlintsts_stest_in$"
- "^LAPACK-xeigtsts_sep_in$"
- "^LAPACK-xeigtsts_svd_in$"
- "^LAPACK-xlintstd_dtest_in$"
- "^LAPACK-xeigtstd_sep_in$"
- "^LAPACK-xeigtstd_svd_in$"
- "^LAPACK-xlintstc_ctest_in$"
- "^LAPACK-xeigtstc_svd_in$"
- )
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- --repeat until-pass:50
- )
-
- if use opengl; then
- virtx \
- cmake_src_test
- else
- cmake_src_test
- fi
-}
-
-src_install() {
- local DOCS=()
- cmake_src_install
-
- if use doc; then
- pushd "${BUILD_DIR}/doc" > /dev/null || die
- dodoc -r html
- popd > /dev/null || die
- fi
-}
diff --git a/dev-cpp/eigen/eigen-5.0.1.ebuild b/dev-cpp/eigen/eigen-5.0.1.ebuild
deleted file mode 100644
index 2a62c78642c4..000000000000
--- a/dev-cpp/eigen/eigen-5.0.1.ebuild
+++ /dev/null
@@ -1,665 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {21..23} )
-LLVM_OPTIONAL="cuda-clang"
-
-PYTHON_COMPAT=( python3_{13..14} )
-
-FORTRAN_NEEDED="no"
-
-LAPACK_ADDONS_PV="3.4.1"
-
-inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
- if [[ ${PV} = *.9999* ]] ; then
- EGIT_BRANCH="$(ver_cut 1-2)"
- fi
-else
- SRC_URI="
- https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-fi
-
-SRC_URI+="
- test? (
- lapack? (
- https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz
- -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz
- )
- )
-"
-
-LICENSE="MPL-2.0"
-SLOT="3/$(ver_cut 1-2)"
-
-# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
-ARM_CPU_FEATURES=(
- neon:NEON
-)
-PPC_CPU_FEATURES=(
- altivec:ALTIVEC
- vsx:VSX
-)
-X86_CPU_FEATURES=(
- avx:AVX
- avx2:AVX2
- avx512f:AVX512
- avx512dq:AVX512DQ
- f16c:FP16C
- fma3:FMA
- popcnt:POPCNT
- sse:SSE
- sse2:SSE2
- sse3:SSE3
- ssse3:SSSE3
- sse4_1:SSE4_1
- sse4_2:SSE4_2
-)
-# MIPS_CPU_FEATURES=(
-# msa:MSA
-# )
-# S390_CPU_FEATURES=(
-# z13:Z13
-# z14:Z14
-# )
-
-CPU_FEATURES_MAP=(
- "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
- "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
- "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
- # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
- # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
-)
-
-IUSE_TEST_BACKENDS=(
- "adolc"
- "boost"
- "cholmod"
- "fftw"
- "klu"
- "metis"
- "opengl"
- "pastix"
- "pocketfft"
- "sparsehash"
- "spqr"
- "superlu"
- "umfpack"
-)
-
-IUSE="
- debug
- blas lapack
- ${CPU_FEATURES_MAP[*]%:*}
- cuda cuda-clang hip
- doc mathjax
- openmp
- test ${IUSE_TEST_BACKENDS[*]}
-"
-# zvector
-
-REQUIRED_USE="
- lapack? (
- blas
- )
- test? (
- || ( ${IUSE_TEST_BACKENDS[*]} )
- cuda-clang? (
- !openmp
- ${LLVM_REQUIRED_USE}
- )
- )
-"
-
-# Tests failing again because of compiler issues; bugs #932646, #943401
-RESTRICT="!test? ( test )"
-FORTRAN_DEPEND="virtual/fortran"
-
-BDEPEND="
- doc? (
- app-text/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- mathjax? ( dev-libs/mathjax )
- )
- test? (
- virtual/pkgconfig
- lapack? (
- ${PYTHON_DEPS}
- )
- spqr? (
- cholmod? (
- blas? (
- lapack? (
- ${FORTRAN_DEPEND}
- )
- )
- )
- )
- pastix? ( ${FORTRAN_DEPEND} )
- )
- blas? ( ${FORTRAN_DEPEND} )
- lapack? ( ${FORTRAN_DEPEND} )
-"
-
-TEST_BACKENDS="
- adolc? ( sci-libs/adolc[sparse] )
- boost? ( dev-libs/boost )
- cholmod? ( sci-libs/cholmod:=[cuda?] )
- fftw? ( sci-libs/fftw[openmp?] )
- klu? ( sci-libs/klu:= )
- metis? (
- sci-libs/metis[openmp?]
- sci-libs/pastix[metis]
- )
- opengl? (
- media-libs/freeglut
- media-libs/glew
- media-libs/libglvnd
- )
- pastix? (
- sci-libs/pastix[-mpi]
- || (
- sci-libs/pastix[scotch]
- sci-libs/pastix[metis]
- )
- )
- pocketfft? ( dev-libs/pocketfft )
- sparsehash? (
- amd64? ( dev-cpp/sparsehash )
- arm64? ( dev-cpp/sparsehash )
- ppc64? ( dev-cpp/sparsehash )
- x86? ( dev-cpp/sparsehash )
- )
- spqr? ( sci-libs/spqr:= )
- superlu? ( sci-libs/superlu:= )
- umfpack? ( sci-libs/umfpack:= )
-"
-
-DEPEND="
- test? (
- cuda? (
- !cuda-clang? (
- dev-util/nvidia-cuda-toolkit
- )
- cuda-clang? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp]
- ')
- )
- )
- hip? ( dev-util/hip )
- !blas? (
- virtual/blas
- !lapack? (
- virtual/lapacke
- )
- )
- ${TEST_BACKENDS}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
- "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
- "${FILESDIR}/${PN}-5.0.0-please_protect_your_min_with_parentheses.patch"
-
- # PRs
- "${FILESDIR}/${PN}-5.0.0-doxygen-1.14.patch"
-
- "${FILESDIR}/${PN}-5.0.1-c++-20.patch"
- "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch"
- "${FILESDIR}/${PN}-5.0.1-make-static-libs-optional.patch"
-
- "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch"
-)
-
-# TODO should be in cuda.eclass
-cuda_get_host_compiler() {
- if [[ -n "${NVCC_CCBIN}" ]]; then
- echo "${NVCC_CCBIN}"
- return
- fi
-
- if [[ -n "${CUDAHOSTCXX}" ]]; then
- echo "${CUDAHOSTCXX}"
- return
- fi
-
- einfo "Trying to find working CUDA host compiler"
-
- if ! tc-is-gcc && ! tc-is-clang; then
- die "$(tc-get-compiler-type) compiler is not supported"
- fi
-
- local compiler compiler_type compiler_version
- local package package_version
- local -x NVCC_CCBIN
- local NVCC_CCBIN_default
-
- compiler_type="$(tc-get-compiler-type)"
- compiler_version="$("${compiler_type}-major-version")"
-
- # try the default compiler first
- NVCC_CCBIN="$(tc-getCXX)"
- NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}"
-
- compiler="${NVCC_CCBIN/%-${compiler_version}}"
-
- # store the package so we can re-use it later
- package="sys-devel/${compiler_type}"
- package_version="${package}"
-
- ebegin "testing ${NVCC_CCBIN_default} (default)"
-
- while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do
- eend 1
-
- while true; do
- # prepare next version
- if ! package_version="<$(best_version "${package_version}")"; then
- die "could not find a supported version of ${compiler}"
- fi
-
- NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")"
-
- [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break
- done
- ebegin "testing ${NVCC_CCBIN}"
- done
- eend $?
-
- echo "${NVCC_CCBIN}"
- export NVCC_CCBIN
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-
- if use lapack; then
- python-any-r1_pkg_setup
- fi
-
- if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \
- || use blas \
- || use lapack \
- ; then
- fortran-2_pkg_setup
- fi
-
- if use test && use cuda && use cuda-clang; then
- llvm-r2_pkg_setup
- fi
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- unpack "${P}.tar.bz2"
- fi
-
- if use test && use lapack; then
- pushd "${S}/lapack" > /dev/null || die
- unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz"
- popd > /dev/null || die
- fi
-}
-
-src_prepare() {
- # run patches here as we patch in test/
- cmake_src_prepare
-
- if use test && use lapack; then
- pushd "${S}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch"
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- if use lapack; then
- # bug 878987
- # multiple definition of `cgesdd_'
- filter-lto
- fi
-
- local mycmakeargs=(
- -DCMAKE_CXX_STANDARD="20"
- -DCMAKE_POSITION_INDEPENDENT_CODE="yes"
-
- -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests.
-
- -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library
- -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library
-
- -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
- -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
- )
-
- append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0"
-
- if use blas; then
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_STATIC_LIBS="yes"
- -DEIGEN_INSTALL_STATIC_LIBS="yes"
- )
-
- if use lapack; then
- mycmakeargs+=(
- -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp
- -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)"
- )
- fi
- fi
-
- if use doc || use test; then
- mycmakeargs+=(
- # needs Qt4
- -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
- )
- fi
-
- if use doc; then
- mycmakeargs+=(
- -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
- -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- )
- fi
-
- if use test; then
- mycmakeargs+=(
- -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building
-
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
- -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
-
- -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite
-
- -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation
-
- -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions
- -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables
-
- -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
- -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests
-
- -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
-
- # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support.
- # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default).
-
- $(cmake_use_find_package adolc Adolc)
- $(cmake_use_find_package boost Boost)
- $(cmake_use_find_package cholmod CHOLMOD)
- # -DDUCCFFT="$(usex ducc)"
- -DDUCC_ROOT="DUCCFFT"
- -DDUCCFFT="NOTFOUND"
- $(cmake_use_find_package fftw FFTW )
- $(cmake_use_find_package klu KLU)
- -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes
- # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL
- # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP
- $(cmake_use_find_package pastix PASTIX)
- # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps
- -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND"
-
- -DPOCKETFFT="$(usex pocketfft)"
- $(cmake_use_find_package sparsehash GoogleHash)
- $(cmake_use_find_package spqr SPQR)
- $(cmake_use_find_package superlu SuperLU)
- $(cmake_use_find_package umfpack UMFPACK)
- )
-
- if use arm; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use arm64; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use amd64 || use x86; then
- mycmakeargs+=(
- # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
- # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
- -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
- -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
- -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
- -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
- -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
- -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
- -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
- -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
- -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
- -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
- -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
- )
- fi
-
- if use mips; then
- mycmakeargs+=(
- # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
- )
- fi
-
- if use ppc || use ppc64; then
- mycmakeargs+=(
- -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
- -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
- )
- fi
-
- if use s390; then
- mycmakeargs+=(
- # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
- # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
-
- if use cuda-clang; then
- local llvm_prefix
- llvm_prefix="$(get_llvm_prefix -b)"
-
- # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with
- # error: unrecognized command-line option
- if ! tc-is-clang; then
- export CC="${CHOST}-clang-${LLVM_SLOT}"
- export CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc"
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}"
- )
- else
- cuda_get_host_compiler
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
- )
- if [[ -v CUDACXX ]]; then
- mycmakeargs+=(
- -DCUDA_NVCC_EXECUTABLE="${CUDACXX}"
- -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA
- )
- fi
- fi
-
- if [[ "${CUDA_VERBOSE}" == true ]]; then
- mycmakeargs+=(
- -DCUDA_VERBOSE_BUILD="yes"
- )
- NVCCFLAGS+=" -v"
- fi
-
- if [[ -v CUDAARCHS ]]; then
- mycmakeargs+=(
- # TODO this needs to be lowest first for eigen
- -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
- )
- fi
-
- # CUDAFLAGS is used by cmake
- # NVCCFLAGS is used by cuda.eclass
- mycmakeargs+=(
- -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}"
-
- -DCUDA_USE_STATIC_CUDA_RUNTIME="no"
- )
- fi
-
- if use opengl; then
- mycmakeargs+=(
- -DOpenGL_GL_PREFERENCE="GLVND"
- )
- fi
-
- if use pocketfft; then
- mycmakeargs+=(
- -DEIGEN_TEST_CXX11=yes
- )
- fi
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- local targets=()
-
- if use blas; then
- targets+=( blas )
- if use lapack; then
- targets+=( lapack )
- fi
- fi
-
- if use test; then
- targets+=( buildtests )
-
- if use cuda || use hip; then
- targets+=( buildtests_gpu )
- fi
-
- # tests generate random data, which fails for some seeds
- # we solve this via test reruns now
- # export EIGEN_SEED=712808
- fi
-
- # we add doc last to capture results for buildtests
- if use doc; then
- targets+=( doc )
- fi
-
- if [[ -n "${targets[*]}" ]]; then
- cmake_src_compile "${targets[@]}"
- fi
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- "^ref_8$"
- )
-
- if ! use blas; then
- CMAKE_SKIP_TESTS+=(
- "^nomalloc_1$" # smoketest
- "^nomalloc_2$"
- "^nomalloc_3$"
- "^nomalloc_4$"
-
- "^product_notemporary_1$"
- "^product_notemporary_2$"
- "^product_notemporary_3$"
- "^product_notemporary_4$"
- )
- fi
-
- if use cholmod && use blas && use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^cholmod_support_21$"
- "^cholmod_support_22$"
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
- fi
-
- if use klu && use blas; then
- CMAKE_SKIP_TESTS+=(
- "^klu_support_1$"
- "^klu_support_2$"
- )
- fi
-
- if use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^LAPACK-xlintsts_stest_in$"
- "^LAPACK-xeigtsts_sep_in$"
- "^LAPACK-xeigtsts_svd_in$"
- "^LAPACK-xlintstd_dtest_in$"
- "^LAPACK-xeigtstd_sep_in$"
- "^LAPACK-xeigtstd_svd_in$"
- "^LAPACK-xlintstc_ctest_in$"
- "^LAPACK-xeigtstc_svd_in$"
- )
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- --repeat until-pass:50
- )
-
- if use opengl; then
- virtx \
- cmake_src_test
- else
- cmake_src_test
- fi
-}
-
-src_install() {
- local DOCS=()
- cmake_src_install
-
- if use doc; then
- pushd "${BUILD_DIR}/doc" > /dev/null || die
- dodoc -r html
- popd > /dev/null || die
- fi
-}
diff --git a/dev-cpp/eigen/eigen-5.0.9999.ebuild b/dev-cpp/eigen/eigen-5.0.9999.ebuild
deleted file mode 100644
index 2a62c78642c4..000000000000
--- a/dev-cpp/eigen/eigen-5.0.9999.ebuild
+++ /dev/null
@@ -1,665 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {21..23} )
-LLVM_OPTIONAL="cuda-clang"
-
-PYTHON_COMPAT=( python3_{13..14} )
-
-FORTRAN_NEEDED="no"
-
-LAPACK_ADDONS_PV="3.4.1"
-
-inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
- if [[ ${PV} = *.9999* ]] ; then
- EGIT_BRANCH="$(ver_cut 1-2)"
- fi
-else
- SRC_URI="
- https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-fi
-
-SRC_URI+="
- test? (
- lapack? (
- https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz
- -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz
- )
- )
-"
-
-LICENSE="MPL-2.0"
-SLOT="3/$(ver_cut 1-2)"
-
-# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
-ARM_CPU_FEATURES=(
- neon:NEON
-)
-PPC_CPU_FEATURES=(
- altivec:ALTIVEC
- vsx:VSX
-)
-X86_CPU_FEATURES=(
- avx:AVX
- avx2:AVX2
- avx512f:AVX512
- avx512dq:AVX512DQ
- f16c:FP16C
- fma3:FMA
- popcnt:POPCNT
- sse:SSE
- sse2:SSE2
- sse3:SSE3
- ssse3:SSSE3
- sse4_1:SSE4_1
- sse4_2:SSE4_2
-)
-# MIPS_CPU_FEATURES=(
-# msa:MSA
-# )
-# S390_CPU_FEATURES=(
-# z13:Z13
-# z14:Z14
-# )
-
-CPU_FEATURES_MAP=(
- "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
- "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
- "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
- # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
- # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
-)
-
-IUSE_TEST_BACKENDS=(
- "adolc"
- "boost"
- "cholmod"
- "fftw"
- "klu"
- "metis"
- "opengl"
- "pastix"
- "pocketfft"
- "sparsehash"
- "spqr"
- "superlu"
- "umfpack"
-)
-
-IUSE="
- debug
- blas lapack
- ${CPU_FEATURES_MAP[*]%:*}
- cuda cuda-clang hip
- doc mathjax
- openmp
- test ${IUSE_TEST_BACKENDS[*]}
-"
-# zvector
-
-REQUIRED_USE="
- lapack? (
- blas
- )
- test? (
- || ( ${IUSE_TEST_BACKENDS[*]} )
- cuda-clang? (
- !openmp
- ${LLVM_REQUIRED_USE}
- )
- )
-"
-
-# Tests failing again because of compiler issues; bugs #932646, #943401
-RESTRICT="!test? ( test )"
-FORTRAN_DEPEND="virtual/fortran"
-
-BDEPEND="
- doc? (
- app-text/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- mathjax? ( dev-libs/mathjax )
- )
- test? (
- virtual/pkgconfig
- lapack? (
- ${PYTHON_DEPS}
- )
- spqr? (
- cholmod? (
- blas? (
- lapack? (
- ${FORTRAN_DEPEND}
- )
- )
- )
- )
- pastix? ( ${FORTRAN_DEPEND} )
- )
- blas? ( ${FORTRAN_DEPEND} )
- lapack? ( ${FORTRAN_DEPEND} )
-"
-
-TEST_BACKENDS="
- adolc? ( sci-libs/adolc[sparse] )
- boost? ( dev-libs/boost )
- cholmod? ( sci-libs/cholmod:=[cuda?] )
- fftw? ( sci-libs/fftw[openmp?] )
- klu? ( sci-libs/klu:= )
- metis? (
- sci-libs/metis[openmp?]
- sci-libs/pastix[metis]
- )
- opengl? (
- media-libs/freeglut
- media-libs/glew
- media-libs/libglvnd
- )
- pastix? (
- sci-libs/pastix[-mpi]
- || (
- sci-libs/pastix[scotch]
- sci-libs/pastix[metis]
- )
- )
- pocketfft? ( dev-libs/pocketfft )
- sparsehash? (
- amd64? ( dev-cpp/sparsehash )
- arm64? ( dev-cpp/sparsehash )
- ppc64? ( dev-cpp/sparsehash )
- x86? ( dev-cpp/sparsehash )
- )
- spqr? ( sci-libs/spqr:= )
- superlu? ( sci-libs/superlu:= )
- umfpack? ( sci-libs/umfpack:= )
-"
-
-DEPEND="
- test? (
- cuda? (
- !cuda-clang? (
- dev-util/nvidia-cuda-toolkit
- )
- cuda-clang? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp]
- ')
- )
- )
- hip? ( dev-util/hip )
- !blas? (
- virtual/blas
- !lapack? (
- virtual/lapacke
- )
- )
- ${TEST_BACKENDS}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
- "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
- "${FILESDIR}/${PN}-5.0.0-please_protect_your_min_with_parentheses.patch"
-
- # PRs
- "${FILESDIR}/${PN}-5.0.0-doxygen-1.14.patch"
-
- "${FILESDIR}/${PN}-5.0.1-c++-20.patch"
- "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch"
- "${FILESDIR}/${PN}-5.0.1-make-static-libs-optional.patch"
-
- "${FILESDIR}/${PN}-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch"
-)
-
-# TODO should be in cuda.eclass
-cuda_get_host_compiler() {
- if [[ -n "${NVCC_CCBIN}" ]]; then
- echo "${NVCC_CCBIN}"
- return
- fi
-
- if [[ -n "${CUDAHOSTCXX}" ]]; then
- echo "${CUDAHOSTCXX}"
- return
- fi
-
- einfo "Trying to find working CUDA host compiler"
-
- if ! tc-is-gcc && ! tc-is-clang; then
- die "$(tc-get-compiler-type) compiler is not supported"
- fi
-
- local compiler compiler_type compiler_version
- local package package_version
- local -x NVCC_CCBIN
- local NVCC_CCBIN_default
-
- compiler_type="$(tc-get-compiler-type)"
- compiler_version="$("${compiler_type}-major-version")"
-
- # try the default compiler first
- NVCC_CCBIN="$(tc-getCXX)"
- NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}"
-
- compiler="${NVCC_CCBIN/%-${compiler_version}}"
-
- # store the package so we can re-use it later
- package="sys-devel/${compiler_type}"
- package_version="${package}"
-
- ebegin "testing ${NVCC_CCBIN_default} (default)"
-
- while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do
- eend 1
-
- while true; do
- # prepare next version
- if ! package_version="<$(best_version "${package_version}")"; then
- die "could not find a supported version of ${compiler}"
- fi
-
- NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")"
-
- [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break
- done
- ebegin "testing ${NVCC_CCBIN}"
- done
- eend $?
-
- echo "${NVCC_CCBIN}"
- export NVCC_CCBIN
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-
- if use lapack; then
- python-any-r1_pkg_setup
- fi
-
- if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \
- || use blas \
- || use lapack \
- ; then
- fortran-2_pkg_setup
- fi
-
- if use test && use cuda && use cuda-clang; then
- llvm-r2_pkg_setup
- fi
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- unpack "${P}.tar.bz2"
- fi
-
- if use test && use lapack; then
- pushd "${S}/lapack" > /dev/null || die
- unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz"
- popd > /dev/null || die
- fi
-}
-
-src_prepare() {
- # run patches here as we patch in test/
- cmake_src_prepare
-
- if use test && use lapack; then
- pushd "${S}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch"
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- if use lapack; then
- # bug 878987
- # multiple definition of `cgesdd_'
- filter-lto
- fi
-
- local mycmakeargs=(
- -DCMAKE_CXX_STANDARD="20"
- -DCMAKE_POSITION_INDEPENDENT_CODE="yes"
-
- -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests.
-
- -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library
- -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library
-
- -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
- -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
- )
-
- append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0"
-
- if use blas; then
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_STATIC_LIBS="yes"
- -DEIGEN_INSTALL_STATIC_LIBS="yes"
- )
-
- if use lapack; then
- mycmakeargs+=(
- -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp
- -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)"
- )
- fi
- fi
-
- if use doc || use test; then
- mycmakeargs+=(
- # needs Qt4
- -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
- )
- fi
-
- if use doc; then
- mycmakeargs+=(
- -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
- -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- )
- fi
-
- if use test; then
- mycmakeargs+=(
- -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building
-
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
- -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
-
- -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite
-
- -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation
-
- -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions
- -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables
-
- -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
- -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests
-
- -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
-
- # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support.
- # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default).
-
- $(cmake_use_find_package adolc Adolc)
- $(cmake_use_find_package boost Boost)
- $(cmake_use_find_package cholmod CHOLMOD)
- # -DDUCCFFT="$(usex ducc)"
- -DDUCC_ROOT="DUCCFFT"
- -DDUCCFFT="NOTFOUND"
- $(cmake_use_find_package fftw FFTW )
- $(cmake_use_find_package klu KLU)
- -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes
- # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL
- # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP
- $(cmake_use_find_package pastix PASTIX)
- # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps
- -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND"
-
- -DPOCKETFFT="$(usex pocketfft)"
- $(cmake_use_find_package sparsehash GoogleHash)
- $(cmake_use_find_package spqr SPQR)
- $(cmake_use_find_package superlu SuperLU)
- $(cmake_use_find_package umfpack UMFPACK)
- )
-
- if use arm; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use arm64; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use amd64 || use x86; then
- mycmakeargs+=(
- # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
- # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
- -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
- -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
- -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
- -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
- -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
- -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
- -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
- -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
- -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
- -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
- -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
- )
- fi
-
- if use mips; then
- mycmakeargs+=(
- # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
- )
- fi
-
- if use ppc || use ppc64; then
- mycmakeargs+=(
- -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
- -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
- )
- fi
-
- if use s390; then
- mycmakeargs+=(
- # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
- # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
-
- if use cuda-clang; then
- local llvm_prefix
- llvm_prefix="$(get_llvm_prefix -b)"
-
- # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with
- # error: unrecognized command-line option
- if ! tc-is-clang; then
- export CC="${CHOST}-clang-${LLVM_SLOT}"
- export CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc"
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}"
- )
- else
- cuda_get_host_compiler
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
- )
- if [[ -v CUDACXX ]]; then
- mycmakeargs+=(
- -DCUDA_NVCC_EXECUTABLE="${CUDACXX}"
- -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA
- )
- fi
- fi
-
- if [[ "${CUDA_VERBOSE}" == true ]]; then
- mycmakeargs+=(
- -DCUDA_VERBOSE_BUILD="yes"
- )
- NVCCFLAGS+=" -v"
- fi
-
- if [[ -v CUDAARCHS ]]; then
- mycmakeargs+=(
- # TODO this needs to be lowest first for eigen
- -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
- )
- fi
-
- # CUDAFLAGS is used by cmake
- # NVCCFLAGS is used by cuda.eclass
- mycmakeargs+=(
- -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}"
-
- -DCUDA_USE_STATIC_CUDA_RUNTIME="no"
- )
- fi
-
- if use opengl; then
- mycmakeargs+=(
- -DOpenGL_GL_PREFERENCE="GLVND"
- )
- fi
-
- if use pocketfft; then
- mycmakeargs+=(
- -DEIGEN_TEST_CXX11=yes
- )
- fi
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- local targets=()
-
- if use blas; then
- targets+=( blas )
- if use lapack; then
- targets+=( lapack )
- fi
- fi
-
- if use test; then
- targets+=( buildtests )
-
- if use cuda || use hip; then
- targets+=( buildtests_gpu )
- fi
-
- # tests generate random data, which fails for some seeds
- # we solve this via test reruns now
- # export EIGEN_SEED=712808
- fi
-
- # we add doc last to capture results for buildtests
- if use doc; then
- targets+=( doc )
- fi
-
- if [[ -n "${targets[*]}" ]]; then
- cmake_src_compile "${targets[@]}"
- fi
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- "^ref_8$"
- )
-
- if ! use blas; then
- CMAKE_SKIP_TESTS+=(
- "^nomalloc_1$" # smoketest
- "^nomalloc_2$"
- "^nomalloc_3$"
- "^nomalloc_4$"
-
- "^product_notemporary_1$"
- "^product_notemporary_2$"
- "^product_notemporary_3$"
- "^product_notemporary_4$"
- )
- fi
-
- if use cholmod && use blas && use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^cholmod_support_21$"
- "^cholmod_support_22$"
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
- fi
-
- if use klu && use blas; then
- CMAKE_SKIP_TESTS+=(
- "^klu_support_1$"
- "^klu_support_2$"
- )
- fi
-
- if use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^LAPACK-xlintsts_stest_in$"
- "^LAPACK-xeigtsts_sep_in$"
- "^LAPACK-xeigtsts_svd_in$"
- "^LAPACK-xlintstd_dtest_in$"
- "^LAPACK-xeigtstd_sep_in$"
- "^LAPACK-xeigtstd_svd_in$"
- "^LAPACK-xlintstc_ctest_in$"
- "^LAPACK-xeigtstc_svd_in$"
- )
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- --repeat until-pass:50
- )
-
- if use opengl; then
- virtx \
- cmake_src_test
- else
- cmake_src_test
- fi
-}
-
-src_install() {
- local DOCS=()
- cmake_src_install
-
- if use doc; then
- pushd "${BUILD_DIR}/doc" > /dev/null || die
- dodoc -r html
- popd > /dev/null || die
- fi
-}
diff --git a/dev-cpp/eigen/eigen-9999.ebuild b/dev-cpp/eigen/eigen-9999.ebuild
deleted file mode 100644
index 804b9e4ea506..000000000000
--- a/dev-cpp/eigen/eigen-9999.ebuild
+++ /dev/null
@@ -1,641 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {21..23} )
-LLVM_OPTIONAL="cuda-clang"
-
-PYTHON_COMPAT=( python3_{13..14} )
-
-FORTRAN_NEEDED="no"
-
-LAPACK_ADDONS_PV="3.4.1"
-
-inherit cmake cuda flag-o-matic fortran-2 llvm-r2 python-any-r1 toolchain-funcs virtualx
-
-DESCRIPTION="C++ template library for linear algebra"
-HOMEPAGE="https://eigen.tuxfamily.org/index.php?title=Main_Page"
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/lib${PN}/${PN}.git"
- if [[ ${PV} = *.9999* ]] ; then
- EGIT_BRANCH="$(ver_cut 1-2)"
- fi
-else
- SRC_URI="
- https://gitlab.com/lib${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-fi
-
-SRC_URI+="
- test? (
- lapack? (
- https://downloads.tuxfamily.org/${PN}/lapack_addons_${LAPACK_ADDONS_PV}.tgz
- -> ${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz
- )
- )
-"
-
-LICENSE="MPL-2.0"
-SLOT="3/$(ver_cut 1-2)"
-
-# The following lines are shamelessly stolen from ffmpeg-9999.ebuild with modifications
-ARM_CPU_FEATURES=(
- neon:NEON
-)
-PPC_CPU_FEATURES=(
- altivec:ALTIVEC
- vsx:VSX
-)
-X86_CPU_FEATURES=(
- avx:AVX
- avx2:AVX2
- avx512f:AVX512
- avx512dq:AVX512DQ
- f16c:FP16C
- fma3:FMA
- popcnt:POPCNT
- sse:SSE
- sse2:SSE2
- sse3:SSE3
- ssse3:SSSE3
- sse4_1:SSE4_1
- sse4_2:SSE4_2
-)
-# MIPS_CPU_FEATURES=(
-# msa:MSA
-# )
-# S390_CPU_FEATURES=(
-# z13:Z13
-# z14:Z14
-# )
-
-CPU_FEATURES_MAP=(
- "${ARM_CPU_FEATURES[@]/#/cpu_flags_arm_}"
- "${PPC_CPU_FEATURES[@]/#/cpu_flags_ppc_}"
- "${X86_CPU_FEATURES[@]/#/cpu_flags_x86_}"
- # "${MIPS_CPU_FEATURES[@]/#/cpu_flags_mips_}"
- # "${S390_CPU_FEATURES[@]/#/cpu_flags_s390_}"
-)
-
-IUSE_TEST_BACKENDS=(
- "adolc"
- "boost"
- "cholmod"
- "fftw"
- "klu"
- "metis"
- "opengl"
- "pastix"
- "pocketfft"
- "sparsehash"
- "spqr"
- "superlu"
- "umfpack"
-)
-
-IUSE="
- debug
- blas lapack
- ${CPU_FEATURES_MAP[*]%:*}
- cuda cuda-clang hip
- doc mathjax
- openmp
- test ${IUSE_TEST_BACKENDS[*]}
-"
-# zvector
-
-REQUIRED_USE="
- lapack? (
- blas
- )
- test? (
- || ( ${IUSE_TEST_BACKENDS[*]} )
- cuda-clang? (
- !openmp
- ${LLVM_REQUIRED_USE}
- )
- )
-"
-
-# Tests failing again because of compiler issues; bugs #932646, #943401
-RESTRICT="!test? ( test )"
-FORTRAN_DEPEND="virtual/fortran"
-
-BDEPEND="
- doc? (
- app-text/doxygen[dot]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- mathjax? ( dev-libs/mathjax )
- )
- test? (
- virtual/pkgconfig
- lapack? (
- ${PYTHON_DEPS}
- )
- spqr? (
- cholmod? (
- blas? (
- lapack? (
- ${FORTRAN_DEPEND}
- )
- )
- )
- )
- pastix? ( ${FORTRAN_DEPEND} )
- )
- blas? ( ${FORTRAN_DEPEND} )
- lapack? ( ${FORTRAN_DEPEND} )
-"
-
-TEST_BACKENDS="
- adolc? ( sci-libs/adolc[sparse] )
- boost? ( dev-libs/boost )
- cholmod? ( sci-libs/cholmod:=[cuda?] )
- fftw? ( sci-libs/fftw[openmp?] )
- klu? ( sci-libs/klu:= )
- metis? (
- sci-libs/metis[openmp?]
- sci-libs/pastix[metis]
- )
- opengl? (
- media-libs/freeglut
- media-libs/glew
- media-libs/libglvnd
- )
- pastix? (
- sci-libs/pastix[-mpi]
- || (
- sci-libs/pastix[scotch]
- sci-libs/pastix[metis]
- )
- )
- pocketfft? ( dev-libs/pocketfft )
- sparsehash? (
- amd64? ( dev-cpp/sparsehash )
- arm64? ( dev-cpp/sparsehash )
- ppc64? ( dev-cpp/sparsehash )
- x86? ( dev-cpp/sparsehash )
- )
- spqr? ( sci-libs/spqr:= )
- superlu? ( sci-libs/superlu:= )
- umfpack? ( sci-libs/umfpack:= )
-"
-
-DEPEND="
- test? (
- cuda? (
- !cuda-clang? (
- dev-util/nvidia-cuda-toolkit
- )
- cuda-clang? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-runtimes/clang-runtime:${LLVM_SLOT}[llvm_targets_NVPTX,offload,openmp]
- ')
- )
- )
- hip? ( dev-util/hip )
- !blas? (
- virtual/blas
- !lapack? (
- virtual/lapacke
- )
- )
- ${TEST_BACKENDS}
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.4.0-doc-nocompress.patch" # bug 830064
- "${FILESDIR}/${PN}-3.4.0-buildstring.patch"
-
- "${FILESDIR}/${PN}-5.0.1-cmake-GNUInstallDirs.patch"
- "${FILESDIR}/${PN}-5.0.1-make-static-libs-optional.patch"
-
- "${FILESDIR}/${PN}-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch"
- "${FILESDIR}/${PN}-9999-product_threaded_dont_parallelize.patch"
-)
-
-# TODO should be in cuda.eclass
-cuda_get_host_compiler() {
- if [[ -n "${NVCC_CCBIN}" ]]; then
- echo "${NVCC_CCBIN}"
- return
- fi
-
- if [[ -n "${CUDAHOSTCXX}" ]]; then
- echo "${CUDAHOSTCXX}"
- return
- fi
-
- einfo "Trying to find working CUDA host compiler"
-
- if ! tc-is-gcc && ! tc-is-clang; then
- die "$(tc-get-compiler-type) compiler is not supported"
- fi
-
- local compiler compiler_type compiler_version
- local package package_version
- local -x NVCC_CCBIN
- local NVCC_CCBIN_default
-
- compiler_type="$(tc-get-compiler-type)"
- compiler_version="$("${compiler_type}-major-version")"
-
- # try the default compiler first
- NVCC_CCBIN="$(tc-getCXX)"
- NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}"
-
- compiler="${NVCC_CCBIN/%-${compiler_version}}"
-
- # store the package so we can re-use it later
- package="sys-devel/${compiler_type}"
- package_version="${package}"
-
- ebegin "testing ${NVCC_CCBIN_default} (default)"
-
- while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do
- eend 1
-
- while true; do
- # prepare next version
- if ! package_version="<$(best_version "${package_version}")"; then
- die "could not find a supported version of ${compiler}"
- fi
-
- NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")"
-
- [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break
- done
- ebegin "testing ${NVCC_CCBIN}"
- done
- eend $?
-
- echo "${NVCC_CCBIN}"
- export NVCC_CCBIN
-}
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
- tc-check-openmp
- fi
-
- if use lapack; then
- python-any-r1_pkg_setup
- fi
-
- if { use test && { use spqr && use cholmod && use blas && use lapack; } || use pastix; } \
- || use blas \
- || use lapack \
- ; then
- fortran-2_pkg_setup
- fi
-
- if use test && use cuda && use cuda-clang; then
- llvm-r2_pkg_setup
- fi
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- else
- unpack "${P}.tar.bz2"
- fi
-
- if use test && use lapack; then
- pushd "${S}/lapack" > /dev/null || die
- unpack "${PN}-lapack_addons-${LAPACK_ADDONS_PV}.tgz"
- popd > /dev/null || die
- fi
-}
-
-src_prepare() {
- # run patches here as we patch in test/
- cmake_src_prepare
-
- if use test && use lapack; then
- pushd "${S}" > /dev/null || die
- eapply "${FILESDIR}/${PN}-5.0.1-fix-lapack_testing.py.patch"
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- if use lapack; then
- # bug 878987
- # multiple definition of `cgesdd_'
- filter-lto
- fi
-
- local mycmakeargs=(
- -DCMAKE_CXX_STANDARD="20"
- -DCMAKE_POSITION_INDEPENDENT_CODE="yes"
-
- -DEIGEN_BUILD_TESTING="$(usex test)" # Enable creation of Eigen tests.
-
- -DEIGEN_BUILD_BLAS="$(usex blas)" # Toggles the building of the Eigen Blas library
- -DEIGEN_BUILD_LAPACK="$(usex blas "$(usex lapack)")" # Toggles the building of the included Eigen LAPACK library
-
- -DEIGEN_BUILD_DOC="$(usex doc)" # Enable creation of Eigen documentation
- -DEIGEN_BUILD_PKGCONFIG="yes" # Build pkg-config .pc file for Eigen
- )
-
- append-cxxflags "-DEIGEN_USE_OPENBLAS_BFLOAT16=0"
-
- if use blas; then
- mycmakeargs+=(
- -DBUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_SHARED_LIBS="yes"
- -DEIGEN_BUILD_STATIC_LIBS="yes"
- -DEIGEN_INSTALL_STATIC_LIBS="yes"
- )
-
- if use lapack; then
- mycmakeargs+=(
- -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp
- -DEIGEN_ENABLE_LAPACK_TESTS="$(usex test)"
- )
- fi
- fi
-
- if use doc || use test; then
- mycmakeargs+=(
- # needs Qt4
- -DEIGEN_TEST_NOQT="yes" # Disable Qt support in unit tests
- )
- fi
-
- if use doc; then
- mycmakeargs+=(
- -DEIGEN_DOC_USE_MATHJAX="$(usex mathjax)" # Use MathJax for rendering math in HTML docs
- -DEIGEN_INTERNAL_DOCUMENTATION=no # Build internal documentation
- )
- fi
-
- if use test; then
- mycmakeargs+=(
- -DEIGEN_LEAVE_TEST_IN_ALL_TARGET=yes # Leaves tests in the all target, needed by ctest for automatic building
-
- # the OpenGL testsuite is extremely brittle, bug #712808
- -DEIGEN_TEST_OPENGL="$(usex opengl)" # Enable OpenGL support in unit tests
- -DEIGEN_TEST_OPENMP="$(usex openmp)" # Enable/Disable OpenMP in tests/examples
-
- -DEIGEN_TEST_EXTERNAL_BLAS="$(usex !blas)" # Use external BLAS library for testsuite
-
- -DEIGEN_TEST_BUILD_DOCUMENTATION="no" # $(usex doc)" # Test building the doxygen documentation
-
- -DEIGEN_DEBUG_ASSERTS="$(usex debug)" # Enable advanced debugging of assertions
- -DEIGEN_SPLIT_LARGE_TESTS="yes" # Split large tests into smaller executables
-
- -DEIGEN_TEST_CUDA="$(usex cuda)" # Enable CUDA support in unit tests
- -DEIGEN_TEST_CUDA_CLANG="$(usex cuda "$(usex cuda-clang)")" # Use clang instead of nvcc to compile the CUDA tests
-
- -DEIGEN_TEST_HIP="$(usex hip)" # Add HIP support.
-
- # -DEIGEN_TEST_SYCL="$(usex sycl)" # Add Sycl support.
- # -DEIGEN_SYCL_TRISYCL="no" # Use the triSYCL Sycl implementation (ComputeCPP by default).
-
- $(cmake_use_find_package adolc Adolc)
- $(cmake_use_find_package boost Boost)
- $(cmake_use_find_package cholmod CHOLMOD)
- # -DDUCCFFT="$(usex ducc)"
- -DDUCC_ROOT="DUCCFFT"
- -DDUCCFFT="NOTFOUND"
- $(cmake_use_find_package fftw FFTW )
- $(cmake_use_find_package klu KLU)
- -DCMAKE_DISABLE_FIND_PACKAGE_MPREAL=yes
- # $(cmake_use_find_package opengl OpenGL) # EIGEN_TEST_OPENGL
- # $(cmake_use_find_package openmp OpenMP) # EIGEN_TEST_OPENMP
- $(cmake_use_find_package pastix PASTIX)
- # prevent pastix_nompi.h lookup it no longer exists, we enforce this via deps
- -DPASTIX_pastix_nompi.h_INCLUDE_DIRS="FOUND"
-
- -DPOCKETFFT="$(usex pocketfft)"
- $(cmake_use_find_package sparsehash GoogleHash)
- $(cmake_use_find_package spqr SPQR)
- $(cmake_use_find_package superlu SuperLU)
- $(cmake_use_find_package umfpack UMFPACK)
- )
-
- if use arm; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use arm64; then
- mycmakeargs+=(
- -DEIGEN_TEST_NEON64="$(usex cpu_flags_arm_neon)"
- )
- fi
-
- if use amd64 || use x86; then
- mycmakeargs+=(
- # -DEIGEN_TEST_32BIT=no # Force generating 32bit code.
- # -DEIGEN_TEST_X87=no # Force using X87 instructions. Implies no vectorization.
- -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)"
- -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)"
- -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)"
- -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)"
- -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)"
- -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)"
- -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)"
- -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)"
- -DEIGEN_TEST_AVX2="$(usex cpu_flags_x86_avx2)"
- -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx512f)"
- -DEIGEN_TEST_AVX512DQ="$(usex cpu_flags_x86_avx512dq)"
- )
- fi
-
- if use mips; then
- mycmakeargs+=(
- # -DEIGEN_TEST_MSA=no # Enable/Disable MSA in tests/examples
- )
- fi
-
- if use ppc || use ppc64; then
- mycmakeargs+=(
- -DEIGEN_TEST_ALTIVEC="$(usex cpu_flags_ppc_altivec)"
- -DEIGEN_TEST_VSX="$(usex cpu_flags_ppc_vsx)"
- )
- fi
-
- if use s390; then
- mycmakeargs+=(
- # -DEIGEN_TEST_Z13=no # Enable/Disable S390X(zEC13) ZVECTOR in tests/examples
- # -DEIGEN_TEST_Z14=no # Enable/Disable S390X(zEC14) ZVECTOR in tests/examples
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
-
- if use cuda-clang; then
- local llvm_prefix
- llvm_prefix="$(get_llvm_prefix -b)"
-
- # NVCCFLAGS gets injected into CMAKE_CXX_FLAGS, which means we need to use clang as gcc will fail with
- # error: unrecognized command-line option
- if ! tc-is-clang; then
- export CC="${CHOST}-clang-${LLVM_SLOT}"
- export CXX="${CHOST}-clang++-${LLVM_SLOT}"
- fi
-
- NVCCFLAGS="${NVCCFLAGS:+${NVCCFLAGS} }--libomptarget-nvptx-bc-path=${llvm_prefix}/$(get_libdir)/nvptx64-nvidia-cuda/libomptarget-nvptx.bc"
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CHOST}-clang++-${LLVM_SLOT}"
- )
- else
- cuda_get_host_compiler
-
- mycmakeargs+=(
- -DCUDA_HOST_COMPILER="${CUDAHOSTCXX}"
- )
- if [[ -v CUDACXX ]]; then
- mycmakeargs+=(
- -DCUDA_NVCC_EXECUTABLE="${CUDACXX}"
- -DCMAKE_POLICY_DEFAULT_CMP0146="OLD" # FindCUDA
- )
- fi
- fi
-
- if [[ "${CUDA_VERBOSE}" == true ]]; then
- mycmakeargs+=(
- -DCUDA_VERBOSE_BUILD="yes"
- )
- NVCCFLAGS+=" -v"
- fi
-
- if [[ -v CUDAARCHS ]]; then
- mycmakeargs+=(
- # TODO this needs to be lowest first for eigen
- -DEIGEN_CUDA_COMPUTE_ARCH="${CUDAARCHS}"
- )
- fi
-
- # CUDAFLAGS is used by cmake
- # NVCCFLAGS is used by cuda.eclass
- mycmakeargs+=(
- -DEIGEN_CUDA_CXX_FLAGS="${NVCCFLAGS}"
-
- -DCUDA_USE_STATIC_CUDA_RUNTIME="no"
- )
- fi
-
- if use opengl; then
- mycmakeargs+=(
- -DOpenGL_GL_PREFERENCE="GLVND"
- )
- fi
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- local targets=()
-
- if use blas; then
- targets+=( blas )
- if use lapack; then
- targets+=( lapack )
- fi
- fi
-
- if use test; then
- targets+=( buildtests )
-
- if use cuda || use hip; then
- targets+=( buildtests_gpu )
- fi
-
- # tests generate random data, which fails for some seeds
- # we solve this via test reruns now
- # export EIGEN_SEED=712808
- fi
-
- # we add doc last to capture results for buildtests
- if use doc; then
- targets+=( doc )
- fi
-
- if [[ -n "${targets[*]}" ]]; then
- cmake_src_compile "${targets[@]}"
- fi
-}
-
-src_test() {
- local CMAKE_SKIP_TESTS=(
- "^ref_8$"
- )
-
- if use cholmod && use blas && use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^cholmod_support_21$"
- "^cholmod_support_22$"
- )
- fi
-
- if use cuda; then
- cuda_add_sandbox -w
- fi
-
- if use klu && use blas; then
- CMAKE_SKIP_TESTS+=(
- "^klu_support_1$"
- "^klu_support_2$"
- )
- fi
-
- if use lapack; then
- CMAKE_SKIP_TESTS+=(
- "^LAPACK-xlintsts_stest_in$"
- "^LAPACK-xeigtsts_sep_in$"
- "^LAPACK-xeigtsts_svd_in$"
- "^LAPACK-xlintstd_dtest_in$"
- "^LAPACK-xeigtstd_sep_in$"
- "^LAPACK-xeigtstd_svd_in$"
- "^LAPACK-xlintstc_ctest_in$"
- "^LAPACK-xeigtstc_svd_in$"
- )
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- --repeat until-pass:50
- )
-
- if use opengl; then
- virtx \
- cmake_src_test
- else
- cmake_src_test
- fi
-}
-
-src_install() {
- local DOCS=()
- cmake_src_install
-
- if use doc; then
- pushd "${BUILD_DIR}/doc" > /dev/null || die
- dodoc -r html
- popd > /dev/null || die
- fi
-}
diff --git a/dev-cpp/eigen/files/eigen-3.3.9-max-macro.patch b/dev-cpp/eigen/files/eigen-3.3.9-max-macro.patch
deleted file mode 100644
index c5fdc2ed582c..000000000000
--- a/dev-cpp/eigen/files/eigen-3.3.9-max-macro.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/unsupported/test/forward_adolc.cpp
-+++ b/unsupported/test/forward_adolc.cpp
-@@ -7,12 +7,13 @@
- // Public License v. 2.0. If a copy of the MPL was not distributed
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--#include "main.h"
- #include <Eigen/Dense>
-
- #define NUMBER_DIRECTIONS 16
- #include <unsupported/Eigen/AdolcForward>
-
-+#include "main.h"
-+
- template<typename Vector>
- EIGEN_DONT_INLINE typename Vector::Scalar foo(const Vector& p)
- {
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch b/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch
deleted file mode 100644
index 8e9b98fbd8bb..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.0-buildstring.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/cmake/EigenTesting.cmake
-+++ b/cmake/EigenTesting.cmake
-@@ -559,14 +559,22 @@ macro(ei_get_cxxflags VAR)
- set(${VAR} VSX)
- elseif(EIGEN_TEST_ALTIVEC)
- set(${VAR} ALVEC)
-+ elseif(EIGEN_TEST_AVX512DQ)
-+ set(${VAR} AVX512DQ)
-+ elseif(EIGEN_TEST_AVX512)
-+ set(${VAR} AVX512)
-+ elseif(EIGEN_TEST_AVX2)
-+ set(${VAR} AVX2)
- elseif(EIGEN_TEST_FMA)
- set(${VAR} FMA)
-+ elseif(EIGEN_TEST_F16C)
-+ set(${VAR} F16C)
- elseif(EIGEN_TEST_AVX)
- set(${VAR} AVX)
- elseif(EIGEN_TEST_SSE4_2)
- set(${VAR} SSE42)
- elseif(EIGEN_TEST_SSE4_1)
- set(${VAR} SSE41)
- elseif(EIGEN_TEST_SSSE3)
- set(${VAR} SSSE3)
- elseif(EIGEN_TEST_SSE3)
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch b/dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch
deleted file mode 100644
index 39eef7dc0c0f..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.0-c++-20.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Nicholas Vinson <nvinson234@gmail.com>
-Date: Mon, 15 Dec 2025 20:37:04 -0500
-
---- a/Eigen/src/Eigenvalues/ComplexSchur.h
-+++ b/Eigen/src/Eigenvalues/ComplexSchur.h
-@@ -277,7 +277,8 @@
- using std::abs;
- if ((iter == 10 || iter == 20) && iu > 1) {
- // exceptional shift, taken from http://www.netlib.org/eispack/comqr.f
-- return abs(numext::real(m_matT.coeff(iu,iu-1))) + abs(numext::real(m_matT.coeff(iu-1,iu-2)));
-+ return ComplexSchur<MatrixType>::ComplexScalar(
-+ abs(numext::real(m_matT.coeff(iu, iu - 1))) + abs(numext::real(m_matT.coeff(iu - 1, iu - 2))));
- }
-
- // compute the shift as one of the eigenvalues of t, the 2x2
---- a/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
-+++ b/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
-@@ -86,8 +86,8 @@
- for (Index i = 0; i < rows; i++)
- mx = (std::max)(mx, std::abs(m_f(Ashifted(i, i) + avgEival, static_cast<int>(s + r))));
- if (r != 0)
- rfactorial *= RealScalar(r);
-- delta = (std::max)(delta, mx / rfactorial);
-+ delta = (std::max)(delta, RealScalar(mx / rfactorial));
- }
- const RealScalar P_norm = P.cwiseAbs().rowwise().sum().maxCoeff();
- if (mu * delta * P_norm < NumTraits<Scalar>::epsilon() * F_norm) // series converged
---
-2.52.0
-
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch b/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch
deleted file mode 100644
index 826aa78d05aa..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch
+++ /dev/null
@@ -1,108 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -74,19 +74,9 @@ macro(ei_add_cxx_compiler_flag FLAG)
- endif()
- endmacro()
-
--check_cxx_compiler_flag("-std=c++11" EIGEN_COMPILER_SUPPORT_CPP11)
--
--if(EIGEN_TEST_CXX11)
-- set(CMAKE_CXX_STANDARD 11)
-- set(CMAKE_CXX_EXTENSIONS OFF)
-- if(EIGEN_COMPILER_SUPPORT_CPP11)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-- endif()
--else()
-- #set(CMAKE_CXX_STANDARD 03)
-- #set(CMAKE_CXX_EXTENSIONS OFF)
-- ei_add_cxx_compiler_flag("-std=c++03")
--endif()
-+set(CMAKE_CXX_STANDARD 14)
-+set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
-+set(CMAKE_CXX_EXTENSIONS OFF)
-
- # Determine if we should build shared libraries on this platform.
- get_cmake_property(EIGEN_BUILD_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS)
-@@ -157,7 +157,6 @@ if(NOT MSVC)
- ei_add_cxx_compiler_flag("-Wshorten-64-to-32")
- ei_add_cxx_compiler_flag("-Wlogical-op")
- ei_add_cxx_compiler_flag("-Wenum-conversion")
-- ei_add_cxx_compiler_flag("-Wc++11-extensions")
- ei_add_cxx_compiler_flag("-Wdouble-promotion")
- # ei_add_cxx_compiler_flag("-Wconversion")
-
---- a/Eigen/src/Core/util/Macros.h
-+++ b/Eigen/src/Core/util/Macros.h
-@@ -37,7 +37,7 @@
- // Expected values are 03, 11, 14, 17, etc.
- // By default, let's use an arbitrarily large C++ version.
- #ifndef EIGEN_MAX_CPP_VER
--#define EIGEN_MAX_CPP_VER 99
-+#define EIGEN_MAX_CPP_VER 14
- #endif
-
- /** Allows to disable some optimizations which might affect the accuracy of the result.
---- a/doc/examples/CMakeLists.txt
-+++ b/doc/examples/CMakeLists.txt
-@@ -14,7 +14,3 @@ foreach(example_src ${examples_SRCS})
- )
- add_dependencies(all_examples ${example})
- endforeach()
--
--if(EIGEN_COMPILER_SUPPORT_CPP11)
--ei_add_target_property(nullary_indexing COMPILE_FLAGS "-std=c++11")
--endif()
-\ No newline at end of file
-diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt
-index 65f195a..4cb18c8 100644
---- a/doc/snippets/CMakeLists.txt
-+++ b/doc/snippets/CMakeLists.txt
-@@ -15,9 +15,6 @@ foreach(snippet_src ${snippets_SRCS})
- if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO)
- target_link_libraries(${compile_snippet_target} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
- endif()
-- if(${snippet_src} MATCHES "cxx11")
-- set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-std=c++11")
-- endif()
- if(${snippet_src} MATCHES "deprecated")
- set_target_properties(${compile_snippet_target} PROPERTIES COMPILE_FLAGS "-DEIGEN_NO_DEPRECATED_WARNING")
- endif()
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -399,7 +399,6 @@ if(CUDA_FOUND)
- set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
- endif()
- if(EIGEN_TEST_CUDA_CLANG)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
- foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
- string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}")
---- a/unsupported/test/CMakeLists.txt
-+++ b/unsupported/test/CMakeLists.txt
-@@ -59,7 +59,7 @@ find_package(MPREAL)
- if(MPREAL_FOUND AND EIGEN_COMPILER_SUPPORT_CPP11)
- ei_add_property(EIGEN_TESTED_BACKENDS "MPFR C++, ")
- include_directories(${MPREAL_INCLUDES})
-- ei_add_test(mpreal_support "-std=c++11" "${MPREAL_LIBRARIES}" )
-+ ei_add_test(mpreal_support "-std=c++14" "${MPREAL_LIBRARIES}" )
- else()
- ei_add_property(EIGEN_MISSING_BACKENDS "MPFR C++, ")
- endif()
-@@ -308,7 +308,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
- set(CUDA_NVCC_FLAGS "-ccbin ${CMAKE_C_COMPILER}" CACHE STRING "nvcc flags" FORCE)
- endif()
- if(EIGEN_TEST_CUDA_CLANG)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
- foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
- string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}")
---- a/doc/special_examples/CMakeLists.txt
-+++ b/doc/special_examples/CMakeLists.txt
-@@ -23,7 +23,6 @@ if(EIGEN_COMPILER_SUPPORT_CPP11)
- add_executable(random_cpp11 random_cpp11.cpp)
- target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO})
- add_dependencies(all_examples random_cpp11)
-- ei_add_target_property(random_cpp11 COMPILE_FLAGS "-std=c++11")
-
- add_custom_command(
- TARGET random_cpp11
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch b/dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch
deleted file mode 100644
index b9c252ebb09c..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.0-doc-nocompress.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -112,11 +112,7 @@
- COMMAND doxygen
- COMMAND doxygen Doxyfile-unsupported
- COMMAND ${CMAKE_COMMAND} -E copy ${Eigen_BINARY_DIR}/doc/html/group__TopicUnalignedArrayAssert.html ${Eigen_BINARY_DIR}/doc/html/TopicUnalignedArrayAssert.html
-- COMMAND ${CMAKE_COMMAND} -E rename html eigen-doc
-- COMMAND ${CMAKE_COMMAND} -E remove eigen-doc/eigen-doc.tgz eigen-doc/unsupported/_formulas.log eigen-doc/_formulas.log
-- COMMAND ${CMAKE_COMMAND} -E tar cfz eigen-doc.tgz eigen-doc
-- COMMAND ${CMAKE_COMMAND} -E rename eigen-doc.tgz eigen-doc/eigen-doc.tgz
-- COMMAND ${CMAKE_COMMAND} -E rename eigen-doc html
-+ COMMAND ${CMAKE_COMMAND} -E remove html/unsupported/_formulas.log html/_formulas.log
- WORKING_DIRECTORY ${Eigen_BINARY_DIR}/doc)
-
- add_dependencies(doc doc-eigen-prerequisites doc-unsupported-prerequisites)
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch b/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch
deleted file mode 100644
index c0ce44445c1d..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.0-noansi.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -184,6 +184,7 @@ if(NOT MSVC)
- ei_add_cxx_compiler_flag("-wd2304") # disable ICC's "warning #2304: non-explicit constructor with single argument may cause implicit type conversion" produced by -Wnon-virtual-dtor
-
-
-+ if(NOT EIGEN_TEST_CXX11)
- # The -ansi flag must be added last, otherwise it is also used as a linker flag by check_cxx_compiler_flag making it fails
- # Moreover we should not set both -strict-ansi and -ansi
- check_cxx_compiler_flag("-strict-ansi" COMPILER_SUPPORT_STRICTANSI)
-@@ -194,6 +195,7 @@ if(NOT MSVC)
- else()
- ei_add_cxx_compiler_flag("-ansi")
- endif()
-+ endif()
-
- if(ANDROID_NDK)
- ei_add_cxx_compiler_flag("-pie")
diff --git a/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch b/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch
deleted file mode 100644
index 7cfeaaf129ff..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-https://gitlab.com/libeigen/eigen/-/merge_requests/1028
-https://bugs.gentoo.org/936107
---- a/Eigen/Core
-+++ b/Eigen/Core
-@@ -346,7 +346,7 @@
- #include "src/Core/CoreIterators.h"
- #include "src/Core/ConditionEstimator.h"
-
--#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
-+#if defined(EIGEN_VECTORIZE_VSX)
- #include "src/Core/arch/AltiVec/MatrixProduct.h"
- #elif defined EIGEN_VECTORIZE_NEON
- #include "src/Core/arch/NEON/GeneralBlockPanelKernel.h"
---- a/Eigen/src/Core/arch/AltiVec/Complex.h
-+++ b/Eigen/src/Core/arch/AltiVec/Complex.h
-@@ -100,6 +100,7 @@
- HasAbs2 = 0,
- HasMin = 0,
- HasMax = 0,
-+ HasSqrt = 1,
- #ifdef __VSX__
- HasBlend = 1,
- #endif
-@@ -320,6 +321,7 @@
- HasAbs2 = 0,
- HasMin = 0,
- HasMax = 0,
-+ HasSqrt = 1,
- HasSetLinear = 0
- };
- };
---- a/Eigen/src/Core/arch/AltiVec/MathFunctions.h
-+++ b/Eigen/src/Core/arch/AltiVec/MathFunctions.h
-@@ -40,16 +40,14 @@
- return pcos_float(_x);
- }
-
-+#ifdef __VSX__
- #ifndef EIGEN_COMP_CLANG
- template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
- Packet4f prsqrt<Packet4f>(const Packet4f& x)
- {
- return vec_rsqrt(x);
- }
--#endif
-
--#ifdef __VSX__
--#ifndef EIGEN_COMP_CLANG
- template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
- Packet2d prsqrt<Packet2d>(const Packet2d& x)
- {
-@@ -74,6 +72,26 @@
- {
- return pexp_double(_x);
- }
-+
-+template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){
-+ BF16_TO_F32_UNARY_OP_WRAPPER(psqrt<Packet4f>, a);
-+}
-+
-+#ifndef EIGEN_COMP_CLANG
-+template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){
-+ BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
-+}
-+#endif
-+#else
-+template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
-+Packet4f psqrt<Packet4f>(const Packet4f& x)
-+{
-+ Packet4f a;
-+ for (Index i = 0; i < packet_traits<float>::size; i++) {
-+ a[i] = numext::sqrt(x[i]);
-+ }
-+ return a;
-+}
- #endif
-
- // Hyperbolic Tangent function.
---- a/Eigen/src/Core/arch/AltiVec/PacketMath.h
-+++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h
-@@ -175,16 +175,19 @@
- #else
- HasRsqrt = 0,
- #endif
-+ HasTanh = EIGEN_FAST_MATH,
-+ HasErf = EIGEN_FAST_MATH,
-+ HasRint = 1,
- #else
- HasSqrt = 0,
- HasRsqrt = 0,
-- HasTanh = EIGEN_FAST_MATH,
-- HasErf = EIGEN_FAST_MATH,
-+ HasTanh = 0,
-+ HasErf = 0,
-+ HasRint = 0,
- #endif
- HasRound = 1,
- HasFloor = 1,
- HasCeil = 1,
-- HasRint = 1,
- HasNegate = 1,
- HasBlend = 1
- };
-@@ -217,16 +220,17 @@
- #else
- HasRsqrt = 0,
- #endif
-+ HasRint = 1,
- #else
- HasSqrt = 0,
- HasRsqrt = 0,
-- HasTanh = EIGEN_FAST_MATH,
-- HasErf = EIGEN_FAST_MATH,
-+ HasRint = 0,
- #endif
-+ HasTanh = 0,
-+ HasErf = 0,
- HasRound = 1,
- HasFloor = 1,
- HasCeil = 1,
-- HasRint = 1,
- HasNegate = 1,
- HasBlend = 1
- };
-@@ -872,19 +876,29 @@
- return vec_nor(c,c);
- }
-
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet4i pcmp_le(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmple(a,b)); }
-+#endif
- template<> EIGEN_STRONG_INLINE Packet4i pcmp_lt(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmplt(a,b)); }
- template<> EIGEN_STRONG_INLINE Packet4i pcmp_eq(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmpeq(a,b)); }
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet8s pcmp_le(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmple(a,b)); }
-+#endif
- template<> EIGEN_STRONG_INLINE Packet8s pcmp_lt(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmplt(a,b)); }
- template<> EIGEN_STRONG_INLINE Packet8s pcmp_eq(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmpeq(a,b)); }
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet8us pcmp_le(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmple(a,b)); }
-+#endif
- template<> EIGEN_STRONG_INLINE Packet8us pcmp_lt(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmplt(a,b)); }
- template<> EIGEN_STRONG_INLINE Packet8us pcmp_eq(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmpeq(a,b)); }
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet16c pcmp_le(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmple(a,b)); }
-+#endif
- template<> EIGEN_STRONG_INLINE Packet16c pcmp_lt(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmplt(a,b)); }
- template<> EIGEN_STRONG_INLINE Packet16c pcmp_eq(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmpeq(a,b)); }
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet16uc pcmp_le(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmple(a,b)); }
-+#endif
- template<> EIGEN_STRONG_INLINE Packet16uc pcmp_lt(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmplt(a,b)); }
- template<> EIGEN_STRONG_INLINE Packet16uc pcmp_eq(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmpeq(a,b)); }
-
-@@ -937,6 +951,7 @@
- }
- template<> EIGEN_STRONG_INLINE Packet4f pceil<Packet4f>(const Packet4f& a) { return vec_ceil(a); }
- template<> EIGEN_STRONG_INLINE Packet4f pfloor<Packet4f>(const Packet4f& a) { return vec_floor(a); }
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet4f print<Packet4f>(const Packet4f& a)
- {
- Packet4f res;
-@@ -947,6 +962,7 @@
-
- return res;
- }
-+#endif
-
- template<typename Packet> EIGEN_STRONG_INLINE Packet ploadu_common(const __UNPACK_TYPE__(Packet)* from)
- {
-@@ -1341,12 +1357,6 @@
- BF16_TO_F32_BINARY_OP_WRAPPER(psub<Packet4f>, a, b);
- }
-
--template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){
-- BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a);
--}
--template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){
-- BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
--}
- template<> EIGEN_STRONG_INLINE Packet8bf pexp<Packet8bf> (const Packet8bf& a){
- BF16_TO_F32_UNARY_OP_WRAPPER(pexp_float, a);
- }
-@@ -1390,9 +1400,11 @@
- template<> EIGEN_STRONG_INLINE Packet8bf pround<Packet8bf> (const Packet8bf& a){
- BF16_TO_F32_UNARY_OP_WRAPPER(pround<Packet4f>, a);
- }
-+#ifdef __VSX__
- template<> EIGEN_STRONG_INLINE Packet8bf print<Packet8bf> (const Packet8bf& a){
- BF16_TO_F32_UNARY_OP_WRAPPER(print<Packet4f>, a);
- }
-+#endif
- template<> EIGEN_STRONG_INLINE Packet8bf pmadd(const Packet8bf& a, const Packet8bf& b, const Packet8bf& c) {
- Packet4f a_even = Bf16ToF32Even(a);
- Packet4f a_odd = Bf16ToF32Odd(a);
diff --git a/dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch b/dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch
deleted file mode 100644
index 9ced714f0c51..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.1-bug1213-link-with-Eigen3-Eigen.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 470c47b3b8309cb71cf48146e56744bd2630827a Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Sat, 28 Feb 2026 23:16:55 +0100
-Subject: [PATCH] bug1213: link with Eigen3::Eigen
-
-Doesn't find Eigen/Core otherwise.
----
- test/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index f503efc..360f989 100644
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -299,6 +299,7 @@ if(EIGEN_TEST_CXX11)
- endif()
-
- add_executable(bug1213 bug1213.cpp bug1213_main.cpp)
-+target_link_libraries(bug1213 Eigen3::Eigen)
-
- check_cxx_compiler_flag("-ffast-math" COMPILER_SUPPORT_FASTMATH)
- if(COMPILER_SUPPORT_FASTMATH)
---
-2.53.0
-
diff --git a/dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch b/dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch
deleted file mode 100644
index 720898bdd11c..000000000000
--- a/dev-cpp/eigen/files/eigen-3.4.1-cxxstandard-17.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From cd8bb671321b5163c21f84689f929b671ed68750 Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Mon, 20 Oct 2025 21:26:47 +0200
-Subject: [PATCH] cxx standard 17
-
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 80d36b991..8106bb264 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -330,11 +330,8 @@ if (EIGEN_BUILD_TESTING)
-
- option(EIGEN_TEST_CXX11 "Enable testing with C++11 and C++11 features (e.g. Tensor module)." ${EIGEN_COMPILER_SUPPORT_CPP11})
- if(EIGEN_TEST_CXX11)
-- set(CMAKE_CXX_STANDARD 11)
-+ set(CMAKE_CXX_STANDARD 17)
- set(CMAKE_CXX_EXTENSIONS OFF)
-- if(EIGEN_COMPILER_SUPPORT_CPP11)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-- endif()
- else()
- ei_add_cxx_compiler_flag("-std=c++03")
- endif()
-@@ -373,7 +370,7 @@ if (EIGEN_BUILD_TESTING)
- ei_add_cxx_compiler_flag("-Wshorten-64-to-32")
- ei_add_cxx_compiler_flag("-Wlogical-op")
- ei_add_cxx_compiler_flag("-Wenum-conversion")
-- ei_add_cxx_compiler_flag("-Wc++11-extensions")
-+ # ei_add_cxx_compiler_flag("-Wc++11-extensions")
- ei_add_cxx_compiler_flag("-Wdouble-promotion")
- # ei_add_cxx_compiler_flag("-Wconversion")
- ei_add_cxx_compiler_flag("-Wshadow")
-diff --git a/doc/special_examples/CMakeLists.txt b/doc/special_examples/CMakeLists.txt
-index a0267a512..d7fc80976 100644
---- a/doc/special_examples/CMakeLists.txt
-+++ b/doc/special_examples/CMakeLists.txt
-@@ -23,7 +23,6 @@ if(EIGEN_COMPILER_SUPPORT_CPP11)
- add_executable(random_cpp11 random_cpp11.cpp)
- target_link_libraries(random_cpp11 ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO} Eigen3::Eigen)
- add_dependencies(all_examples random_cpp11)
-- target_compile_options(random_cpp11 PRIVATE "-std=c++11")
-
- add_custom_command(
- TARGET random_cpp11
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 7ce260e0e..f503efc5d 100644
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -386,7 +386,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
- string(REPLACE "-fno-check-new" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-
- if(EIGEN_TEST_CUDA_CLANG)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
- foreach(GPU IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
- string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${GPU}")
-diff --git a/unsupported/test/CMakeLists.txt b/unsupported/test/CMakeLists.txt
-index 1d5e9b174..cf394de86 100644
---- a/unsupported/test/CMakeLists.txt
-+++ b/unsupported/test/CMakeLists.txt
-@@ -227,7 +227,6 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
- string(REPLACE "-ansi" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-
- if(EIGEN_TEST_CUDA_CLANG)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- string(APPEND CMAKE_CXX_FLAGS " --cuda-path=${CUDA_TOOLKIT_ROOT_DIR}")
- foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
- string(APPEND CMAKE_CXX_FLAGS " --cuda-gpu-arch=sm_${ARCH}")
---
-2.51.1
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch b/dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch
deleted file mode 100644
index 89e049368022..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.0-doxygen-1.14.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From cf458c66ee01802d5023fcab78412583b5c73574 Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Tue, 16 Dec 2025 09:40:05 +0100
-Subject: [PATCH 1/4] doc: add and use \anchor Eigen_placeholders_lastN
-
-fix for Doxygen >= 1.14:
-```
-doc/Manual.dox:177: error: unable to resolve link to 'Eigen::placeholders::lastN(SizeType)' for \link command
-doc/Manual.dox:178: error: unable to resolve link to 'Eigen::placeholders::lastN(SizeType,IncrType)' for \link command
-```
----
- Eigen/src/Core/ArithmeticSequence.h | 2 +-
- doc/TutorialSlicingIndexing.dox | 3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/Eigen/src/Core/ArithmeticSequence.h b/Eigen/src/Core/ArithmeticSequence.h
-index ae6373dda..41617713f 100644
---- a/Eigen/src/Core/ArithmeticSequence.h
-+++ b/Eigen/src/Core/ArithmeticSequence.h
-@@ -182,7 +182,7 @@ namespace placeholders {
- * \returns a symbolic ArithmeticSequence representing the last \a size elements with increment \a incr.
- *
- * It is a shortcut for: \code seqN(last-(size-fix<1>)*incr, size, incr) \endcode
-- *
-+ * \anchor Eigen_placeholders_lastN
- * \sa lastN(SizeType), seqN(FirstType,SizeType), seq(FirstType,LastType,IncrType) */
- template <typename SizeType, typename IncrType>
- auto lastN(SizeType size, IncrType incr)
-diff --git a/doc/TutorialSlicingIndexing.dox b/doc/TutorialSlicingIndexing.dox
-index 6ebaa2d6d..a1b00dfc4 100644
---- a/doc/TutorialSlicingIndexing.dox
-+++ b/doc/TutorialSlicingIndexing.dox
-@@ -114,8 +114,7 @@ Here are some examples for a 2D array/matrix \c A and a 1D array/vector \c v.
-
- As seen in the last example, referencing the <i> last n </i> elements (or rows/columns) is a bit cumbersome to write.
- This becomes even more tricky and error prone with a non-default increment.
--Here comes \link Eigen::placeholders::lastN(SizeType) Eigen::placeholders::lastN(size) \endlink, and
--\link Eigen::placeholders::lastN(SizeType,IncrType) Eigen::placeholders::lastN(size,incr) \endlink:
-+Here comes \ref Eigen_placeholders_lastN :
-
- <table class="manual">
- <tr>
---
-GitLab
-
-
-From 6be98c166c86a2360177bad9cdccc55ac1ceed7b Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Tue, 16 Dec 2025 10:13:56 +0100
-Subject: [PATCH 2/4] doc: fix html
-
-fix for Doxygen >= 1.14:
-```
-doc/Manual.dox:656: error: expected <tr> or </table> tag but found token TK_HTMLTAG instead!
-```
----
- doc/QuickReference.dox | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/doc/QuickReference.dox b/doc/QuickReference.dox
-index 1fb000fdc..4aece902c 100644
---- a/doc/QuickReference.dox
-+++ b/doc/QuickReference.dox
-@@ -551,7 +551,6 @@ Read-write access to sub-vectors:
- <tr>
- <th>Default versions</th>
- <th>Optimized versions when the size \n is known at compile time</th></tr>
--<th></th>
-
- <tr><td>\code vec1.head(n)\endcode</td><td>\code vec1.head<n>()\endcode</td><td>the first \c n coeffs </td></tr>
- <tr><td>\code vec1.tail(n)\endcode</td><td>\code vec1.tail<n>()\endcode</td><td>the last \c n coeffs </td></tr>
---
-GitLab
-
-
-From ac5d00609f14b7402f1fe8274e4d5db3c61f091e Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Tue, 16 Dec 2025 10:37:35 +0100
-Subject: [PATCH 3/4] doc: typo
-
-fix for doxygen 1.15:
-```
-doc/UnalignedArrayAssert.dox:134: error: Reached end of file while still searching closing '`' of a verbatim block starting at line 117
-doc/UnalignedArrayAssert.dox:134: error: Reached end of file while still inside a (nested) comment. Nesting level 1 (possible line reference(s): 3)
-```
----
- doc/UnalignedArrayAssert.dox | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/doc/UnalignedArrayAssert.dox b/doc/UnalignedArrayAssert.dox
-index ca674a267..0ed6f8835 100644
---- a/doc/UnalignedArrayAssert.dox
-+++ b/doc/UnalignedArrayAssert.dox
-@@ -7,7 +7,7 @@ Hello! You are seeing this webpage because your program terminated on an asserti
- my_program: path/to/eigen/Eigen/src/Core/DenseStorage.h:44:
- Eigen::internal::matrix_array<T, Size, MatrixOptions, Align>::internal::matrix_array()
- [with T = double, int Size = 2, int MatrixOptions = 2, bool Align = true]:
--Assertion `(reinterpret_cast<size_t>(array) & (sizemask)) == 0 && "this assertion
-+Assertion (reinterpret_cast<size_t>(array) & (sizemask)) == 0 && "this assertion
- is explained here: http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html
- **** READ THIS WEB PAGE !!! ****"' failed.
- </pre>
---
-GitLab
-
-
-From ae263fb905b2dd9ff3ad9b47dc44f90466f7b1c8 Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Tue, 16 Dec 2025 10:40:27 +0100
-Subject: [PATCH 4/4] doc: define eigenAutoToc alias
-
-Fix for doxygen 1.15:
-```
-doc/Manual.dox:95: error: Found unexpanded alias '\cpp17'. Check if number of arguments passed is correct.
-doc/Manual.dox:98: error: Found unexpanded alias '\eigenAutoToc'. Check if number of arguments passed is correct.
-```
----
- doc/Doxyfile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
-index 25a7e2e9a..445fc0a6f 100644
---- a/doc/Doxyfile.in
-+++ b/doc/Doxyfile.in
-@@ -32,7 +32,7 @@ ALIASES = "only_for_vectors=This is only for vectors (either row-
- "cpp14=<span class='cpp14'>[c++14]</span>" \
- "cpp17=<span class='cpp17'>[c++17]</span>" \
- "newin{1}=<span class='newin3x'>New in %Eigen \1.</span>" \
-- eigenAutoToc= \
-+ "eigenAutoToc=<!-- TOC placeholder -->" \
- eigenManualPage=\defgroup
- EXTENSION_MAPPING = .h=C++ \
- no_extension=C++
---
-GitLab
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch b/dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch
deleted file mode 100644
index ee8ab16793cb..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.0-please_protect_your_min_with_parentheses.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 056b77036b4c97fee25bbd7a747e55c75c79cd48 Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Tue, 23 Sep 2025 00:40:14 +0200
-Subject: [PATCH] please protect your min with parentheses
-
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/Eigen/src/Core/products/Parallelizer.h b/Eigen/src/Core/products/Parallelizer.h
-index 4f36689..899d78f 100644
---- a/Eigen/src/Core/products/Parallelizer.h
-+++ b/Eigen/src/Core/products/Parallelizer.h
-@@ -141,7 +141,7 @@ inline void manage_multi_threading(Action action, int* v) {
- // for OpenMP.
- eigen_internal_assert(*v >= 0);
- int omp_threads = omp_get_max_threads();
-- m_maxThreads = (*v == 0 ? omp_threads : std::min(*v, omp_threads));
-+ m_maxThreads = (*v == 0 ? omp_threads : (std::min)(*v, omp_threads));
- #elif defined(EIGEN_GEMM_THREADPOOL)
- // Calling action == SetAction and *v = 0 means
- // restoring m_maxThreads to the number of threads in the ThreadPool,
-diff --git a/test/product_threaded.cpp b/test/product_threaded.cpp
-index 1782c28..85c2615 100644
---- a/test/product_threaded.cpp
-+++ b/test/product_threaded.cpp
-@@ -7,6 +7,7 @@
- // Public License v. 2.0. If a copy of the MPL was not distributed
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-+#define EIGEN_DONT_PARALLELIZE
- #define EIGEN_GEMM_THREADPOOL
- #include "main.h"
-
---
-2.51.0
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch b/dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch
deleted file mode 100644
index 9a740351ead9..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.1-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From d0e70fb11f54ccc8117030482fb7b3b359261cbf Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Mon, 22 Dec 2025 17:19:51 +0100
-Subject: Do not show deprecated CUDA device properties for CUDA-13
-
-Fixes: 9e5714b93b3a0d7848e72db5fa2b58decaa60297
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/test/gpu_common.h b/test/gpu_common.h
-index f34f1b078..f47742079 100644
---- a/test/gpu_common.h
-+++ b/test/gpu_common.h
-@@ -153,9 +153,13 @@ void ei_test_init_gpu() {
- std::cout << " warpSize: " << deviceProp.warpSize << "\n";
- std::cout << " regsPerBlock: " << deviceProp.regsPerBlock << "\n";
- std::cout << " concurrentKernels: " << deviceProp.concurrentKernels << "\n";
-+#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000
- std::cout << " clockRate: " << deviceProp.clockRate << "\n";
-+#endif
- std::cout << " canMapHostMemory: " << deviceProp.canMapHostMemory << "\n";
-+#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000
- std::cout << " computeMode: " << deviceProp.computeMode << "\n";
-+#endif
- }
-
- #endif // EIGEN_TEST_GPU_COMMON_H
---
-2.52.0
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch b/dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch
deleted file mode 100644
index c770cbe827cc..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.1-c++-20.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Nicholas Vinson <nvinson234@gmail.com>
-Date: Mon, 15 Dec 2025 20:37:04 -0500
-
---- a/Eigen/src/Eigenvalues/ComplexSchur.h
-+++ b/Eigen/src/Eigenvalues/ComplexSchur.h
-@@ -277,7 +277,8 @@
- using std::abs;
- if ((iter == 10 || iter == 20) && iu > 1) {
- // exceptional shift, taken from http://www.netlib.org/eispack/comqr.f
-- return abs(numext::real(m_matT.coeff(iu, iu - 1))) + abs(numext::real(m_matT.coeff(iu - 1, iu - 2)));
-+ return ComplexSchur<MatrixType>::ComplexScalar(
-+ abs(numext::real(m_matT.coeff(iu, iu - 1))) + abs(numext::real(m_matT.coeff(iu - 1, iu - 2))));
- }
-
- // compute the shift as one of the eigenvalues of t, the 2x2
---- a/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
-+++ b/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
-@@ -86,7 +86,7 @@
- for (Index i = 0; i < rows; i++)
- mx = (std::max)(mx, std::abs(m_f(Ashifted(i, i) + avgEival, static_cast<int>(s + r))));
- if (r != 0) rfactorial *= RealScalar(r);
-- delta = (std::max)(delta, mx / rfactorial);
-+ delta = (std::max)(delta, RealScalar(mx / rfactorial));
- }
- const RealScalar P_norm = P.cwiseAbs().rowwise().sum().maxCoeff();
- if (mu * delta * P_norm < NumTraits<Scalar>::epsilon() * F_norm) // series converged
---
-2.52.0
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch b/dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch
deleted file mode 100644
index d68e31b132ed..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.1-cmake-GNUInstallDirs.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From efcf4891a83e2757aa70de61eb17d81963085c20 Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Sat, 27 Dec 2025 15:39:40 +0100
-Subject: cmake GNUInstallDirs
-
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt
-index 45488d7..f0f88c0 100644
---- a/blas/CMakeLists.txt
-+++ b/blas/CMakeLists.txt
-@@ -31,10 +31,8 @@ foreach(target IN LISTS EIGEN_BLAS_TARGETS)
- endif()
-
- add_dependencies(blas ${target})
-- install(TARGETS ${target}
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib)
-+ include(GNUInstallDirs)
-+ install(TARGETS ${target})
- endforeach()
-
- if(EIGEN_BUILD_TESTING)
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index da07b19d6..dec130bd5 100644
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -4,6 +4,8 @@ set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE)
-
- project(EigenDoc)
-
-+include(GNUInstallDirs)
-+
- if(CMAKE_COMPILER_IS_GNUCXX)
- if(CMAKE_SYSTEM_NAME MATCHES Linux)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O1 -g1")
-diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt
-index d837fff..9e127a6 100644
---- a/lapack/CMakeLists.txt
-+++ b/lapack/CMakeLists.txt
-@@ -120,10 +120,8 @@ foreach(target IN LISTS EIGEN_LAPACK_TARGETS)
- endif()
- target_link_libraries(${target} Eigen3::Eigen)
- add_dependencies(lapack ${target})
-- install(TARGETS ${target}
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib)
-+ include(GNUInstallDirs)
-+ install(TARGETS ${target})
- endforeach()
-
-
---
-2.52.0
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch b/dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch
deleted file mode 100644
index cbba85d882cb..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.1-fix-lapack_testing.py.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From 8d05fb579428b57a784f72e054295ebfeac5864d Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Fri, 13 Mar 2026 18:43:46 +0100
-Subject: fix lapack_testing.py
-
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/lapack/testing/lapack_testing.py b/lapack/testing/lapack_testing.py
-index 3bd9462..b35e15d 100755
---- a/lapack/testing/lapack_testing.py
-+++ b/lapack/testing/lapack_testing.py
-@@ -15,9 +15,9 @@ try:
- opts, args = getopt.getopt(sys.argv[1:], "hd:srep:t:n",
- ["help", "dir", "short", "run", "error","prec=","test=","number"])
-
--except getopt.error, msg:
-- print msg
-- print "for help use --help"
-+except (getopt.error, msg):
-+ print(msg)
-+ print("for help use --help")
- sys.exit(2)
-
- short_summary=0
-@@ -29,38 +29,38 @@ only_numbers=0
- dir="TESTING"
- for o, a in opts:
- if o in ("-h", "--help"):
-- print sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]"
-- print " - h is to print this message"
-- print " - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests"
-- print " - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use ."
-- print " LEVEL OF OUTPUT"
-- print " - x is to print a detailed summary"
-- print " - e is to print only the error summary"
-- print " - s is to print a short summary"
-- print " - n is to print the numbers of failing tests (turn on summary mode)"
-- print " SECLECTION OF TESTS:"
-- print " - p [s/c/d/z/x] is to indicate the PRECISION to run:"
-- print " s=single"
-- print " d=double"
-- print " sd=single/double"
-- print " c=complex"
-- print " z=double complex"
-- print " cz=complex/double complex"
-- print " x=all [DEFAULT]"
-- print " - t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:"
-- print " lin=Linear Equation"
-- print " eig=Eigen Problems"
-- print " mixed=mixed-precision"
-- print " rfp=rfp format"
-- print " all=all tests [DEFAULT]"
-- print " EXAMPLES:"
-- print " ./lapack_testing.py -n"
-- print " Will return the numbers of failed tests by analyzing the LAPACK output"
-- print " ./lapack_testing.py -n -r -p s"
-- print " Will return the numbers of failed tests in REAL precision by running the LAPACK Tests then analyzing the output"
-- print " ./lapack_testing.py -n -p s -t eig "
-- print " Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings"
-- print "Written by Julie Langou (June 2011) "
-+ print(sys.argv[0]+" [-h|--help] [-d dir |--dir dir] [-s |--short] [-r |--run] [-e |--error] [-p p |--prec p] [-t test |--test test] [-n | --number]")
-+ print(" - h is to print this message")
-+ print(" - r is to use to run the LAPACK tests then analyse the output (.out files). By default, the script will not run all the LAPACK tests")
-+ print(" - d [dir] is to indicate where is the LAPACK testing directory (.out files). By default, the script will use .")
-+ print(" LEVEL OF OUTPUT")
-+ print(" - x is to print a detailed summary")
-+ print(" - e is to print only the error summary")
-+ print(" - s is to print a short summary")
-+ print(" - n is to print the numbers of failing tests (turn on summary mode)")
-+ print(" SECLECTION OF TESTS:")
-+ print(" - p [s/c/d/z/x] is to indicate the PRECISION to run:")
-+ print(" s=single")
-+ print(" d=double")
-+ print(" sd=single/double")
-+ print(" c=complex")
-+ print(" z=double complex")
-+ print(" cz=complex/double complex")
-+ print(" x=all [DEFAULT]")
-+ print(" - t [lin/eig/mixed/rfp/all] is to indicate which TEST FAMILY to run:")
-+ print(" lin=Linear Equation")
-+ print(" eig=Eigen Problems")
-+ print(" mixed=mixed-precision")
-+ print(" rfp=rfp format")
-+ print(" all=all tests [DEFAULT]")
-+ print(" EXAMPLES:")
-+ print(" ./lapack_testing.py -n")
-+ print(" Will return the numbers of failed tests by analyzing the LAPACK output")
-+ print(" ./lapack_testing.py -n -r -p s")
-+ print(" Will return the numbers of failed tests in REAL precision by running the LAPACK Tests then analyzing the output")
-+ print(" ./lapack_testing.py -n -p s -t eig ")
-+ print(" Will return the numbers of failed tests in REAL precision by analyzing only the LAPACK output of EIGEN testings")
-+ print("Written by Julie Langou (June 2011) ")
- sys.exit(0)
- else:
- if o in ("-s", "--short"):
-@@ -120,34 +120,34 @@ def run_summary_test( f, cmdline, short_summary):
- error_message=cmdline+" did not work"
-
- if r != 0 and not with_file:
-- print "---- TESTING " + cmdline.split()[0] + "... FAILED(" + error_message +") !"
-+ print("---- TESTING " + cmdline.split()[0] + "... FAILED(" + error_message +") !")
- for line in pipe.readlines():
- f.write(str(line))
- elif r != 0 and with_file and not short_summary:
-- print "---- WARNING: please check that you have the LAPACK output : "+cmdline+"!"
-- print "---- WARNING: with the option -r, we can run the LAPACK testing for you"
-+ print("---- WARNING: please check that you have the LAPACK output : "+cmdline+"!")
-+ print("---- WARNING: with the option -r, we can run the LAPACK testing for you")
- # print "---- "+error_message
- else:
- for line in pipe.readlines():
-- f.write(str(line))
-- words_in_line=line.split()
-- if (line.find("run")!=-1):
--# print line
-- whereisrun=words_in_line.index("run)")
-- nb_test_run+=int(words_in_line[whereisrun-2])
-- if (line.find("out of")!=-1):
-- if (short_summary==0): print line,
-- whereisout= words_in_line.index("out")
-- nb_test_fail+=int(words_in_line[whereisout-1])
-- if (line.find("illegal")!=-1):
-- if (short_summary==0):print line,
-- nb_test_illegal+=1
-- if (line.find(" INFO")!=-1):
-- if (short_summary==0):print line,
-- nb_test_info+=1
-- if (with_file==1):
-- pipe.close()
--
-+ f.write(str(line))
-+ words_in_line=line.split()
-+ if (line.find("run")!=-1):
-+# print line
-+ whereisrun=words_in_line.index("run)")
-+ nb_test_run+=int(words_in_line[whereisrun-2])
-+ if (line.find("out of")!=-1):
-+ if (short_summary==0): print(line),
-+ whereisout= words_in_line.index("out")
-+ nb_test_fail+=int(words_in_line[whereisout-1])
-+ if (line.find("illegal")!=-1):
-+ if (short_summary==0):print(line),
-+ nb_test_illegal+=1
-+ if (line.find(" INFO")!=-1):
-+ if (short_summary==0):print(line),
-+ nb_test_info+=1
-+ if (with_file==1):
-+ pipe.close()
-+
- f.flush();
-
- return [nb_test_run,nb_test_fail,nb_test_illegal,nb_test_info]
-@@ -161,10 +161,10 @@ except IOError:
- f = sys.stdout
-
- if (short_summary==0):
-- print " "
-- print "---------------- Testing LAPACK Routines ----------------"
-- print " "
-- print "-- Detailed results are stored in", filename
-+ print(" ")
-+ print("---------------- Testing LAPACK Routines ----------------")
-+ print(" ")
-+ print("-- Detailed results are stored in", filename)
-
- dtypes = (
- ("s", "d", "c", "z"),
-@@ -211,9 +211,9 @@ for dtype in range_prec:
- name = dtypes[1][dtype]
-
- if (short_summary==0):
-- print " "
-- print "------------------------- %s ------------------------" % name
-- print " "
-+ print(" ")
-+ print("------------------------- %s ------------------------" % name)
-+ print(" ")
- sys.stdout.flush()
-
-
-@@ -260,8 +260,8 @@ for dtype in range_prec:
- # EIG TESTS
- cmdbase="xeigtst"+letter+" < "+dtests[0][dtest]+".in > "+dtests[2][dtest]+".out"
- if (not just_errors and not short_summary):
-- print "--> Testing "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]"
-- # Run the process: either to read the file or run the LAPACK testing
-+ print("--> Testing "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]")
-+ # Run the process: either to read the file or run the LAPACK testing
- nb_test = run_summary_test(f, cmdbase, short_summary)
- list_results[0][dtype]+=nb_test[0]
- list_results[1][dtype]+=nb_test[1]
-@@ -271,21 +271,21 @@ for dtype in range_prec:
-
- if (not short_summary):
- if (nb_test[0]>0 and just_errors==0):
-- print "--> Tests passed: "+str(nb_test[0])
-+ print("--> Tests passed: "+str(nb_test[0]))
- if (nb_test[1]>0):
-- print "--> Tests failing to pass the threshold: "+str(nb_test[1])
-+ print("--> Tests failing to pass the threshold: "+str(nb_test[1]))
- if (nb_test[2]>0):
-- print "--> Illegal Error: "+str(nb_test[2])
-+ print("--> Illegal Error: "+str(nb_test[2]))
- if (nb_test[3]>0):
-- print "--> Info Error: "+str(nb_test[3])
-+ print("--> Info Error: "+str(nb_test[3]))
- if (got_error>0 and just_errors==1):
-- print "ERROR IS LOCATED IN "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]"
-- print ""
-+ print("ERROR IS LOCATED IN "+name+" "+dtests[1][dtest]+" [ "+cmdbase+" ]")
-+ print("")
- if (just_errors==0):
-- print ""
-+ print("")
- # elif (got_error>0):
--# print dtests[2][dtest]+".out \t"+str(nb_test[1])+"\t"+str(nb_test[2])+"\t"+str(nb_test[3])
-
-+# print(dtests[2][dtest]+".out \t"+str(nb_test[1])+"\t"+str(nb_test[2])+"\t"+str(nb_test[3]))
- sys.stdout.flush()
- if (list_results[0][dtype] > 0 ):
- percent_num_error=float(list_results[1][dtype])/float(list_results[0][dtype])*100
-@@ -300,9 +300,9 @@ for dtype in range_prec:
- list_results[3][4]+=list_results[3][dtype]
-
- if only_numbers==1:
-- print str(list_results[1][4])+"\n"+str(list_results[2][4]+list_results[3][4])
-+ print(str(list_results[1][4])+"\n"+str(list_results[2][4]+list_results[3][4]))
- else:
-- print summary
-+ print(summary)
- if (list_results[0][4] > 0 ):
- percent_num_error=float(list_results[1][4])/float(list_results[0][4])*100
- percent_error=float(list_results[2][4]+list_results[3][4])/float(list_results[0][4])*100
-@@ -310,9 +310,9 @@ else:
- percent_num_error=0
- percent_error=0
- if (prec=='x'):
-- print "--> ALL PRECISIONS\t"+str(list_results[0][4])+"\t\t"+str(list_results[1][4])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][4]+list_results[3][4])+"\t("+"%.3f" % percent_error+"%)\t""\n"
-+ print("--> ALL PRECISIONS\t"+str(list_results[0][4])+"\t\t"+str(list_results[1][4])+"\t("+"%.3f" % percent_num_error+"%)\t"+str(list_results[2][4]+list_results[3][4])+"\t("+"%.3f" % percent_error+"%)\t""\n")
- if list_results[0][4] == 0:
-- print "NO TESTS WERE ANALYZED, please use the -r option to run the LAPACK TESTING"
-+ print("NO TESTS WERE ANALYZED, please use the -r option to run the LAPACK TESTING")
-
- # This may close the sys.stdout stream, so make it the last statement
- f.close()
---
-2.53.0
-
diff --git a/dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch b/dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch
deleted file mode 100644
index 63272d4a82d8..000000000000
--- a/dev-cpp/eigen/files/eigen-5.0.1-make-static-libs-optional.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 9ddec05248d0084c4bfe737fa9ab3cf61f3ecd4a Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Thu, 12 Mar 2026 16:38:02 +0100
-Subject: make static libs optional
-
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt
-index 2bd498a11..0b605cc9e 100644
---- a/blas/CMakeLists.txt
-+++ b/blas/CMakeLists.txt
-@@ -15,8 +15,10 @@ set(EigenBlas_SRCS single.cpp double.cpp complex_single.cpp complex_double.cpp
-
- set(EIGEN_BLAS_TARGETS "")
-
-+if (EIGEN_BUILD_STATIC_LIBS)
- add_library(eigen_blas_static STATIC ${EigenBlas_SRCS})
- list(APPEND EIGEN_BLAS_TARGETS eigen_blas_static)
-+endif()
-
- if (EIGEN_BUILD_SHARED_LIBS)
- add_library(eigen_blas SHARED ${EigenBlas_SRCS} "eigen_blas.def")
-@@ -34,7 +36,9 @@ foreach(target IN LISTS EIGEN_BLAS_TARGETS)
-
- add_dependencies(blas ${target})
- include(GNUInstallDirs)
-+ if (NOT EIGEN_INSTALL_STATIC_LIBS AND NOT ${target} EQUAL eigen_blas_static)
- install(TARGETS ${target})
-+ endif()
- endforeach()
-
- if(EIGEN_BUILD_TESTING)
-diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt
-index f98f77afc..4ea553b56 100644
---- a/lapack/CMakeLists.txt
-+++ b/lapack/CMakeLists.txt
-@@ -101,9 +101,11 @@ endif()
-
- set(EIGEN_LAPACK_TARGETS "")
-
-+if (EIGEN_BUILD_STATIC_LIBS)
- add_library(eigen_lapack_static STATIC ${EigenLapack_SRCS} ${ReferenceLapack_SRCS})
- target_link_libraries(eigen_lapack_static eigen_blas_static)
- list(APPEND EIGEN_LAPACK_TARGETS eigen_lapack_static)
-+endif()
-
- if (EIGEN_BUILD_SHARED_LIBS)
- add_library(eigen_lapack SHARED ${EigenLapack_SRCS} ${EIGEN_LAPACK_DEF})
-@@ -123,7 +125,9 @@ foreach(target IN LISTS EIGEN_LAPACK_TARGETS)
- target_link_libraries(${target} Eigen3::Eigen)
- add_dependencies(lapack ${target})
- include(GNUInstallDirs)
-+ if (NOT EIGEN_INSTALL_STATIC_LIBS AND NOT ${target} EQUAL eigen_lapack_static)
- install(TARGETS ${target})
-+ endif()
- endforeach()
-
-
---
-2.53.0
-
diff --git a/dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch b/dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch
deleted file mode 100644
index 0d762191009c..000000000000
--- a/dev-cpp/eigen/files/eigen-9999-Do-not-show-deprecated-CUDA-device-properties-for-CU.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f14dfe5022870966d0d888651f0d4f5b3af5f25c Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Mon, 22 Dec 2025 17:19:51 +0100
-Subject: Do not show deprecated CUDA device properties for CUDA-13
-
-Fixes: 9e5714b93b3a0d7848e72db5fa2b58decaa60297
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/test/gpu_common.h b/test/gpu_common.h
-index 8c7049b17..f47742079 100644
---- a/test/gpu_common.h
-+++ b/test/gpu_common.h
-@@ -153,7 +153,13 @@ void ei_test_init_gpu() {
- std::cout << " warpSize: " << deviceProp.warpSize << "\n";
- std::cout << " regsPerBlock: " << deviceProp.regsPerBlock << "\n";
- std::cout << " concurrentKernels: " << deviceProp.concurrentKernels << "\n";
-+#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000
-+ std::cout << " clockRate: " << deviceProp.clockRate << "\n";
-+#endif
- std::cout << " canMapHostMemory: " << deviceProp.canMapHostMemory << "\n";
-+#if defined(EIGEN_CUDA_SDK_VER) && EIGEN_CUDA_SDK_VER < 130000
-+ std::cout << " computeMode: " << deviceProp.computeMode << "\n";
-+#endif
- }
-
- #endif // EIGEN_TEST_GPU_COMMON_H
---
-2.53.0
-
diff --git a/dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch b/dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch
deleted file mode 100644
index 4153896b3933..000000000000
--- a/dev-cpp/eigen/files/eigen-9999-product_threaded_dont_parallelize.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 056b77036b4c97fee25bbd7a747e55c75c79cd48 Mon Sep 17 00:00:00 2001
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Date: Tue, 23 Sep 2025 00:40:14 +0200
-Subject: [PATCH] product_threaded don't parallelize
-
-Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
-
-diff --git a/test/product_threaded.cpp b/test/product_threaded.cpp
-index 1782c28..85c2615 100644
---- a/test/product_threaded.cpp
-+++ b/test/product_threaded.cpp
-@@ -8,6 +8,7 @@
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- // SPDX-License-Identifier: MPL-2.0
-
-+#define EIGEN_DONT_PARALLELIZE
- #define EIGEN_GEMM_THREADPOOL
- #include "main.h"
-
---
-2.51.0
-
diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml
deleted file mode 100644
index 17014deef36d..000000000000
--- a/dev-cpp/eigen/metadata.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <longdescription>
- Eigen is a lightweight C++ template library for vector and matrix math,
- a.k.a. linear algebra. Unlike most other linear algebra libraries, Eigen
- focuses on the simple mathematical needs of applications: games and other
- OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to
- providing optimal speed with GCC.
- </longdescription>
- <use>
- <flag name="adolc">Add test support for Adolc (<pkg>sci-libs/adolc</pkg>)</flag>
- <flag name="blas">Build the Eigen Blas library</flag>
- <flag name="boost">Add test support for Boost.Multiprecision (<pkg>dev-libs/boost</pkg>)</flag>
- <flag name="cholmod">Add test support for CHOLMOD (<pkg>sci-libs/cholmod</pkg>)</flag>
- <flag name="clang">Use clang for cuda units compilation</flag>
- <flag name="cuda-clang">Use clang for cuda units compilation</flag>
- <flag name="fftw">Add test support for fftw (<pkg>sci-libs/fftw</pkg>)</flag>
- <flag name="hip">Enable HIP GPU computing support</flag>
- <flag name="klu">Add test support for KLU (<pkg>sci-libs/klu</pkg>)</flag>
- <flag name="lapack">Build the included Eigen LAPACK library</flag>
- <flag name="mathjax">Use MathJax for rendering math in HTML docs (dev-libs/mathjax)</flag>
- <flag name="metis">Add test support for METIS (<pkg>sci-libs/metis</pkg>)</flag>
- <flag name="opengl">Add test support for OpenGL</flag>
- <flag name="openmp">Add test support for OpenMP (support parallel computing)</flag>
- <flag name="pastix">Add test support for PaStiX (<pkg>sci-libs/pastix</pkg>)</flag>
- <flag name="pocketfft">Add test support for pocketfft (<pkg>dev-libs/pocketfft</pkg>)</flag>
- <flag name="sparsehash">Add test support for GoogleHash (<pkg>dev-cpp/sparsehash</pkg>)</flag>
- <flag name="spqr">Add test support for SPQR (<pkg>sci-libs/spqr</pkg>)</flag>
- <flag name="superlu">Add test support for SuperLU (<pkg>sci-libs/superlu</pkg>)</flag>
- <flag name="umfpack">Add test support for UMFPACK (<pkg>sci-libs/umfpack</pkg>)</flag>
- </use>
- <upstream>
- <remote-id type="gitlab">libeigen/eigen</remote-id>
- </upstream>
-</pkgmetadata>