From 0a5c254e32c988fe9e8f6eaa65f41106d16e7a7f Mon Sep 17 00:00:00 2001 From: Rich Mattes Date: Sat, 9 Jul 2011 19:33:13 -0400 Subject: [PATCH] Initial import of eigen3: A lightweight C++ template library for vector and matrix math --- .gitignore | 1 + eigen-3.0.0.ptrdiff.patch | 12 ++++++ eigen3.spec | 88 +++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 102 insertions(+) create mode 100644 eigen-3.0.0.ptrdiff.patch create mode 100644 eigen3.spec diff --git a/.gitignore b/.gitignore index e69de29..4df11ba 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/eigen-3.0.0.tar.bz2 diff --git a/eigen-3.0.0.ptrdiff.patch b/eigen-3.0.0.ptrdiff.patch new file mode 100644 index 0000000..ed21ee3 --- /dev/null +++ b/eigen-3.0.0.ptrdiff.patch @@ -0,0 +1,12 @@ +diff -up ./Eigen/src/StlSupport/details.h.ptrdiff ./Eigen/src/StlSupport/details.h +--- ./Eigen/src/StlSupport/details.h.ptrdiff 2011-04-17 23:07:20.116801391 -0400 ++++ ./Eigen/src/StlSupport/details.h 2011-04-17 23:07:49.699857645 -0400 +@@ -30,6 +30,8 @@ + #define EIGEN_ALIGNED_ALLOCATOR Eigen::aligned_allocator + #endif + ++#include // for ptrdiff_t ++ + namespace Eigen { + + // This one is needed to prevent reimplementing the whole std::vector. diff --git a/eigen3.spec b/eigen3.spec new file mode 100644 index 0000000..4131c7e --- /dev/null +++ b/eigen3.spec @@ -0,0 +1,88 @@ +Name: eigen3 +Version: 3.0.0 +Release: 2%{?dist} +Summary: A lightweight C++ template library for vector and matrix math + +Group: Development/Libraries +License: LGPLv3+ or GPLv2+ +URL: http://eigen.tuxfamily.org/index.php?title=Main_Page +# Source file is at: http://bitbucket.org/eigen/eigen/get/3.0.0.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 + +BuildRequires: atlas-devel +BuildRequires: fftw-devel +BuildRequires: glew-devel +BuildRequires: gmp-devel +BuildRequires: gsl-devel +BuildRequires: mpfr-devel +BuildRequires: sparsehash-devel +BuildRequires: suitesparse-devel + +BuildRequires: cmake +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: tex(latex) + +%description + +%package devel +Summary: A lightweight C++ template library for vector and matrix math +Group: Development/Libraries +# -devel subpkg only atm, compat with other distros +Provides: %{name} = %{version}-%{release} +# not *strictly* a -static pkg, but the results are the same +Provides: %{name}-static = %{version}-%{release} +%description devel +%{summary} + +%prep +%setup -q -n eigen-eigen-65ee2328342f +%patch0 -p0 + +%build +mkdir %{_target_platform} +pushd %{_target_platform} +%cmake .. -DBLAS_LIBRARIES="cblas" -DBLAS_LIBRARIES_DIR=%{_libdir}/atlas +popd +make -C %{_target_platform} %{?_smp_mflags} +make doc -C %{_target_platform} %{?_smp_mflags} + +rm -f %{_target_platform}/doc/html/installdox +rm -f %{_target_platform}/doc/html/unsupported/installdox + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} -C %{_target_platform} + +%clean +rm -rf %{buildroot} + +%files devel +%defattr(-,root,root,-) +%doc COPYING.GPL COPYING.LGPL +%doc %{_target_platform}/doc/html +%{_includedir}/eigen3 +%{_datadir}/pkgconfig/* + +%changelog +* Sun Apr 17 2011 Rich Mattes - 3.0.0-2 +- Patched sources to fix build failure +- Removed fixes made upstream +- Added project name to source tarball filename + +* Sat Mar 26 2011 Rich Mattes - 3.0.0-1 +- Update to release 3.0.0 + +* Tue Jan 25 2011 Rich Mattes - 3.0-0.2.beta2 +- Change blas-devel buildrequirement to atlas-devel +- Don't make the built-in experimental blas library + +* Mon Jan 24 2011 Rich Mattes - 3.0-0.1.beta2 +- Initial package diff --git a/sources b/sources index e69de29..22f464c 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +046baf7072f008653361f8321560a26f eigen-3.0.0.tar.bz2