From 5bb2d2cd668f277d56d9e6d235cc0095e9316566 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 23 Jan 2011 20:10:40 +0000 Subject: [PATCH] - updated to 2.0.15 - shortened description (only most important information here), added pl translation - use newer cmake macro - updated License (GPL v2+ or LGPL v3+) Changed files: eigen.spec -> 1.13 --- eigen.spec | 87 +++++++++++++++++++++++++----------------------------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/eigen.spec b/eigen.spec index 2e2815d..30bb8a7 100644 --- a/eigen.spec +++ b/eigen.spec @@ -1,51 +1,50 @@ - -Summary: template library for linear algebra +Summary: Template library for linear algebra +Summary(pl.UTF-8): Biblioteka szablonów do algebry liniowej Name: eigen -Version: 2.0.12 -Release: 3 +Version: 2.0.15 +Release: 1 Epoch: 1 -License: GPL v2 +License: LGPL v3+ or GPL v2+ Group: Libraries -Source0: http://bitbucket.org/eigen/eigen/get/2.0.tar.bz2 -# Source0-md5: a2f10e6b21a36f3c0ef73271209f706f +Source0: http://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2 +# Source0-md5: a96fe69d652d7b3b1d990c99bbc518fb URL: http://eigen.tuxfamily.org/ BuildRequires: cmake >= 2.6.2 -Obsoletes: %{name}-devel +BuildRequires: rpmbuild(macros) >= 1.577 +Obsoletes: eigen-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description Eigen is a C++ template library for linear algebra: vectors, matrices, -and related algorithms. It is: +and related algorithms. It is versatile, fast, elegant and +compiler-friendly. + +Eigen handles, without code duplication and in a completely integrated +way: + - both fixed-size and dynamic-size matrices and vectors + - both dense and sparse (the latter is still experimental) matrices + and vectors + - both plain matrices/vectors and abstract expressions + - both column-major (the default) and row-major matrix storage + - both basic matrix/vector manipulation and many more advanced, + specialized modules providing algorithms for linear algebra, + geometry, quaternions, or advanced array manipulation. + +%description -l pl.UTF-8 +Eigen to biblioteka szablonów C++ do algebry liniowej: wektorów, +macierzy i związanych z nimi algorytmów. Jest elastyczna, szybka, +elegancka i przyjazna dla kompilatorów. -- 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. +Obsługuje bez powielania kodu i w całkowicie zintegrowany sposób: + - macierze i wektory o stałym i dynamicznym rozmiarze + - macierze i wektory gęste i rzadkie (te drugie jeszcze + eksperymentalnie) + - zwykłe macierze/wektory jak i abstrakcyjne wyrażenia + - przechowywanie danych kolumnowe (domyślne) oraz wierszowe + - podstawowe operacje na macierzach/wektorach, jak i wiele + bardziej zaawansowanych, specjalizowanych modułów z algorytmami + algebry liniowej, geometrii, kwaternionów i zaawansowanych operacji + na tablicach. %prep %setup -q -n %{name} @@ -53,11 +52,10 @@ and related algorithms. It is: %build install -d build cd build -%cmake \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ +%cmake .. \ -DCMAKE_CXX_COMPILER_WORKS=1 \ - -DCMAKE_CXX_COMPILER="%{__cc}" \ - ../ + -DCMAKE_CXX_COMPILER="%{__cc}" + %{__make} %install @@ -66,13 +64,10 @@ 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) %{_includedir}/eigen2 -%{_pkgconfigdir}/eigen2.pc +%{_npkgconfigdir}/eigen2.pc -- 2.44.0