]> git.pld-linux.org Git - packages/eigen.git/blobdiff - eigen.spec
- epoch 1 to make sure 2.0.12 > 2.0.52 (which was development and is on builders)
[packages/eigen.git] / eigen.spec
index 97247a4452091c7d2c219edcf7dfbb616fd7748c..9493ce2d67525ce612e223af1cb96b55b0affa4f 100644 (file)
@@ -1,17 +1,62 @@
+
 Summary:       template library for linear algebra
 Name:          eigen
-Version:       1.0.5
+Version:       2.0.12
 Release:       1
+Epoch:         1
 License:       GPL v2
 Group:         Libraries
-Source0:       http://download.tuxfamily.org/eigen/%{name}-%{version}.tar.gz
-# Source0-md5: 960d7e5fb6542270eae4d53ca99b607c
-URL:           http://eigen.tuxfamily.org/index.php?title=Main_Page
+Source0:       http://bitbucket.org/eigen/eigen/get/2.0.tar.bz2
+# Source0-md5: a2f10e6b21a36f3c0ef73271209f706f
+URL:           http://eigen.tuxfamily.org/
+BuildRequires: cmake >= 2.6.2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
-Eigen is a lightweight C++ template library for vector and matrix
-math, a.k.a. linear algebra.
+Eigen is a C++ template library for linear algebra: vectors, matrices,
+and related algorithms. It is:
+
+- Versatile. (See modules and tutorial). Eigen handles, without code
+  duplication, and in a completely integrated way: o both fixed-size and
+  dynamic-size matrices and vectors. o both dense and sparse (the latter
+  is still experimental) matrices and vectors. o both plain
+  matrices/vectors and abstract expressions. o both column-major (the
+  default) and row-major matrix storage. o both basic matrix/vector
+  manipulation and many more advanced, specialized modules providing
+  algorithms for linear algebra, geometry, quaternions, or advanced
+  array manipulation.
+- Fast. (See benchmark). o Expression templates allow to intelligently
+  remove temporaries and enable lazy evaluation, when that is
+  appropriate -- Eigen takes care of this automatically and handles
+  aliasing too in most cases. o Explicit vectorization is performed for
+  the SSE (2 and later) and AltiVec instruction sets, with graceful
+  fallback to non-vectorized code. Expression templates allow to perform
+  these optimizations globally for whole expressions. o With fixed-size
+  objects, dynamic memory allocation is avoided, and the loops are
+  unrolled when that makes sense. o For large matrices, special
+  attention is paid to cache-friendliness.
+- Elegant. (See API showcase). The API is extremely clean and
+  expressive, thanks to expression templates. Implementing an algorithm
+  on top of Eigen feels like just copying pseudocode. You can use
+  complex expressions and still rely on Eigen to produce optimized code:
+  there is no need for you to manually decompose expressions into small
+  steps.
+- Compiler-friendy. Eigen has very reasonable compilation times at
+  least with GCC, compared to other C++ libraries based on expression
+  templates and heavy metaprogramming. Eigen is also standard C++ and
+  supports various compilers.
+
+%package devel
+Summary:       Header files for eigen2 library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki eigen2
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description devel
+Header files for eigen2 library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki eigen2
 
 %prep
 %setup -q -n %{name}
@@ -21,6 +66,8 @@ install -d build
 cd build
 %cmake \
        -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+       -DCMAKE_CXX_COMPILER_WORKS=1 \
+       -DCMAKE_CXX_COMPILER="%{__cc}" \
        ../
 %{__make}
 
@@ -30,11 +77,16 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
+install -d $RPM_BUILD_ROOT/%{_pkgconfigdir}
+cp build/eigen2.pc $RPM_BUILD_ROOT/%{_pkgconfigdir}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc LICENSE TODO README
-%dir %{_includedir}/eigen
-%{_includedir}/eigen/*.h
+%{_includedir}/eigen2
+
+%files devel
+%defattr(644,root,root,755)
+%{_pkgconfigdir}/eigen2.pc
This page took 0.06751 seconds and 4 git commands to generate.