Accepting request 913225 from home:badshah400:branches:science
* Update to version 3.4.0 * Drop patches incorporated or otherwise fixed upstream: * eigen3-CastXML-support-for-aarch64.patch. * eigen3-make-sparseqr-unit-test-stable.patch. * eigen3-failtests-handling.patch. * Rebase following patches for updated sources: * 0001-Disable-Altivec-for-ppc64le.patch. * 0001-Do-stack-allignment-on-ppc.patch. * Minor line offset adjustments of other patches to apply cleanly. OBS-URL: https://build.opensuse.org/request/show/913225 OBS-URL: https://build.opensuse.org/package/show/science/eigen3?expand=0&rev=39
This commit is contained in:
parent
6abcd6dc23
commit
534ab5c97e
@ -7,16 +7,16 @@ Subject: [PATCH] Disable Altivec for ppc64le
|
||||
Eigen/Core | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: eigen-3.3.8/Eigen/Core
|
||||
Index: eigen-3.4.0/Eigen/src/Core/util/ConfigureVectorization.h
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/Eigen/Core
|
||||
+++ eigen-3.3.8/Eigen/Core
|
||||
@@ -220,7 +220,7 @@
|
||||
#undef bool
|
||||
--- eigen-3.4.0.orig/Eigen/src/Core/util/ConfigureVectorization.h
|
||||
+++ eigen-3.4.0/Eigen/src/Core/util/ConfigureVectorization.h
|
||||
@@ -374,7 +374,7 @@
|
||||
#undef vector
|
||||
#undef pixel
|
||||
|
||||
- #elif defined __ALTIVEC__
|
||||
+ #elif defined __ALTIVEC__ && _CALL_ELF != 2
|
||||
|
||||
#define EIGEN_VECTORIZE
|
||||
#define EIGEN_VECTORIZE_ALTIVEC
|
||||
#include <altivec.h>
|
||||
|
@ -7,16 +7,16 @@ Subject: [PATCH] Do stack allignment on ppc
|
||||
Eigen/src/Core/util/Macros.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: eigen-3.3.8/Eigen/src/Core/util/Macros.h
|
||||
Index: eigen-3.4.0/Eigen/src/Core/util/ConfigureVectorization.h
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/Eigen/src/Core/util/Macros.h
|
||||
+++ eigen-3.3.8/Eigen/src/Core/util/Macros.h
|
||||
@@ -718,7 +718,7 @@ namespace Eigen {
|
||||
--- eigen-3.4.0.orig/Eigen/src/Core/util/ConfigureVectorization.h
|
||||
+++ eigen-3.4.0/Eigen/src/Core/util/ConfigureVectorization.h
|
||||
@@ -103,7 +103,7 @@
|
||||
// certain common platform (compiler+architecture combinations) to avoid these problems.
|
||||
// Only static alignment is really problematic (relies on nonstandard compiler extensions),
|
||||
// try to keep heap alignment even when we have to disable static alignment.
|
||||
- #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_PPC || EIGEN_ARCH_IA64)
|
||||
+ #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_IA64)
|
||||
- #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_PPC || EIGEN_ARCH_IA64 || EIGEN_ARCH_MIPS)
|
||||
+ #if EIGEN_COMP_GNUC && !(EIGEN_ARCH_i386_OR_x86_64 || EIGEN_ARCH_ARM_OR_ARM64 || EIGEN_ARCH_IA64 || EIGEN_ARCH_MIPS)
|
||||
#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 1
|
||||
#elif EIGEN_ARCH_ARM_OR_ARM64 && EIGEN_COMP_GNUC_STRICT && EIGEN_GNUC_AT_MOST(4, 6)
|
||||
// Old versions of GCC on ARM, at least 4.4, were once seen to have buggy static alignment support.
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: eigen-3.3.8/CMakeLists.txt
|
||||
Index: eigen-3.4.0/CMakeLists.txt
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/CMakeLists.txt
|
||||
+++ eigen-3.3.8/CMakeLists.txt
|
||||
@@ -429,6 +429,11 @@ install(FILES
|
||||
--- eigen-3.4.0.orig/CMakeLists.txt
|
||||
+++ eigen-3.4.0/CMakeLists.txt
|
||||
@@ -466,6 +466,11 @@ install(FILES
|
||||
DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
|
||||
)
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0fa5cafe78f66d2b501b43016858070d52ba47bd9b1016b0165a7b8e04675677
|
||||
size 1667231
|
BIN
eigen-3.4.0.tar.bz2
(Stored with Git LFS)
Normal file
BIN
eigen-3.4.0.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
Index: eigen-3.3.8/CMakeLists.txt
|
||||
Index: eigen-3.4.0/CMakeLists.txt
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/CMakeLists.txt
|
||||
+++ eigen-3.3.8/CMakeLists.txt
|
||||
@@ -536,7 +536,7 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD
|
||||
--- eigen-3.4.0.orig/CMakeLists.txt
|
||||
+++ eigen-3.4.0/CMakeLists.txt
|
||||
@@ -598,7 +598,7 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD
|
||||
set ( EIGEN_VERSION_MINOR ${EIGEN_MAJOR_VERSION} )
|
||||
set ( EIGEN_VERSION_PATCH ${EIGEN_MINOR_VERSION} )
|
||||
set ( EIGEN_DEFINITIONS "")
|
||||
@ -10,4 +10,4 @@ Index: eigen-3.3.8/CMakeLists.txt
|
||||
+set ( EIGEN_INCLUDE_DIR ${INCLUDE_INSTALL_DIR} )
|
||||
set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
|
||||
|
||||
# Interface libraries require at least CMake 3.0
|
||||
include (CMakePackageConfigHelpers)
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 880fa43b2ba9c25f45ae3ad4871a6aabe558329f Mon Sep 17 00:00:00 2001
|
||||
From: Brad King <brad.king@kitware.com>
|
||||
Date: Wed, 16 Sep 2020 13:37:27 -0400
|
||||
Subject: [PATCH] Add support for CastXML on ARM aarch64
|
||||
|
||||
CastXML simulates the preprocessors of other compilers, but actually
|
||||
parses the translation unit with an internal Clang compiler.
|
||||
Use the same `vld1q_u64` workaround that we do for Clang.
|
||||
|
||||
Fixes: #1979
|
||||
---
|
||||
Eigen/src/Core/arch/NEON/Complex.h | 4 ++--
|
||||
Eigen/src/Core/util/Macros.h | 6 ++++++
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: eigen-3.3.8/Eigen/src/Core/arch/NEON/Complex.h
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/Eigen/src/Core/arch/NEON/Complex.h
|
||||
+++ eigen-3.3.8/Eigen/src/Core/arch/NEON/Complex.h
|
||||
@@ -17,7 +17,7 @@ namespace internal {
|
||||
|
||||
inline uint32x4_t p4ui_CONJ_XOR() {
|
||||
// See bug 1325, clang fails to call vld1q_u64.
|
||||
-#if EIGEN_COMP_CLANG
|
||||
+#if EIGEN_COMP_CLANG || EIGEN_COMP_CASTXML
|
||||
uint32x4_t ret = { 0x00000000, 0x80000000, 0x00000000, 0x80000000 };
|
||||
return ret;
|
||||
#else
|
||||
@@ -291,7 +291,7 @@ ptranspose(PacketBlock<Packet2cf,2>& ker
|
||||
#if EIGEN_ARCH_ARM64 && !EIGEN_APPLE_DOUBLE_NEON_BUG
|
||||
|
||||
// See bug 1325, clang fails to call vld1q_u64.
|
||||
-#if EIGEN_COMP_CLANG
|
||||
+#if EIGEN_COMP_CLANG || EIGEN_COMP_CASTXML
|
||||
static uint64x2_t p2ul_CONJ_XOR = {0x0, 0x8000000000000000};
|
||||
#else
|
||||
const uint64_t p2ul_conj_XOR_DATA[] = { 0x0, 0x8000000000000000 };
|
||||
Index: eigen-3.3.8/Eigen/src/Core/util/Macros.h
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/Eigen/src/Core/util/Macros.h
|
||||
+++ eigen-3.3.8/Eigen/src/Core/util/Macros.h
|
||||
@@ -35,6 +35,12 @@
|
||||
#define EIGEN_COMP_CLANG 0
|
||||
#endif
|
||||
|
||||
+/// \internal EIGEN_COMP_CASTXML set to 1 if being preprocessed by CastXML
|
||||
+#if defined(__castxml__)
|
||||
+ #define EIGEN_COMP_CASTXML 1
|
||||
+#else
|
||||
+ #define EIGEN_COMP_CASTXML 0
|
||||
+#endif
|
||||
|
||||
/// \internal EIGEN_COMP_LLVM set to 1 if the compiler backend is llvm
|
||||
#if defined(__llvm__)
|
@ -1,132 +0,0 @@
|
||||
From 72c0bbe2bd1c49c75b6efdb81d0558f8b62578d1 Mon Sep 17 00:00:00 2001
|
||||
From: Gael Guennebaud <g.gael@free.fr>
|
||||
Date: Wed, 12 Dec 2018 15:48:36 +0100
|
||||
Subject: [PATCH] Simplify handling of tests that must fail to compile. Each
|
||||
test is now a normal ctest target, and build properties (compiler+flags) are
|
||||
preserved (instead of starting a new build-dir from scratch).
|
||||
|
||||
---
|
||||
CMakeLists.txt | 5 +----
|
||||
cmake/EigenTesting.cmake | 45 ++++++++++++++++++----------------------
|
||||
failtest/CMakeLists.txt | 10 ---------
|
||||
test/CMakeLists.txt | 5 -----
|
||||
4 files changed, 21 insertions(+), 44 deletions(-)
|
||||
|
||||
Index: eigen-3.3.8/CMakeLists.txt
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/CMakeLists.txt
|
||||
+++ eigen-3.3.8/CMakeLists.txt
|
||||
@@ -497,10 +497,7 @@ message(STATUS "")
|
||||
message(STATUS "Configured Eigen ${EIGEN_VERSION_NUMBER}")
|
||||
message(STATUS "")
|
||||
|
||||
-option(EIGEN_FAILTEST "Enable failtests." OFF)
|
||||
-if(EIGEN_FAILTEST)
|
||||
- add_subdirectory(failtest)
|
||||
-endif()
|
||||
+add_subdirectory(failtest)
|
||||
|
||||
string(TOLOWER "${CMAKE_GENERATOR}" cmake_generator_tolower)
|
||||
if(cmake_generator_tolower MATCHES "makefile")
|
||||
Index: eigen-3.3.8/cmake/EigenTesting.cmake
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/cmake/EigenTesting.cmake
|
||||
+++ eigen-3.3.8/cmake/EigenTesting.cmake
|
||||
@@ -320,37 +320,32 @@ endmacro(ei_add_test_sycl)
|
||||
# note that the test runner for these is CMake itself, when passed -DEIGEN_FAILTEST=ON
|
||||
# so here we're just running CMake commands immediately, we're not adding any targets.
|
||||
macro(ei_add_failtest testname)
|
||||
- get_property(EIGEN_FAILTEST_FAILURE_COUNT GLOBAL PROPERTY EIGEN_FAILTEST_FAILURE_COUNT)
|
||||
- get_property(EIGEN_FAILTEST_COUNT GLOBAL PROPERTY EIGEN_FAILTEST_COUNT)
|
||||
|
||||
- message(STATUS "Checking failtest: ${testname}")
|
||||
- set(filename "${testname}.cpp")
|
||||
- file(READ "${filename}" test_source)
|
||||
-
|
||||
- try_compile(succeeds_when_it_should_fail
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
- "${CMAKE_CURRENT_SOURCE_DIR}/${filename}"
|
||||
- COMPILE_DEFINITIONS "-DEIGEN_SHOULD_FAIL_TO_BUILD")
|
||||
- if (succeeds_when_it_should_fail)
|
||||
- message(STATUS "FAILED: ${testname} build succeeded when it should have failed")
|
||||
- endif()
|
||||
-
|
||||
- try_compile(succeeds_when_it_should_succeed
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
- "${CMAKE_CURRENT_SOURCE_DIR}/${filename}"
|
||||
- COMPILE_DEFINITIONS)
|
||||
- if (NOT succeeds_when_it_should_succeed)
|
||||
- message(STATUS "FAILED: ${testname} build failed when it should have succeeded")
|
||||
- endif()
|
||||
-
|
||||
- if (succeeds_when_it_should_fail OR NOT succeeds_when_it_should_succeed)
|
||||
- math(EXPR EIGEN_FAILTEST_FAILURE_COUNT ${EIGEN_FAILTEST_FAILURE_COUNT}+1)
|
||||
- endif()
|
||||
+ set(test_target_ok ${testname}_ok)
|
||||
+ set(test_target_ko ${testname}_ko)
|
||||
|
||||
- math(EXPR EIGEN_FAILTEST_COUNT ${EIGEN_FAILTEST_COUNT}+1)
|
||||
+ # Add executables
|
||||
+ add_executable(${test_target_ok} ${testname}.cpp)
|
||||
+ add_executable(${test_target_ko} ${testname}.cpp)
|
||||
+
|
||||
+ # Remove them from the normal build process
|
||||
+ set_target_properties(${test_target_ok} ${test_target_ko} PROPERTIES
|
||||
+ EXCLUDE_FROM_ALL TRUE
|
||||
+ EXCLUDE_FROM_DEFAULT_BUILD TRUE)
|
||||
+
|
||||
+ # Configure the failing test
|
||||
+ target_compile_definitions(${test_target_ko} PRIVATE EIGEN_SHOULD_FAIL_TO_BUILD)
|
||||
+
|
||||
+ # Add the tests to ctest.
|
||||
+ add_test(NAME ${test_target_ok}
|
||||
+ COMMAND ${CMAKE_COMMAND} --build . --target ${test_target_ok} --config $<CONFIGURATION>
|
||||
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
+ add_test(NAME ${test_target_ko}
|
||||
+ COMMAND ${CMAKE_COMMAND} --build . --target ${test_target_ko} --config $<CONFIGURATION>
|
||||
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
- set_property(GLOBAL PROPERTY EIGEN_FAILTEST_FAILURE_COUNT ${EIGEN_FAILTEST_FAILURE_COUNT})
|
||||
- set_property(GLOBAL PROPERTY EIGEN_FAILTEST_COUNT ${EIGEN_FAILTEST_COUNT})
|
||||
+ # Expect the second test to fail
|
||||
+ set_tests_properties(${test_target_ko} PROPERTIES WILL_FAIL TRUE)
|
||||
endmacro(ei_add_failtest)
|
||||
|
||||
# print a summary of the different options
|
||||
Index: eigen-3.3.8/failtest/CMakeLists.txt
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/failtest/CMakeLists.txt
|
||||
+++ eigen-3.3.8/failtest/CMakeLists.txt
|
||||
@@ -1,4 +1,3 @@
|
||||
-message(STATUS "Running the failtests")
|
||||
|
||||
ei_add_failtest("failtest_sanity_check")
|
||||
|
||||
@@ -64,12 +63,3 @@ ei_add_failtest("bdcsvd_int")
|
||||
ei_add_failtest("eigensolver_int")
|
||||
ei_add_failtest("eigensolver_cplx")
|
||||
|
||||
-if (EIGEN_FAILTEST_FAILURE_COUNT)
|
||||
- message(FATAL_ERROR
|
||||
- "${EIGEN_FAILTEST_FAILURE_COUNT} out of ${EIGEN_FAILTEST_COUNT} failtests FAILED. "
|
||||
- "To debug these failures, manually compile these programs in ${CMAKE_CURRENT_SOURCE_DIR}, "
|
||||
- "with and without #define EIGEN_SHOULD_FAIL_TO_BUILD.")
|
||||
-else()
|
||||
- message(STATUS "Failtest SUCCESS: all ${EIGEN_FAILTEST_COUNT} failtests passed.")
|
||||
- message(STATUS "")
|
||||
-endif()
|
||||
Index: eigen-3.3.8/test/CMakeLists.txt
|
||||
===================================================================
|
||||
--- eigen-3.3.8.orig/test/CMakeLists.txt
|
||||
+++ eigen-3.3.8/test/CMakeLists.txt
|
||||
@@ -380,10 +380,6 @@ endif(CUDA_FOUND)
|
||||
|
||||
endif(EIGEN_TEST_CUDA)
|
||||
|
||||
-
|
||||
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/failtests)
|
||||
-add_test(NAME failtests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/failtests COMMAND ${CMAKE_COMMAND} ${Eigen_SOURCE_DIR} -G "${CMAKE_GENERATOR}" -DEIGEN_FAILTEST=ON)
|
||||
-
|
||||
option(EIGEN_TEST_BUILD_DOCUMENTATION "Test building the doxygen documentation" OFF)
|
||||
IF(EIGEN_TEST_BUILD_DOCUMENTATION)
|
||||
add_dependencies(buildtests doc)
|
@ -1,66 +0,0 @@
|
||||
From 3b5deeb546d4017b24846f5b0dc3296a50a039fe Mon Sep 17 00:00:00 2001
|
||||
From: Gael Guennebaud <g.gael@free.fr>
|
||||
Date: Tue, 19 Feb 2019 22:57:51 +0100
|
||||
Subject: [PATCH] bug #899: make sparseqr unit test more stable by 1) trying
|
||||
with larger threshold and 2) relax rank computation for rank-deficient
|
||||
problems.
|
||||
|
||||
---
|
||||
test/sparseqr.cpp | 31 ++++++++++++++++++++++++++-----
|
||||
1 file changed, 26 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/test/sparseqr.cpp b/test/sparseqr.cpp
|
||||
index 3ffe62314..3576cc626 100644
|
||||
--- a/test/sparseqr.cpp
|
||||
+++ b/test/sparseqr.cpp
|
||||
@@ -43,6 +43,7 @@ int generate_sparse_rectangular_problem(MatrixType& A, DenseMat& dA, int maxRows
|
||||
|
||||
template<typename Scalar> void test_sparseqr_scalar()
|
||||
{
|
||||
+ typedef typename NumTraits<Scalar>::Real RealScalar;
|
||||
typedef SparseMatrix<Scalar,ColMajor> MatrixType;
|
||||
typedef Matrix<Scalar,Dynamic,Dynamic> DenseMat;
|
||||
typedef Matrix<Scalar,Dynamic,1> DenseVector;
|
||||
@@ -91,14 +92,34 @@ template<typename Scalar> void test_sparseqr_scalar()
|
||||
exit(0);
|
||||
return;
|
||||
}
|
||||
-
|
||||
- VERIFY_IS_APPROX(A * x, b);
|
||||
-
|
||||
- //Compare with a dense QR solver
|
||||
+
|
||||
+ // Compare with a dense QR solver
|
||||
ColPivHouseholderQR<DenseMat> dqr(dA);
|
||||
refX = dqr.solve(b);
|
||||
|
||||
- VERIFY_IS_EQUAL(dqr.rank(), solver.rank());
|
||||
+ bool rank_deficient = A.cols()>A.rows() || dqr.rank()<A.cols();
|
||||
+ if(rank_deficient)
|
||||
+ {
|
||||
+ // rank deficient problem -> we might have to increase the threshold
|
||||
+ // to get a correct solution.
|
||||
+ RealScalar th = RealScalar(20)*dA.colwise().norm().maxCoeff()*(A.rows()+A.cols()) * NumTraits<RealScalar>::epsilon();
|
||||
+ for(Index k=0; (k<16) && !test_isApprox(A*x,b); ++k)
|
||||
+ {
|
||||
+ th *= RealScalar(10);
|
||||
+ solver.setPivotThreshold(th);
|
||||
+ solver.compute(A);
|
||||
+ x = solver.solve(b);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ VERIFY_IS_APPROX(A * x, b);
|
||||
+
|
||||
+ // For rank deficient problem, the estimated rank might
|
||||
+ // be slightly off, so let's only raise a warning in such cases.
|
||||
+ if(rank_deficient) ++g_test_level;
|
||||
+ VERIFY_IS_EQUAL(solver.rank(), dqr.rank());
|
||||
+ if(rank_deficient) --g_test_level;
|
||||
+
|
||||
if(solver.rank()==A.cols()) // full rank
|
||||
VERIFY_IS_APPROX(x, refX);
|
||||
// else
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 20 01:01:50 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 3.4.0
|
||||
* Long list of changes, see
|
||||
<https://eigen.tuxfamily.org/index.php?title=3.4>.
|
||||
- Drop patches incorporated or otherwise fixed upstream:
|
||||
* eigen3-CastXML-support-for-aarch64.patch.
|
||||
* eigen3-make-sparseqr-unit-test-stable.patch.
|
||||
* eigen3-failtests-handling.patch.
|
||||
- Rebase following patches for updated sources:
|
||||
* 0001-Disable-Altivec-for-ppc64le.patch.
|
||||
* 0001-Do-stack-allignment-on-ppc.patch.
|
||||
- Minor line offset adjustments of other patches to apply cleanly.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 8 19:27:09 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
|
17
eigen3.spec
17
eigen3.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package eigen3
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -33,10 +33,10 @@
|
||||
%endif
|
||||
|
||||
Name: eigen3%{?pkgsuffix}
|
||||
Version: 3.3.9
|
||||
Version: 3.4.0
|
||||
Release: 0
|
||||
Summary: C++ Template Library for Linear Algebra
|
||||
License: MPL-2.0 AND LGPL-2.1-only AND LGPL-2.1-or-later AND BSD-3-Clause
|
||||
License: BSD-3-Clause AND LGPL-2.1-only AND MPL-2.0 AND LGPL-2.1-or-later
|
||||
URL: http://eigen.tuxfamily.org/
|
||||
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/%{srcname}-%{version}.tar.bz2
|
||||
Patch0: 0001-Disable-Altivec-for-ppc64le.patch
|
||||
@ -45,14 +45,8 @@ Patch1: 0001-Do-stack-allignment-on-ppc.patch
|
||||
Patch3: 01_install_FindEigen3.patch
|
||||
# PATCH-FIX-OPENSUSE eigen3-3.3.1-fixcmake.patch -- Fix double {prefix} as we use INCLUDE_INSTALL_DIR with {_includedir}
|
||||
Patch4: eigen3-3.3.1-fixcmake.patch
|
||||
# PATCH-FIX-UPSTREAM eigen3-CastXML-support-for-aarch64.patch badshah400@gmail.com -- Add CastXML support for ARM aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979]
|
||||
Patch5: eigen3-CastXML-support-for-aarch64.patch
|
||||
%if %{with tests}
|
||||
# SECTION Patches to fix tests
|
||||
# PATCH-FIX-UPSTREAM https://gitlab.com/libeigen/eigen/-/commit/72c0bbe2bd1c49c75b6efdb81d0558f8b62578d1
|
||||
Patch7: eigen3-failtests-handling.patch
|
||||
# PATCH-FIX-UPSTREAM eigen3-make-sparseqr-unit-test-stable.patch https://gitlab.com/libeigen/eigen/-/issues/899 badshah400@gmail.com -- Make sparseqr test more stable to prevent random failures; patch taken from upstream commit
|
||||
Patch8: eigen3-make-sparseqr-unit-test-stable.patch
|
||||
# PATCH-FIX-UPSTREAM eigen3-googlehash-detection.patch badshah400@gmail.com -- GoogleHash needs C++11 std to compile test code and be succesfully detected
|
||||
Patch9: eigen3-googlehash-detection.patch
|
||||
# PATCH-FIX-UPSTREAM eigen3-fix-forward_adolc-unit-test.patch badshah400@gmail -- Prevent conflict of std::min/max with eigen's macros by importing eigen test-suite's main.h header only after all system headers have been included
|
||||
@ -122,7 +116,7 @@ echo "HTML_TIMESTAMP = NO" >> doc/Doxyfile.in
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DINCLUDE_INSTALL_DIR=include/eigen3 \
|
||||
-DINCLUDE_INSTALL_DIR:PATH=include/eigen3 \
|
||||
-DCMAKE_SKIP_RPATH:BOOL=OFF \
|
||||
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \
|
||||
-DEIGEN_TEST_CXX11:Bool=%{?with_tests:ON}%{!?with_tests:OFF} \
|
||||
@ -160,6 +154,7 @@ export EIGEN_REPEAT=1
|
||||
%doc build/doc/html/
|
||||
|
||||
%else
|
||||
|
||||
%files devel
|
||||
%license COPYING.*
|
||||
%{_includedir}/eigen3/
|
||||
|
Loading…
Reference in New Issue
Block a user