Compare commits
No commits in common. "c8s" and "c9" have entirely different histories.
1
.eigen3.metadata
Normal file
1
.eigen3.metadata
Normal file
@ -0,0 +1 @@
|
||||
3e8a1aa6ac5c7fafce69688242590fd365c1d3c5 SOURCES/eigen-3.4.0.tar.bz2
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
||||
SOURCES/3.3.4.tar.bz2
|
||||
/3.3.4.tar.bz2
|
||||
SOURCES/eigen-3.4.0.tar.bz2
|
||||
|
@ -1,15 +0,0 @@
|
||||
diff -rupN eigen-eigen-07105f7124f9/CMakeLists.txt eigen-eigen-07105f7124f9-new/CMakeLists.txt
|
||||
--- eigen-eigen-07105f7124f9/CMakeLists.txt 2016-02-16 14:26:15.000000000 +0100
|
||||
+++ eigen-eigen-07105f7124f9-new/CMakeLists.txt 2016-02-17 09:44:43.556543936 +0100
|
||||
@@ -324,6 +324,11 @@ install(FILES
|
||||
DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
|
||||
)
|
||||
|
||||
+install(FILES
|
||||
+ cmake/FindEigen3.cmake
|
||||
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules
|
||||
+ )
|
||||
+
|
||||
if(EIGEN_BUILD_PKGCONFIG)
|
||||
configure_file(eigen3.pc.in eigen3.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc
|
58
SOURCES/0001-fix_zvector_build.patch
Normal file
58
SOURCES/0001-fix_zvector_build.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 18824d10eaa46b39d42ae2b437fe760a2be25a7b Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Sanchez <cantonios@google.com>
|
||||
Date: Fri, 22 Oct 2021 08:52:16 -0700
|
||||
Subject: [PATCH] Fix ZVector build.
|
||||
|
||||
Cross-compiled via `s390x-linux-gnu-g++`, run via qemu. This allows the
|
||||
packetmath tests to pass.
|
||||
|
||||
|
||||
(cherry picked from commit 40bbe8a4d0eb3ec2bfd472fa30cac19e6e743b46)
|
||||
---
|
||||
Eigen/src/Core/arch/ZVector/Complex.h | 14 ++++++++++++--
|
||||
Eigen/src/Core/arch/ZVector/PacketMath.h | 4 ++--
|
||||
2 files changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Eigen/src/Core/arch/ZVector/Complex.h b/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
index 0b9b33d99d..e0acedefbd 100644
|
||||
--- a/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
@@ -91,8 +91,18 @@ template<> struct packet_traits<std::complex<double> > : default_packet_traits
|
||||
};
|
||||
};
|
||||
|
||||
-template<> struct unpacket_traits<Packet2cf> { typedef std::complex<float> type; enum {size=2, alignment=Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false}; typedef Packet2cf half; };
|
||||
-template<> struct unpacket_traits<Packet1cd> { typedef std::complex<double> type; enum {size=1, alignment=Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false}; typedef Packet1cd half; };
|
||||
+template<> struct unpacket_traits<Packet2cf> {
|
||||
+ typedef std::complex<float> type;
|
||||
+ enum {size=2, alignment=Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false};
|
||||
+ typedef Packet2cf half;
|
||||
+ typedef Packet4f as_real;
|
||||
+};
|
||||
+template<> struct unpacket_traits<Packet1cd> {
|
||||
+ typedef std::complex<double> type;
|
||||
+ enum {size=1, alignment=Aligned16, vectorizable=true, masked_load_available=false, masked_store_available=false};
|
||||
+ typedef Packet1cd half;
|
||||
+ typedef Packet2d as_real;
|
||||
+};
|
||||
|
||||
/* Forward declaration */
|
||||
EIGEN_STRONG_INLINE void ptranspose(PacketBlock<Packet2cf,2>& kernel);
|
||||
diff --git a/Eigen/src/Core/arch/ZVector/PacketMath.h b/Eigen/src/Core/arch/ZVector/PacketMath.h
|
||||
index 1f55a90a5c..208e4b167c 100755
|
||||
--- a/Eigen/src/Core/arch/ZVector/PacketMath.h
|
||||
+++ b/Eigen/src/Core/arch/ZVector/PacketMath.h
|
||||
@@ -91,8 +91,8 @@ static _EIGEN_DECLARE_CONST_FAST_Packet2l(ZERO, 0);
|
||||
static _EIGEN_DECLARE_CONST_FAST_Packet2l(ONE, 1);
|
||||
|
||||
static Packet2d p2d_ONE = { 1.0, 1.0 };
|
||||
-static Packet2d p2d_ZERO_ = { numext::bit_cast<double>0x8000000000000000ull),
|
||||
- numext::bit_cast<double>0x8000000000000000ull) };
|
||||
+static Packet2d p2d_ZERO_ = { numext::bit_cast<double>(0x8000000000000000ull),
|
||||
+ numext::bit_cast<double>(0x8000000000000000ull) };
|
||||
|
||||
#if !defined(__ARCH__) || (defined(__ARCH__) && __ARCH__ >= 12)
|
||||
#define _EIGEN_DECLARE_CONST_FAST_Packet4f(NAME,X) \
|
||||
--
|
||||
GitLab
|
||||
|
167
SOURCES/0002-zvector_move_alignas_qualifier_to_come_first.patch
Normal file
167
SOURCES/0002-zvector_move_alignas_qualifier_to_come_first.patch
Normal file
@ -0,0 +1,167 @@
|
||||
From 23469c3cdaeeeb7b9f31e2d0971cddd114f1587d Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Krebbel <krebbel@linux.ibm.com>
|
||||
Date: Tue, 26 Oct 2021 15:29:30 +0200
|
||||
Subject: [PATCH] ZVector: Move alignas qualifier to come first
|
||||
|
||||
We currently have plenty of type definitions with the alignment
|
||||
qualifier coming after the type. The compiler warns about ignoring
|
||||
them:
|
||||
int EIGEN_ALIGN16 ai[4];
|
||||
|
||||
Turn this into:
|
||||
EIGEN_ALIGN16 int ai[4];
|
||||
|
||||
|
||||
(cherry picked from commit 8faafc3aaa2b45e234cfe0bef085c1134ceffc42)
|
||||
---
|
||||
Eigen/src/Core/arch/ZVector/Complex.h | 8 ++++----
|
||||
Eigen/src/Core/arch/ZVector/PacketMath.h | 24 ++++++++++++------------
|
||||
2 files changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/Eigen/src/Core/arch/ZVector/Complex.h b/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
index e0acedefbd..6c67cfe058 100644
|
||||
--- a/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
@@ -160,7 +160,7 @@ template<> EIGEN_STRONG_INLINE void prefetch<std::complex<double> >(const std::c
|
||||
|
||||
template<> EIGEN_STRONG_INLINE std::complex<double> pfirst<Packet1cd>(const Packet1cd& a)
|
||||
{
|
||||
- std::complex<double> EIGEN_ALIGN16 res;
|
||||
+ EIGEN_ALIGN16 std::complex<double> res;
|
||||
pstore<std::complex<double> >(&res, a);
|
||||
|
||||
return res;
|
||||
@@ -205,7 +205,7 @@ template<> EIGEN_STRONG_INLINE void pstoreu<std::complex<float> >(std::complex<f
|
||||
|
||||
template<> EIGEN_STRONG_INLINE std::complex<float> pfirst<Packet2cf>(const Packet2cf& a)
|
||||
{
|
||||
- std::complex<float> EIGEN_ALIGN16 res[2];
|
||||
+ EIGEN_ALIGN16 std::complex<float> res[2];
|
||||
pstore<std::complex<float> >(res, a);
|
||||
|
||||
return res[0];
|
||||
@@ -235,14 +235,14 @@ template<> EIGEN_STRONG_INLINE Packet2cf pset1<Packet2cf>(const std::complex<flo
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline Packet2cf pgather<std::complex<float>, Packet2cf>(const std::complex<float>* from, Index stride)
|
||||
{
|
||||
- std::complex<float> EIGEN_ALIGN16 af[2];
|
||||
+ EIGEN_ALIGN16 std::complex<float> af[2];
|
||||
af[0] = from[0*stride];
|
||||
af[1] = from[1*stride];
|
||||
return pload<Packet2cf>(af);
|
||||
}
|
||||
template<> EIGEN_DEVICE_FUNC inline void pscatter<std::complex<float>, Packet2cf>(std::complex<float>* to, const Packet2cf& from, Index stride)
|
||||
{
|
||||
- std::complex<float> EIGEN_ALIGN16 af[2];
|
||||
+ EIGEN_ALIGN16 std::complex<float> af[2];
|
||||
pstore<std::complex<float> >((std::complex<float> *) af, from);
|
||||
to[0*stride] = af[0];
|
||||
to[1*stride] = af[1];
|
||||
diff --git a/Eigen/src/Core/arch/ZVector/PacketMath.h b/Eigen/src/Core/arch/ZVector/PacketMath.h
|
||||
index 208e4b167c..a7b59c80ed 100755
|
||||
--- a/Eigen/src/Core/arch/ZVector/PacketMath.h
|
||||
+++ b/Eigen/src/Core/arch/ZVector/PacketMath.h
|
||||
@@ -358,7 +358,7 @@ pbroadcast4<Packet2d>(const double *a,
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline Packet4i pgather<int, Packet4i>(const int* from, Index stride)
|
||||
{
|
||||
- int EIGEN_ALIGN16 ai[4];
|
||||
+ EIGEN_ALIGN16 int ai[4];
|
||||
ai[0] = from[0*stride];
|
||||
ai[1] = from[1*stride];
|
||||
ai[2] = from[2*stride];
|
||||
@@ -368,7 +368,7 @@ template<> EIGEN_DEVICE_FUNC inline Packet4i pgather<int, Packet4i>(const int* f
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline Packet2d pgather<double, Packet2d>(const double* from, Index stride)
|
||||
{
|
||||
- double EIGEN_ALIGN16 af[2];
|
||||
+ EIGEN_ALIGN16 double af[2];
|
||||
af[0] = from[0*stride];
|
||||
af[1] = from[1*stride];
|
||||
return pload<Packet2d>(af);
|
||||
@@ -376,7 +376,7 @@ template<> EIGEN_DEVICE_FUNC inline Packet2d pgather<double, Packet2d>(const dou
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline void pscatter<int, Packet4i>(int* to, const Packet4i& from, Index stride)
|
||||
{
|
||||
- int EIGEN_ALIGN16 ai[4];
|
||||
+ EIGEN_ALIGN16 int ai[4];
|
||||
pstore<int>((int *)ai, from);
|
||||
to[0*stride] = ai[0];
|
||||
to[1*stride] = ai[1];
|
||||
@@ -386,7 +386,7 @@ template<> EIGEN_DEVICE_FUNC inline void pscatter<int, Packet4i>(int* to, const
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline void pscatter<double, Packet2d>(double* to, const Packet2d& from, Index stride)
|
||||
{
|
||||
- double EIGEN_ALIGN16 af[2];
|
||||
+ EIGEN_ALIGN16 double af[2];
|
||||
pstore<double>(af, from);
|
||||
to[0*stride] = af[0];
|
||||
to[1*stride] = af[1];
|
||||
@@ -460,8 +460,8 @@ template<> EIGEN_STRONG_INLINE void pstoreu<double>(double* to, const Packet2d&
|
||||
template<> EIGEN_STRONG_INLINE void prefetch<int>(const int* addr) { EIGEN_ZVECTOR_PREFETCH(addr); }
|
||||
template<> EIGEN_STRONG_INLINE void prefetch<double>(const double* addr) { EIGEN_ZVECTOR_PREFETCH(addr); }
|
||||
|
||||
-template<> EIGEN_STRONG_INLINE int pfirst<Packet4i>(const Packet4i& a) { int EIGEN_ALIGN16 x[4]; pstore(x, a); return x[0]; }
|
||||
-template<> EIGEN_STRONG_INLINE double pfirst<Packet2d>(const Packet2d& a) { double EIGEN_ALIGN16 x[2]; pstore(x, a); return x[0]; }
|
||||
+template<> EIGEN_STRONG_INLINE int pfirst<Packet4i>(const Packet4i& a) { EIGEN_ALIGN16 int x[4]; pstore(x, a); return x[0]; }
|
||||
+template<> EIGEN_STRONG_INLINE double pfirst<Packet2d>(const Packet2d& a) { EIGEN_ALIGN16 double x[2]; pstore(x, a); return x[0]; }
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet4i preverse(const Packet4i& a)
|
||||
{
|
||||
@@ -639,7 +639,7 @@ pbroadcast4<Packet4f>(const float *a,
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline Packet4f pgather<float, Packet4f>(const float* from, Index stride)
|
||||
{
|
||||
- float EIGEN_ALIGN16 ai[4];
|
||||
+ EIGEN_ALIGN16 float ai[4];
|
||||
ai[0] = from[0*stride];
|
||||
ai[1] = from[1*stride];
|
||||
ai[2] = from[2*stride];
|
||||
@@ -649,7 +649,7 @@ template<> EIGEN_DEVICE_FUNC inline Packet4f pgather<float, Packet4f>(const floa
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline void pscatter<float, Packet4f>(float* to, const Packet4f& from, Index stride)
|
||||
{
|
||||
- float EIGEN_ALIGN16 ai[4];
|
||||
+ EIGEN_ALIGN16 float ai[4];
|
||||
pstore<float>((float *)ai, from);
|
||||
to[0*stride] = ai[0];
|
||||
to[1*stride] = ai[1];
|
||||
@@ -785,7 +785,7 @@ template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float* from)
|
||||
return p;
|
||||
}
|
||||
|
||||
-template<> EIGEN_STRONG_INLINE float pfirst<Packet4f>(const Packet4f& a) { float EIGEN_ALIGN16 x[2]; vec_st2f(a.v4f[0], &x[0]); return x[0]; }
|
||||
+template<> EIGEN_STRONG_INLINE float pfirst<Packet4f>(const Packet4f& a) { EIGEN_ALIGN16 float x[2]; vec_st2f(a.v4f[0], &x[0]); return x[0]; }
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet4f preverse(const Packet4f& a)
|
||||
{
|
||||
@@ -943,7 +943,7 @@ pbroadcast4<Packet4f>(const float *a,
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline Packet4f pgather<float, Packet4f>(const float* from, Index stride)
|
||||
{
|
||||
- float EIGEN_ALIGN16 af[4];
|
||||
+ EIGEN_ALIGN16 float af[4];
|
||||
af[0] = from[0*stride];
|
||||
af[1] = from[1*stride];
|
||||
af[2] = from[2*stride];
|
||||
@@ -953,7 +953,7 @@ template<> EIGEN_DEVICE_FUNC inline Packet4f pgather<float, Packet4f>(const floa
|
||||
|
||||
template<> EIGEN_DEVICE_FUNC inline void pscatter<float, Packet4f>(float* to, const Packet4f& from, Index stride)
|
||||
{
|
||||
- float EIGEN_ALIGN16 af[4];
|
||||
+ EIGEN_ALIGN16 float af[4];
|
||||
pstore<float>((float*)af, from);
|
||||
to[0*stride] = af[0];
|
||||
to[1*stride] = af[1];
|
||||
@@ -978,7 +978,7 @@ template<> EIGEN_STRONG_INLINE Packet4f pround<Packet4f> (const Packet4f& a) { r
|
||||
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); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4f pabs<Packet4f> (const Packet4f& a) { return vec_abs(a); }
|
||||
-template<> EIGEN_STRONG_INLINE float pfirst<Packet4f>(const Packet4f& a) { float EIGEN_ALIGN16 x[4]; pstore(x, a); return x[0]; }
|
||||
+template<> EIGEN_STRONG_INLINE float pfirst<Packet4f>(const Packet4f& a) { EIGEN_ALIGN16 float x[4]; pstore(x, a); return x[0]; }
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet4f ploaddup<Packet4f>(const float* from)
|
||||
{
|
||||
--
|
||||
GitLab
|
||||
|
@ -4,40 +4,50 @@
|
||||
# debuginfo package for the empty main package.
|
||||
%global debug_package %{nil}
|
||||
|
||||
%global commit 5a0156e40feb
|
||||
# FIXME ICE on ppc64le when buildings docs with optflags
|
||||
%ifarch ppc64le
|
||||
%global optflags %{nil}
|
||||
%endif
|
||||
|
||||
|
||||
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
|
||||
%global blaslib flexiblas
|
||||
%global cmake_blas_flags -DBLA_VENDOR=FlexiBLAS
|
||||
%else
|
||||
%global blaslib openblas
|
||||
%global blasvar o
|
||||
%global cmake_blas_flags -DBLAS_LIBRARIES=%{_libdir}/lib%{blaslib}%{blasvar}.so
|
||||
%endif
|
||||
|
||||
%bcond_with sparsehash
|
||||
%bcond_with suitesparse
|
||||
%bcond_with SuperLU
|
||||
%bcond_with scotch
|
||||
%bcond_with metis
|
||||
|
||||
Name: eigen3
|
||||
Version: 3.3.4
|
||||
Release: 6%{?dist}
|
||||
Version: 3.4.0
|
||||
Release: 2%{?dist}
|
||||
Summary: A lightweight C++ template library for vector and matrix math
|
||||
|
||||
Group: Development/Libraries
|
||||
License: MPLv2.0 and LGPLv2+ and BSD
|
||||
License: ASL 2.0 and MPLv2.0 and LGPLv2+ and BSD and Minpack
|
||||
URL: http://eigen.tuxfamily.org/index.php?title=Main_Page
|
||||
Source0: http://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2
|
||||
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/eigen-%{version}.tar.bz2
|
||||
# Upstream patches requested by a partner or customer:
|
||||
Patch0: 0001-fix_zvector_build.patch
|
||||
Patch1: 0002-zvector_move_alignas_qualifier_to_come_first.patch
|
||||
|
||||
# Install FindEigen3.cmake
|
||||
# Adapted from Debian eigen3 package
|
||||
Patch0: 01_install_FindEigen3.patch
|
||||
|
||||
# Fix pkg-config file
|
||||
Patch1: eigen_pkgconfig.patch
|
||||
# Fix the include paths in the new Eigen3Config.cmake file
|
||||
Patch2: eigen3-3.3.1-fixcmake.patch
|
||||
|
||||
BuildRequires: atlas-devel
|
||||
BuildRequires: %{blaslib}-devel
|
||||
BuildRequires: fftw-devel
|
||||
BuildRequires: glew-devel
|
||||
BuildRequires: gmp-devel
|
||||
BuildRequires: gsl-devel
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: sparsehash-devel
|
||||
BuildRequires: suitesparse-devel
|
||||
%{?with_sparsehash:BuildRequires: sparsehash-devel}
|
||||
%{?with_suitesparse:BuildRequires: suitesparse-devel}
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: SuperLU-devel
|
||||
#BuildRequires: qt-devel
|
||||
BuildRequires: scotch-devel
|
||||
BuildRequires: metis-devel
|
||||
%{?with_SuperLU:BuildRequires: SuperLU-devel}
|
||||
%{?with_scotch:BuildRequires: scotch-devel}
|
||||
%{?with_metis:BuildRequires: metis-devel}
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: make
|
||||
@ -49,73 +59,149 @@ BuildRequires: tex(latex)
|
||||
%description
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: A lightweight C++ template library for vector and matrix math
|
||||
Group: Development/Libraries
|
||||
BuildArch: noarch
|
||||
Summary: A lightweight C++ template library for vector and matrix math
|
||||
BuildArch: noarch
|
||||
# -devel subpkg only atm, compat with other distros
|
||||
Provides: %{name} = %{version}-%{release}
|
||||
Provides: %{name} = %{version}-%{release}
|
||||
# not *strictly* a -static pkg, but the results are the same
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
%{summary}.
|
||||
|
||||
%package doc
|
||||
Summary: Developer documentation for Eigen
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
Summary: Developer documentation for Eigen
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Developer documentation for Eigen.
|
||||
|
||||
%prep
|
||||
%setup -q -n eigen-eigen-%{commit}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p0 -b .fixcmake
|
||||
%build
|
||||
mkdir %{_target_platform}
|
||||
pushd %{_target_platform}
|
||||
#%%ifarch ppc64
|
||||
# Currently get a compiler ICE, work around it
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1063999
|
||||
#export CXXFLAGS="%%{optflags} -mno-vsx"
|
||||
#%%endif
|
||||
%cmake .. -DINCLUDE_INSTALL_DIR=%{_includedir}/eigen3 \
|
||||
-DBLAS_LIBRARIES="cblas" \
|
||||
-DSUPERLU_INCLUDES=%{_includedir}/SuperLU \
|
||||
-DSCOTCH_INCLUDES=%{_includedir} -DSCOTCH_LIBRARIES="scotch" \
|
||||
-DMETIS_INCLUDES=%{_includedir} -DMETIS_LIBRARIES="metis" \
|
||||
-DCMAKEPACKAGE_INSTALL_DIR=%{_datadir}/%{name}
|
||||
popd
|
||||
%make_build -C %{_target_platform}
|
||||
%make_build doc -C %{_target_platform}
|
||||
|
||||
rm -f %{_target_platform}/doc/html/installdox
|
||||
rm -f %{_target_platform}/doc/html/unsupported/installdox
|
||||
%prep
|
||||
%autosetup -p1 -n eigen-%{version}
|
||||
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
|
||||
%{cmake_blas_flags} \
|
||||
%{?with_SuperLU:-DSUPERLU_INCLUDES=%{_includedir}/SuperLU} \
|
||||
%{?with_scotch:-DSCOTCH_INCLUDES=%{_includedir} -DSCOTCH_LIBRARIES="scotch"} \
|
||||
%{?with_metis:-DMETIS_INCLUDES=%{_includedir} -DMETIS_LIBRARIES="metis"} \
|
||||
-DCMAKEPACKAGE_INSTALL_DIR=%{_datadir}/cmake/%{name} \
|
||||
-DEIGEN_TEST_CXX11=ON
|
||||
|
||||
%cmake_build
|
||||
%cmake_build --target doc
|
||||
|
||||
rm -f %{_vpath_builddir}/doc/html/installdox
|
||||
rm -f %{_vpath_builddir}/doc/html/unsupported/installdox
|
||||
|
||||
|
||||
%install
|
||||
%make_install -C %{_target_platform}
|
||||
%cmake_install
|
||||
|
||||
|
||||
%check
|
||||
# Run tests but make failures non-fatal. Note that upstream doesn't expect the
|
||||
# tests to pass consistently since they're seeded randomly.
|
||||
#make -C %%{_target_platform} %%{?_smp_mflags} buildtests
|
||||
#make -C %%{_target_platform} %%{?_smp_mflags} test ARGS="-V" || exit 0
|
||||
# Test fail to build due to compiler crashes
|
||||
#cmake_build --target buildtests
|
||||
#ctest
|
||||
|
||||
|
||||
%files devel
|
||||
%license COPYING.README COPYING.BSD COPYING.MPL2 COPYING.LGPL
|
||||
%{_includedir}/eigen3
|
||||
%{_datadir}/%{name}
|
||||
%{_datadir}/pkgconfig/*
|
||||
%{_datadir}/cmake/Modules/*.cmake
|
||||
%license COPYING.README COPYING.APACHE COPYING.BSD COPYING.MPL2 COPYING.GPL COPYING.LGPL COPYING.MINPACK
|
||||
%{_includedir}/%{name}
|
||||
%{_datadir}/cmake/%{name}
|
||||
%{_datadir}/pkgconfig/%{name}.pc
|
||||
|
||||
%files doc
|
||||
%doc %{_target_platform}/doc/html
|
||||
%doc %{_vpath_builddir}/doc/html
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Sep 17 2018 Jiri Kucera <jkucera@redhat.com> - 3.3.4-6
|
||||
- Removed dependency on qt-devel
|
||||
Resolves: #1628473
|
||||
* Mon May 15 2023 Jiri Kucera <jkucera@redhat.com> - 3.4.0-2
|
||||
- Backport upstream patches
|
||||
Resolves: #2137486
|
||||
|
||||
* Wed Feb 16 2022 Jiri Kucera <jkucera@redhat.com> - 3.4.0-1
|
||||
- Update to 3.4.0
|
||||
Resolves: #2032423
|
||||
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.9-8
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Mon Jul 12 2021 Jiri Kucera <jkucera@redhat.com> - 3.3.9-7
|
||||
- Remove glew-devel BR
|
||||
Resolves: #1981397
|
||||
|
||||
* Wed Jun 30 2021 Jiri Kucera <jkucera@redhat.com> - 3.3.9-6
|
||||
- Added missing Minpack license
|
||||
Dropped unnecessary dependencies
|
||||
Resolves: #1967481
|
||||
|
||||
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 3.3.9-5
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.9-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jan 19 2021 Jan Grulich <jgrulich@redhat.com> - 3.3.9-3
|
||||
- Drop qt dependency on RHEL 8 and higher
|
||||
|
||||
* Tue Jan 19 2021 Sandro Mani <manisandro@gmail.com> - 3.3.9-2
|
||||
- Backport fix for conflicting declarations of log1p
|
||||
|
||||
* Sun Dec 06 2020 Sandro Mani <manisandro@gmail.com> - 3.3.9-1
|
||||
- Update to 3.3.9
|
||||
|
||||
* Mon Oct 05 2020 Sandro Mani <manisandro@gmail.com> - 3.3.8-2
|
||||
- Drop reference to undefined Eigen::eigen_assert_exception
|
||||
|
||||
* Mon Oct 05 2020 Sandro Mani <manisandro@gmail.com> - 3.3.8-1
|
||||
- Update to 3.3.8
|
||||
|
||||
* Tue Sep 01 2020 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.7-7
|
||||
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
|
||||
|
||||
* Sat Aug 29 2020 Fabio Valentini <decathorpe@gmail.com> - 3.3.7-6
|
||||
- Adapt to CMake macros changes in fedora 33+.
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Dec 25 2018 Sandro Mani <manisandro@gmail.com> - 3.3.7-1
|
||||
- Update to 3.3.7
|
||||
- Modernize spec
|
||||
- Add doc
|
||||
|
||||
* Mon Dec 10 2018 Sandro Mani <manisandro@gmail.com> - 3.3.6-1
|
||||
- Update to 3.3.6
|
||||
|
||||
* Thu Sep 06 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.3.5-2
|
||||
- backport upstream fix for step FTBFS (#1619860)
|
||||
|
||||
* Thu Jul 26 2018 Sandro Mani <manisandro@gmail.com> - 3.3.5-1
|
||||
- Update to 3.3.5
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.4-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri May 25 2018 Björn Esser <besser82@fedoraproject.org> - 3.3.4-6
|
||||
- Fix compilation of Jacobi rotations with ARM NEON, some
|
||||
specializations of internal::conj_helper were missing
|
||||
|
||||
* Sun Feb 18 2018 Sandro Mani <manisandro@gmail.com> - 3.3.4-5
|
||||
- Add missing BR: gcc-c++, make
|
@ -1,12 +0,0 @@
|
||||
diff -up ./CMakeLists.txt.fixcmake ./CMakeLists.txt
|
||||
--- ./CMakeLists.txt.fixcmake 2016-12-28 11:39:51.690853423 -0500
|
||||
+++ ./CMakeLists.txt 2016-12-28 11:41:06.409811065 -0500
|
||||
@@ -511,7 +511,7 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD
|
||||
set ( EIGEN_VERSION_MINOR ${EIGEN_MAJOR_VERSION} )
|
||||
set ( EIGEN_VERSION_PATCH ${EIGEN_MINOR_VERSION} )
|
||||
set ( EIGEN_DEFINITIONS "")
|
||||
-set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
|
||||
+set ( EIGEN_INCLUDE_DIR ${INCLUDE_INSTALL_DIR} )
|
||||
set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
|
||||
|
||||
# Interface libraries require at least CMake 3.0
|
@ -1,9 +0,0 @@
|
||||
diff -rupN eigen-eigen-07105f7124f9/eigen3.pc.in eigen-eigen-07105f7124f9-new/eigen3.pc.in
|
||||
--- eigen-eigen-07105f7124f9/eigen3.pc.in 2016-02-16 14:26:15.000000000 +0100
|
||||
+++ eigen-eigen-07105f7124f9-new/eigen3.pc.in 2016-02-20 19:13:19.816842461 +0100
|
||||
@@ -6,4 +6,4 @@ Description: A C++ template library for
|
||||
Requires:
|
||||
Version: @EIGEN_VERSION_NUMBER@
|
||||
Libs:
|
||||
-Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@
|
||||
+Cflags: -I@INCLUDE_INSTALL_DIR@
|
@ -1,6 +0,0 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-8
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
Loading…
Reference in New Issue
Block a user