3 %bcond_with tests # make check (takes very long time, few tests fail)
4 %bcond_without gdb # GDB pretty printers
6 Summary: C++ template library for linear algebra
7 Summary(pl.UTF-8): Biblioteka szablonów C++ do algebry liniowej
11 License: LGPL v3+ or GPL v2+
12 Group: Development/Libraries
13 #Source0Download: http://eigen.tuxfamily.org/index.php?title=Main_Page
14 Source0: https://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2
15 # Source0-md5: cc1bacbad97558b97da6b77c9644f184
16 Patch0: %{name}-buildtype.patch
17 Patch1: pkgconfig.patch
18 URL: http://eigen.tuxfamily.org/
19 BuildRequires: cmake >= 2.8.2
20 %{?with_gdb:BuildRequires: python-modules}
21 BuildRequires: rpmbuild(macros) >= 1.605
22 Requires: libstdc++-devel
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26 Eigen is a C++ template library for linear algebra: vectors, matrices,
27 and related algorithms. It is versatile, fast, elegant and
30 Eigen handles, without code duplication and in a completely integrated
32 - both fixed-size and dynamic-size matrices and vectors
33 - both dense and sparse (the latter is still experimental) matrices
35 - both plain matrices/vectors and abstract expressions
36 - both column-major (the default) and row-major matrix storage
37 - both basic matrix/vector manipulation and many more advanced,
38 specialized modules providing algorithms for linear algebra,
39 geometry, quaternions, or advanced array manipulation.
41 %description -l pl.UTF-8
42 Eigen to biblioteka szablonów C++ do algebry liniowej: wektorów,
43 macierzy i związanych z nimi algorytmów. Jest elastyczna, szybka,
44 elegancka i przyjazna dla kompilatorów.
46 Obsługuje bez powielania kodu i w całkowicie zintegrowany sposób:
47 - macierze i wektory o stałym i dynamicznym rozmiarze
48 - macierze i wektory gęste i rzadkie (te drugie jeszcze
50 - zwykłe macierze/wektory jak i abstrakcyjne wyrażenia
51 - przechowywanie danych kolumnowe (domyślne) oraz wierszowe
52 - podstawowe operacje na macierzach/wektorach, jak i wiele
53 bardziej zaawansowanych, specjalizowanych modułów z algorytmami
54 algebry liniowej, geometrii, kwaternionów i zaawansowanych operacji
58 Summary: eigen3 pretty printers for GDB
59 Summary(pl.UTF-8): Funkcje wypisujące dane eigen3 dla GDB
60 Group: Development/Debuggers
63 This package contains Python scripts for GDB pretty printing of the
64 eigen3 types/containers.
68 from eigen3.printers import register_eigen_printers
69 register_eigen_printers (None)
74 %description gdb -l pl.UTF-8
75 Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego
76 wypisywania typów i kontenerów eigen3.
77 Aby użyć skryptów trzeba dodać:
80 from eigen3.printers import register_eigen_printers
81 register_eigen_printers (None)
87 %setup -q -n eigen-eigen-b30b87236a1b
95 -DCMAKE_CXX_COMPILER_WORKS=1 \
96 -DCMAKE_CXX_COMPILER="%{__cxx}"
105 rm -rf $RPM_BUILD_ROOT
107 %{__make} -C build install \
108 DESTDIR=$RPM_BUILD_ROOT
111 install -D debug/gdb/printers.py $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}/printers.py
112 touch $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}/__init__.py
113 %py_comp $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}
114 %py_ocomp $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}
115 %py_postclean %{_datadir}/gdb/python/%{name}
119 rm -rf $RPM_BUILD_ROOT
122 %defattr(644,root,root,755)
123 %{_includedir}/eigen3
124 %{_npkgconfigdir}/eigen3.pc
128 %defattr(644,root,root,755)
129 %{_datadir}/gdb/python/%{name}