diff options
Diffstat (limited to 'dev-cpp/eigen')
-rw-r--r-- | dev-cpp/eigen/Manifest | 3 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-3.4.0-r2.ebuild | 457 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-3.4.0-r3.ebuild | 2 |
3 files changed, 2 insertions, 460 deletions
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index 3272f59f0be3..f85e1015f253 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -7,7 +7,6 @@ AUX eigen-3.4.0-ppc-no-vsx.patch 6739 BLAKE2B 9b61a58c671353de4a8675af62d4168c8e AUX eigen-9999-please_protect_your_min_with_parentheses.patch 1979 BLAKE2B 50da0559d66338af6d27b8fd8ec5b1273e27bda992e40db62044c1d6a8cc4a066f0d9c9ca2061af4384decaaa7ebe4a4964c8c7dfb4e1b2abca10a1c9e9e2715 SHA512 a0ecb745768e2118af687c6b316520c782f23e43fc33f603b06c5bd9bea141161d9547eacdd16f0038ba49c0307670a7549d3ba570b54b8d44d3a96a94895ff0 DIST eigen-3.4.0.tar.bz2 2143091 BLAKE2B a32aac13cbab68cfaaa252d8a406e6a36ecfd1239361412b1f9baa08284a94467479c08ffae10cb847e9916472b46b1c1af4efbf81f957c8200a4379acd42c42 SHA512 cc488eb111e0e248744d2bc4475b345b5fb82361dff226a5b73a33bd0388de8c219cff8cffcf8f476b672fc0e223f339e8c6a1cfb6293840a4a6abf232438a89 DIST eigen-lapack_addons-3.4.1.tgz 6215074 BLAKE2B 564c3398de1f4ea249b58957a482cda0b5eb99e5021e1f18abf3b4d2893fed48912bfa8386681fcae03dd933eea91644f7429d47a53684d64462209a6ae76f30 SHA512 5a827d0befb521cb430f0d63f5000e7955359bc637cdb7292d942712e98c0702570a5b650a72fc609bf5b43633661c0e51de7761ae892df6ff0aab667f436edf -EBUILD eigen-3.4.0-r2.ebuild 12324 BLAKE2B 4bb7ee9c02d4588a70620843a436ce1314ed174f4b5f84ecdd22e5961bbb23a03bff15a4834cbbc91fcbdfa98f4f9870d7bf7d6df6beaed3071c29e3c248de7f SHA512 3328a26167445fd320416a39e6a596525c7ac2c07cf35e355e4423444710005a65d56646991e543394e02abf0e7298e614ba04e175fe22f318febf55a13211d6 -EBUILD eigen-3.4.0-r3.ebuild 12410 BLAKE2B 5c021960ac81770f3df2d98e03d3e66bf6764d03a7c9438c2aebc4653c8e44fa71a4fcbe4d09dcb75d453e99fe8f98f6ab0face632446227d9ae9e197c05ff6f SHA512 e4145e83e22224a261be0d7fea97c5c59dd605e6d7d81c08ff3054f813c933d6af42ccf9ce828a359789600bbf2427e24db0db4ea57a2ac3ce5df9ab57f20da7 +EBUILD eigen-3.4.0-r3.ebuild 12409 BLAKE2B d1545b92ffc93f4623c7fc222f77652cd4ae3680e0a62d100bc516603f8945382d72f476dd2278b9e3c0b2719d41757b897fc01dbf6c11b042968ba9f2302ad7 SHA512 361acb9b553ac28d73e76d8fdc9f0c04a756f4a26b7786d9c442c50ffc87681a1344c04b06c66c07ec1a5419bcf6b10523e2190b882f9cc96064ef6e76cef8c1 EBUILD eigen-9999.ebuild 11710 BLAKE2B 37dc2a4b3c368178b6d1849a0d9c73135ce58d3ff3f777d814b64ebbcf5097f8a222028b211574bc0ce43841ce0a76df5d69a80b1db38fcd04027456f1dde988 SHA512 29204e4b608009a5dcd64c36724fb0fd261bfd0894789e3a628bc0db0bcd95141a1b571c74e97a00241c62cd8e727c0c1aa7cef56b20d510be61ea8e7bf0ef32 MISC metadata.xml 2122 BLAKE2B ce2287db5f80ce761bc100cc0f6fe3dd549dda68853f0fc40d362e9dce72d5a5398b3d2b9562aa8feafc5b869adaab78a87b65499404df072c35d353ec2f5cd8 SHA512 446fe2316a72f8c058445f4c14bfe4683476f1a041d9af55ab3d1f76b4e2b6e83d0f7aad4a7febcd7c4c5bdfdf1efc30483aaa276ace6ac941488ee3d137c5c7 diff --git a/dev-cpp/eigen/eigen-3.4.0-r2.ebuild b/dev-cpp/eigen/eigen-3.4.0-r2.ebuild deleted file mode 100644 index aaa57a39119d..000000000000 --- a/dev-cpp/eigen/eigen-3.4.0-r2.ebuild +++ /dev/null @@ -1,457 +0,0 @@ -# Copyright 1999-2024 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_COMMIT="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 ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~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 - -# Tests failing again because of compiler issues -RESTRICT="!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} - ) -" - -REQUIRED_USE=" - test? ( !lapack ) - || ( ${IUSE_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" -) - -# 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.0-r3.ebuild b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild index 8eb432c677b8..02dfdd92dceb 100644 --- a/dev-cpp/eigen/eigen-3.4.0-r3.ebuild +++ b/dev-cpp/eigen/eigen-3.4.0-r3.ebuild @@ -20,7 +20,7 @@ else 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 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" fi LICENSE="MPL-2.0" |