diff options
Diffstat (limited to 'dev-cpp/eigen')
| -rw-r--r-- | dev-cpp/eigen/Manifest | 1 | ||||
| -rw-r--r-- | dev-cpp/eigen/eigen-3.4.0-r3.ebuild | 458 | ||||
| -rw-r--r-- | dev-cpp/eigen/eigen-3.4.1-r1.ebuild (renamed from dev-cpp/eigen/eigen-3.4.1.ebuild) | 4 | ||||
| -rw-r--r-- | dev-cpp/eigen/files/eigen-3.4.0-cxxstandard.patch | 108 | ||||
| -rw-r--r-- | dev-cpp/eigen/files/eigen-3.4.0-noansi.patch | 18 | ||||
| -rw-r--r-- | dev-cpp/eigen/files/eigen-3.4.0-ppc-no-vsx.patch | 195 | ||||
| -rw-r--r-- | dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch | 19 |
7 files changed, 22 insertions, 781 deletions
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index e78035ce5e3c..a4baa003538b 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -1,4 +1,3 @@ -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 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-r1.ebuild index 65f1b42f809f..bdc98bc7841d 100644 --- a/dev-cpp/eigen/eigen-3.4.1.ebuild +++ b/dev-cpp/eigen/eigen-3.4.1-r1.ebuild @@ -30,7 +30,7 @@ else 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" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" fi SRC_URI+=" @@ -231,6 +231,8 @@ PATCHES=( "${DISTDIR}/${P}_p1.patch" "${DISTDIR}/${P}_p2.patch" + + "${FILESDIR}/${P}-fix-Werror-undef.patch" # bug 976285 ) # TODO should be in cuda.eclass 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-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-fix-Werror-undef.patch b/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch new file mode 100644 index 000000000000..9772616e9c16 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.4.1-fix-Werror-undef.patch @@ -0,0 +1,19 @@ +Fixes likely mistake in conflict resolution of upstream backport +of a73970a8640330c4908d68ef9257fd31a4fdae9. + +EIGEN_COMP_CLANG_STRICT does not exist in 3.4 branch and was not +touched in the original commit. + +Gentoo-bug: https://bugs.gentoo.org/976285 + +--- a/Eigen/src/Core/util/ConfigureVectorization.h ++++ b/Eigen/src/Core/util/ConfigureVectorization.h +@@ -445,7 +445,7 @@ + #define EIGEN_VECTORIZE_FMA + #endif + +-#if defined(__F16C__) && !defined(EIGEN_GPUCC) && (!EIGEN_COMP_CLANG_STRICT || EIGEN_COMP_CLANG>=380) ++#if defined(__F16C__) && (!defined(EIGEN_GPUCC) && (!defined(EIGEN_COMP_CLANG) || EIGEN_COMP_CLANG>=380)) + // We can use the optimized fp16 to float and float to fp16 conversion routines + #define EIGEN_HAS_FP16_C + |
