summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2024-05-16 15:03:40 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2024-05-16 15:04:41 +0200
commit4287001e86ee127e39307e405e35c42bb50c41dc (patch)
tree9190b4828f2441e02c7051a4210b72df381ad5e5 /dev-cpp/eigen/eigen-3.4.9999.ebuild
parentsys-kernel/linux-firmware: Remove non-existant blockers (diff)
downloadgentoo-4287001e86ee127e39307e405e35c42bb50c41dc.tar.gz
gentoo-4287001e86ee127e39307e405e35c42bb50c41dc.tar.bz2
gentoo-4287001e86ee127e39307e405e35c42bb50c41dc.zip
dev-cpp/eigen: drop broken 3.4.9999 ebuild
Closes: https://bugs.gentoo.org/928160 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-cpp/eigen/eigen-3.4.9999.ebuild')
-rw-r--r--dev-cpp/eigen/eigen-3.4.9999.ebuild432
1 files changed, 0 insertions, 432 deletions
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 e4f1e0613661..000000000000
--- a/dev-cpp/eigen/eigen-3.4.9999.ebuild
+++ /dev/null
@@ -1,432 +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 ~ia64 ~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="benchmark ${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? (
- sys-devel/clang[llvm_targets_NVPTX]
- openmp? ( sys-libs/libomp[llvm_targets_NVPTX,offload] )
- )
- )
- hip? ( dev-util/hip )
- lapack? ( virtual/lapacke )
- ${TEST_BACKENDS}
- )
-"
-
-REQUIRED_USE="
- || ( ${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_BTL="$(usex benchmark)" # Build benchmark suite
- -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() {
- if use cuda ; then
- cuda_add_sandbox -w
- fi
-
- local myctestargs=(
- -j1 # otherwise breaks due to cmake reruns
- )
-
- cmake_src_test
-}