[eigen3/el6] Update to release 3.2.2

rmattes rmattes at fedoraproject.org
Mon Dec 15 02:50:16 UTC 2014


commit 20243b08c5af6477f54f07a799120a009b3b59ec
Author: Rich Mattes <richmattes at gmail.com>
Date:   Sun Dec 14 20:59:14 2014 -0500

    Update to release 3.2.2

 eigen-3.0.4-cmake26.patch |   21 -------------------
 eigen3-ppc64.patch        |   12 +++++++++++
 eigen3.spec               |   49 ++++++++++++++++++++++++++++++++++-----------
 sources                   |    2 +-
 4 files changed, 50 insertions(+), 34 deletions(-)
---
diff --git a/eigen3-ppc64.patch b/eigen3-ppc64.patch
new file mode 100644
index 0000000..25b86de
--- /dev/null
+++ b/eigen3-ppc64.patch
@@ -0,0 +1,12 @@
+diff -up eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h.ppc64 eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h
+--- eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h.ppc64	2013-07-23 19:48:35.000000000 -0600
++++ eigen-eigen-ffa86ffb5570/unsupported/test/mpreal/mpreal.h	2014-02-13 10:18:48.290136534 -0700
+@@ -97,7 +97,7 @@
+         #endif
+ 
+     #elif defined (__GNUC__) && defined(__linux__)
+-        #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__ia64) || defined(__itanium__) || defined(_M_IA64)
++        #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__ia64) || defined(__itanium__) || defined(_M_IA64) || defined (__PPC64__)
+             #undef MPREAL_HAVE_INT64_SUPPORT    // Remove all shaman dances for x64 builds since
+             #undef MPFR_USE_INTMAX_T            // GCC already supports x64 as of "long int" is 64-bit integer, nothing left to do
+         #else
diff --git a/eigen3.spec b/eigen3.spec
index 2857b29..874ccc8 100644
--- a/eigen3.spec
+++ b/eigen3.spec
@@ -1,34 +1,40 @@
+# The (empty) main package is arch, to have the package built and tests run
+# on all arches, but the actual result package is the noarch -devel subpackge.
+# Debuginfo packages are disabled to prevent rpmbuild from generating an empty
+# debuginfo package for the empty main package.
+%global debug_package %{nil}
+
+%global commit 1306d75b4a21
+
 Name:           eigen3
-Version:        3.0.6
+Version:        3.2.2
 Release:        1%{?dist}
 Summary:        A lightweight C++ template library for vector and matrix math
 
 Group:          Development/Libraries
-License:        LGPLv3+ or GPLv2+
+License:        MPLv2.0 and LGPLv3+ and BSD
 URL:            http://eigen.tuxfamily.org/index.php?title=Main_Page
-# Source file is at: http://bitbucket.org/eigen/eigen/get/3.0.3.tar.bz2
+# Source file is at: http://bitbucket.org/eigen/eigen/get/3.2.2.tar.bz2
 # Renamed source file so it's not just a version number
 Source0:        eigen-%{version}.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildArch:      noarch
 
 # Fixes build by adding the cstdef to a source file.
 # Not yet submitted upstream
 Patch0:         eigen-3.0.0.ptrdiff.patch
-Patch1:         eigen-3.0.4-cmake26.patch
+Patch1:         eigen3-ppc64.patch
 
 BuildRequires:  atlas-devel
 BuildRequires:  fftw-devel
 BuildRequires:  glew-devel
 BuildRequires:  gmp-devel
 BuildRequires:  gsl-devel
-BuildRequires:  mpfr-devel
 %if 0%{?fedora}
 BuildRequires:  sparsehash-devel
 BuildRequires:  suitesparse-devel
 %endif
 
-BuildRequires:  cmake
+BuildRequires:  cmake28
 BuildRequires:  doxygen
 BuildRequires:  graphviz
 BuildRequires:  tex(latex)
@@ -43,18 +49,28 @@ Group:   Development/Libraries
 Provides: %{name} = %{version}-%{release}
 # not *strictly* a -static pkg, but the results are the same
 Provides: %{name}-static = %{version}-%{release}
+BuildArch: noarch
+
 %description devel
-%{summary}
+%{summary}.
 
 %prep
-%setup -q -n eigen-eigen-c76e08cca8eb
+%setup -q -n eigen-eigen-%{commit}
 %patch0 -p0
-%patch1 -p0
+%patch1 -p1
+
+# Layout file incompatible, disable
+sed -i 's|LAYOUT_FILE|#LAYOUT_FILE|' doc/Doxyfile.in
 
 %build
 mkdir %{_target_platform}
 pushd %{_target_platform}
-%cmake .. -DBLAS_LIBRARIES="cblas" -DBLAS_LIBRARIES_DIR=%{_libdir}/atlas
+%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
+%cmake28 .. -DBLAS_LIBRARIES="cblas" -DBLAS_LIBRARIES_DIR=%{_libdir}/atlas
 popd
 make -C %{_target_platform} %{?_smp_mflags}
 make doc -C %{_target_platform} %{?_smp_mflags}
@@ -66,6 +82,12 @@ rm -f %{_target_platform}/doc/html/unsupported/installdox
 rm -rf %{buildroot}
 make install DESTDIR=%{buildroot} -C %{_target_platform}
 
+%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
+
 %clean
 rm -rf %{buildroot}
 
@@ -77,7 +99,10 @@ rm -rf %{buildroot}
 %{_datadir}/pkgconfig/*
 
 %changelog
-* Mon Aug 06 2012 Rich Mattes <richmattes at gmai.com> - 3.0.6-1
+* Sun Dec 14 2014 Rich Mattes <richmattes at gmail.com> - 3.2.2-1
+- Update to release 3.2.2
+
+* Mon Aug 06 2012 Rich Mattes <richmattes at gmail.com> - 3.0.6-1
 - Update to release 3.0.6
 
 * Sat Feb 18 2012 Rich Mattes <richmattes at gmail.com> - 3.0.4-3
diff --git a/sources b/sources
index 006400b..e190bf9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-e107cc39111bc6a616d685693cd9e529  eigen-3.0.6.tar.bz2
+fc2e814ae449d16b331f7e1f4e272bd3  eigen-3.2.2.tar.bz2


More information about the scm-commits mailing list