[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