diff --git a/0001-Disable-Altivec-for-ppc64le.patch b/0001-Disable-Altivec-for-ppc64le.patch index b7c4d3a..67d5f11 100644 --- a/0001-Disable-Altivec-for-ppc64le.patch +++ b/0001-Disable-Altivec-for-ppc64le.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Disable Altivec for ppc64le Eigen/Core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Eigen/Core b/Eigen/Core -index 9131cc3..329a10d 100644 ---- a/Eigen/Core -+++ b/Eigen/Core +Index: eigen-eigen-bdd17ee3b1b3/Eigen/Core +=================================================================== +--- eigen-eigen-bdd17ee3b1b3.orig/Eigen/Core ++++ eigen-eigen-bdd17ee3b1b3/Eigen/Core @@ -114,7 +114,7 @@ #endif #endif @@ -20,6 +20,3 @@ index 9131cc3..329a10d 100644 #define EIGEN_VECTORIZE #define EIGEN_VECTORIZE_ALTIVEC #include --- -1.8.5.2 - diff --git a/0001-Do-stack-allignment-on-ppc.patch b/0001-Do-stack-allignment-on-ppc.patch index 3b720bd..c448de8 100644 --- a/0001-Do-stack-allignment-on-ppc.patch +++ b/0001-Do-stack-allignment-on-ppc.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Do stack allignment on ppc Eigen/src/Core/util/Macros.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h -index 0088621..f0b5de1 100644 ---- a/Eigen/src/Core/util/Macros.h -+++ b/Eigen/src/Core/util/Macros.h +Index: eigen-eigen-bdd17ee3b1b3/Eigen/src/Core/util/Macros.h +=================================================================== +--- eigen-eigen-bdd17ee3b1b3.orig/Eigen/src/Core/util/Macros.h ++++ eigen-eigen-bdd17ee3b1b3/Eigen/src/Core/util/Macros.h @@ -50,7 +50,7 @@ // Only static alignment is really problematic (relies on nonstandard compiler extensions that don't // work everywhere, for example don't work on GCC/ARM), try to keep heap alignment even @@ -20,6 +20,3 @@ index 0088621..f0b5de1 100644 #define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 1 #else #define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 0 --- -1.7.12.4 - diff --git a/3.2.5.tar.bz2 b/3.2.5.tar.bz2 new file mode 100644 index 0000000..3763e24 --- /dev/null +++ b/3.2.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f6e6cb88188e34185f43cb819d7dab9b48ef493774ff834e568f4805d3dc2f9 +size 1151510 diff --git a/eigen-3.2.4.tar.bz2 b/eigen-3.2.4.tar.bz2 deleted file mode 100644 index 56b4eb6..0000000 --- a/eigen-3.2.4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d64332c92e31803d2c59f6646ed893965c666acfc7c284e4f5e9ffbb4d148922 -size 1147976 diff --git a/eigen3.changes b/eigen3.changes index 43a371f..48bb80d 100644 --- a/eigen3.changes +++ b/eigen3.changes @@ -1,3 +1,66 @@ +------------------------------------------------------------------- +Sat Sep 5 08:10:52 UTC 2015 - mpluskal@suse.com + +- Update to 3.2.5 + * Changes with main impact: + + Improve robustness of SimplicialLDLT to semidefinite problems + by correctly handling structural zeros in AMD reordering + + Re-enable supernodes in SparseLU (fix a performance + regression in SparseLU) + + Use zero guess in ConjugateGradients::solve + + Add PermutationMatrix::determinant method + + Fix SparseLU::signDeterminant() method, and add a + SparseLU::determinant() method + + Allows Lower|Upper as a template argument of CG and MINRES: + in this case the full matrix will be considered + + Bug 872: remove usage of std::bind* functions (deprecated in + c++11) + * Numerical robustness improvements: + + Bug 1014: improve numerical robustness of the 3x3 direct + eigenvalue solver + + Bug 1013: fix 2x2 direct eigenvalue solver for identical + eigenvalues + + Bug 824: improve accuracy of Quaternion::angularDistance + + Bug 941: fix an accuracy issue in ColPivHouseholderQR by + continuing the decomposition on a small pivot + + Bug 933: improve numerical robustness in RealSchur + + Fix default threshold value in SPQR + * Other changes: + + Fix usage of EIGEN_NO_AUTOMATIC_RESIZING + + Improved support for custom scalar types in SparseLU + + Improve cygwin compatibility + + Bug 650: fix an issue with sparse-dense product and + rowmajor matrices + + Bug 704: fix MKL support (HouseholderQR) + + Bug 705: fix handling of Lapack potrf return code (LLT) + + Bug 714: fix matrix product with OpenMP support + + Bug 949: add static assertions for incompatible scalar + types in many of the dense decompositions + + Bugs 957, 1000: workaround MSVC/ICC compilation issues when + using sparse blocks + + Bug 969: fix ambiguous calls to Ref + + Bugs 972, 986: add support for coefficient-based product + with 0 depth + + Bug 980: fix taking a row (resp. column) of a column-major + (resp. row-major) sparse matrix + + Bug 983: fix an alignement issue in Quaternion + + Bug 985: fix RealQZ when either matrix had zero rows or + columns + + Bug 987: fix alignement guess in diagonal product + + Bug 993: fix a pitfall with matrix.inverse() + + Bugs 996, 1016: fix scalar conversions + + Bug 1003: fix handling of pointers non aligned on scalar + boundary in slice-vectorization + + Bug 1010: fix member initialization in IncompleteLUT + + Bug 1012: enable alloca on Mac OS or if alloca is defined + as macro + + Doc and build system: 733, 914, 952, 961, 999 +- Use cmake macros +- Use url for source +- Cleanup spec file with spec-cleaner +- Remove conditional buildrequires for releases which did not + build anyway + ------------------------------------------------------------------- Wed Apr 22 20:41:28 UTC 2015 - asterios.dramis@gmail.com diff --git a/eigen3.spec b/eigen3.spec index cde8c85..895e05c 100644 --- a/eigen3.spec +++ b/eigen3.spec @@ -17,14 +17,13 @@ Name: eigen3 -Version: 3.2.4 +Version: 3.2.5 Release: 0 Summary: C++ Template Library for Linear Algebra License: MPL-2.0 and LGPL-2.1+ and BSD-3-Clause Group: Development/Libraries/C and C++ Url: http://eigen.tuxfamily.org/ -# http://bitbucket.org/eigen/eigen/get/3.2.4.tar.bz2 -Source0: eigen-%{version}.tar.bz2 +Source0: http://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2 Patch0: 0001-Disable-Altivec-for-ppc64le.patch Patch1: 0001-Do-stack-allignment-on-ppc.patch BuildRequires: adolc-devel @@ -32,39 +31,29 @@ BuildRequires: cmake BuildRequires: doxygen BuildRequires: fdupes BuildRequires: fftw3-devel +BuildRequires: freeglut-devel BuildRequires: gcc-c++ BuildRequires: gcc-fortran -BuildRequires: gmp-devel -%if 0%{?suse_version} > 1210 -BuildRequires: gnu-free-fonts -%else -BuildRequires: freefont -%endif -BuildRequires: freeglut-devel BuildRequires: glew-devel +BuildRequires: gmp-devel +BuildRequires: gnu-free-fonts BuildRequires: graphviz BuildRequires: graphviz-gd BuildRequires: gsl-devel BuildRequires: libqt4-devel +BuildRequires: mpfr-devel +BuildRequires: pkg-config +BuildRequires: sparsehash-devel +BuildRequires: suitesparse-devel +BuildRequires: superlu +BuildRequires: texlive-amsfonts +BuildRequires: texlive-latex +BuildRequires: pkgconfig(gl) +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildArch: noarch %if 0%{?suse_version} > 1310 BuildRequires: metis-devel %endif -BuildRequires: mpfr-devel -BuildRequires: pkg-config -BuildRequires: pkgconfig(gl) -%if 0%{?suse_version} > 1220 -BuildRequires: sparsehash-devel -%endif -%if 0%{?suse_version} > 1210 -BuildRequires: suitesparse-devel -%endif -BuildRequires: superlu -%if 0%{?suse_version} > 1220 -BuildRequires: texlive-amsfonts -%endif -BuildRequires: texlive-latex -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Eigen is a C++ template library for linear algebra: matrices, vectors, @@ -82,7 +71,7 @@ Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. %prep -%setup -q -n eigen-eigen-10219c95fe65 +%setup -q -n eigen-eigen-bdd17ee3b1b3 %patch0 -p1 %patch1 -p1 @@ -93,18 +82,12 @@ sed -i 's/\r$//' COPYING.MINPACK echo "HTML_TIMESTAMP = NO" >> doc/Doxyfile.in %build -mkdir build -cd build -cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} .. -make %{?_smp_mflags} VERBOSE=1 -%if 0%{?suse_version} > 1140 -make doc %{?_smp_mflags} VERBOSE=1 -%endif -cd .. +%cmake \ + -DCMAKE_BUILD_TYPE=Release +make %{?_smp_mflags} all doc %install -%make_install -C build +%cmake_install # Manually install documentation in order to fix rpmlint error "files-duplicated-waste" and warning "files-duplicate" with fdupes macro mkdir -p %{buildroot}%{_docdir}/%{name}-devel