]> git.pld-linux.org Git - packages/eigen3.git/blob - eigen3.spec
- built packages seem noarch
[packages/eigen3.git] / eigen3.spec
1 #
2 # Conditional build:
3 %bcond_with     tests           # make check (takes very long time, few tests fail)
4 %bcond_without  gdb             # GDB pretty printers
5
6 Summary:        C++ template library for linear algebra
7 Summary(pl.UTF-8):      Biblioteka szablonów C++ do algebry liniowej
8 Name:           eigen3
9 Version:        3.4.0
10 Release:        1
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 BuildArch:      noarch
22 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23
24 %description
25 Eigen is a C++ template library for linear algebra: vectors, matrices,
26 and related algorithms. It is versatile, fast, elegant and
27 compiler-friendly.
28
29 Eigen handles, without code duplication and in a completely integrated
30 way:
31  - both fixed-size and dynamic-size matrices and vectors
32  - both dense and sparse (the latter is still experimental) matrices
33    and vectors
34  - both plain matrices/vectors and abstract expressions
35  - both column-major (the default) and row-major matrix storage
36  - both basic matrix/vector manipulation and many more advanced,
37    specialized modules providing algorithms for linear algebra,
38    geometry, quaternions, or advanced array manipulation.
39
40 %description -l pl.UTF-8
41 Eigen to biblioteka szablonów C++ do algebry liniowej: wektorów,
42 macierzy i związanych z nimi algorytmów. Jest elastyczna, szybka,
43 elegancka i przyjazna dla kompilatorów.
44
45 Obsługuje bez powielania kodu i w całkowicie zintegrowany sposób:
46  - macierze i wektory o stałym i dynamicznym rozmiarze
47  - macierze i wektory gęste i rzadkie (te drugie jeszcze
48    eksperymentalnie)
49  - zwykłe macierze/wektory jak i abstrakcyjne wyrażenia
50  - przechowywanie danych kolumnowe (domyślne) oraz wierszowe
51  - podstawowe operacje na macierzach/wektorach, jak i wiele
52    bardziej zaawansowanych, specjalizowanych modułów z algorytmami
53    algebry liniowej, geometrii, kwaternionów i zaawansowanych operacji
54    na tablicach.
55
56 %package gdb
57 Summary:        eigen3 pretty printers for GDB
58 Summary(pl.UTF-8):      Funkcje wypisujące dane eigen3 dla GDB
59 Group:          Development/Debuggers
60
61 %description gdb
62 This package contains Python scripts for GDB pretty printing of the
63 eigen3 types/containers.
64 To use it add:
65
66 python
67 from eigen3.printers import register_eigen_printers
68 register_eigen_printers (None)
69 end
70
71 to a ~/.gdbinit file.
72
73 %description gdb -l pl.UTF-8
74 Ten pakiet zawiera skrypty Pythona dla GDB służące do ładnego
75 wypisywania typów i kontenerów eigen3.
76 Aby użyć skryptów trzeba dodać:
77
78 python
79 from eigen3.printers import register_eigen_printers
80 register_eigen_printers (None)
81 end
82
83 do pliku ~/.gdbinit .
84
85 %prep
86 %setup -q -n eigen-%{version}
87
88 %build
89 install -d build
90 cd build
91 # CMakeLists.txt requires CMAKE_INSTALL_INCLUDEDIR to be relative (for proper .pc file generation)
92 %cmake .. \
93         -DCMAKE_CXX_COMPILER_WORKS=1 \
94         -DCMAKE_CXX_COMPILER="%{__cxx}" \
95         -DCMAKE_INSTALL_DATADIR:PATH=share \
96         -DCMAKE_INSTALL_INCLUDEDIR:PATH=include
97
98 %{__make}
99
100 %if %{with tests}
101 %{__make} check
102 %endif
103
104 %install
105 rm -rf $RPM_BUILD_ROOT
106
107 %{__make} -C build install \
108         DESTDIR=$RPM_BUILD_ROOT
109
110 %if %{with gdb}
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}
116 %endif
117
118 %clean
119 rm -rf $RPM_BUILD_ROOT
120
121 %files
122 %defattr(644,root,root,755)
123 %doc COPYING.BSD COPYING.MINPACK COPYING.README README.md
124 %{_includedir}/eigen3
125 %{_npkgconfigdir}/eigen3.pc
126 %dir %{_datadir}/eigen3
127 %{_datadir}/eigen3/cmake
128
129 %if %{with gdb}
130 %files gdb
131 %defattr(644,root,root,755)
132 %{_datadir}/gdb/python/%{name}
133 %endif
This page took 0.080547 seconds and 4 git commands to generate.