]> git.pld-linux.org Git - packages/eigen.git/blobdiff - eigen.spec
- updated to 2.0.17
[packages/eigen.git] / eigen.spec
index d164970872043471d329ec8e7004d780153f6f47..d515a53d8ce6ae483ea3749fdc522660afbcde5d 100644 (file)
@@ -1,74 +1,61 @@
-
-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:       2
+Version:       2.0.17
+Release:       1
 Epoch:         1
-License:       GPL v2
-Group:         Libraries
-Source0:       http://bitbucket.org/eigen/eigen/get/2.0.tar.bz2
-# Source0-md5: a2f10e6b21a36f3c0ef73271209f706f
+License:       LGPL v3+ or GPL v2+
+Group:         Development/Libraries
+Source0:       http://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2
+# Source0-md5: 2dfd1e2765d82c306adbfcd6a0eb324b
 URL:           http://eigen.tuxfamily.org/
 BuildRequires: cmake >= 2.6.2
+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.
 
-- 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} = %{epoch}:%{version}-%{release}
+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 devel
-Header files for eigen2 library.
+%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.
 
-%description devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki eigen2
+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}
+%setup -q -n eigen-eigen-b23437e61a07
 
 %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
@@ -77,16 +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
-
-%files devel
-%defattr(644,root,root,755)
-%{_pkgconfigdir}/eigen2.pc
+%{_npkgconfigdir}/eigen2.pc
This page took 0.077474 seconds and 4 git commands to generate.