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: MPL v2.0 with LGPL v2.1+ parts
12 Group: Development/Libraries
13 #Source0Download: http://eigen.tuxfamily.org/index.php?title=Main_Page
14 Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/eigen-%{version}.tar.bz2
15 # Source0-md5: 132dde48fe2b563211675626d29f1707
16 URL: http://eigen.tuxfamily.org/
17 BuildRequires: cmake >= 3.5.0
18 %{?with_gdb:BuildRequires: python-modules}
19 BuildRequires: rpmbuild(macros) >= 1.605
20 Requires: libstdc++-devel
21 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24 Eigen is a C++ template library for linear algebra: vectors, matrices,
25 and related algorithms. It is versatile, fast, elegant and
28 Eigen handles, without code duplication and in a completely integrated
30 - both fixed-size and dynamic-size matrices and vectors
31 - both dense and sparse (the latter is still experimental) matrices
33 - both plain matrices/vectors and abstract expressions
34 - both column-major (the default) and row-major matrix storage
35 - both basic matrix/vector manipulation and many more advanced,
36 specialized modules providing algorithms for linear algebra,
37 geometry, quaternions, or advanced array manipulation.
39 %description -l pl.UTF-8
40 Eigen to biblioteka szablonów C++ do algebry liniowej: wektorów,
41 macierzy i związanych z nimi algorytmów. Jest elastyczna, szybka,
42 elegancka i przyjazna dla kompilatorów.
44 Obsługuje bez powielania kodu i w całkowicie zintegrowany sposób:
45 - macierze i wektory o stałym i dynamicznym rozmiarze
46 - macierze i wektory gęste i rzadkie (te drugie jeszcze
48 - zwykłe macierze/wektory jak i abstrakcyjne wyrażenia
49 - przechowywanie danych kolumnowe (domyślne) oraz wierszowe
50 - podstawowe operacje na macierzach/wektorach, jak i wiele
51 bardziej zaawansowanych, specjalizowanych modułów z algorytmami
52 algebry liniowej, geometrii, kwaternionów i zaawansowanych operacji
56 Summary: eigen3 pretty printers for GDB
57 Summary(pl.UTF-8): Funkcje wypisujące dane eigen3 dla GDB
58 Group: Development/Debuggers
61 This package contains Python scripts for GDB pretty printing of the
62 eigen3 types/containers.
66 from eigen3.printers import register_eigen_printers
67 register_eigen_printers (None)
72 %description gdb -l pl.UTF-8
73 Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego
74 wypisywania typów i kontenerów eigen3.
75 Aby użyć skryptów trzeba dodać:
78 from eigen3.printers import register_eigen_printers
79 register_eigen_printers (None)
85 %setup -q -n eigen-%{version}
90 # CMakeLists.txt requires CMAKE_INSTALL_INCLUDEDIR to be relative (for proper .pc file generation)
92 -DCMAKE_CXX_COMPILER_WORKS=1 \
93 -DCMAKE_CXX_COMPILER="%{__cxx}" \
94 -DCMAKE_INSTALL_DATADIR:PATH=share \
95 -DCMAKE_INSTALL_INCLUDEDIR:PATH=include
104 rm -rf $RPM_BUILD_ROOT
106 %{__make} -C build install \
107 DESTDIR=$RPM_BUILD_ROOT
110 install -D debug/gdb/printers.py $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}/printers.py
111 touch $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}/__init__.py
112 %py_comp $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}
113 %py_ocomp $RPM_BUILD_ROOT%{_datadir}/gdb/python/%{name}
114 %py_postclean %{_datadir}/gdb/python/%{name}
118 rm -rf $RPM_BUILD_ROOT
121 %defattr(644,root,root,755)
122 %doc COPYING.BSD COPYING.MINPACK COPYING.README README.md
123 %{_includedir}/eigen3
124 %{_npkgconfigdir}/eigen3.pc
125 %dir %{_datadir}/eigen3
126 %{_datadir}/eigen3/cmake
130 %defattr(644,root,root,755)
131 %{_datadir}/gdb/python/%{name}