]> git.pld-linux.org Git - packages/eigen3.git/blob - eigen3.spec
cdcce1cc0510a5a414839562000ff8e5f58e7e07
[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.2.7
10 Release:        2
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)
24
25 %description
26 Eigen is a C++ template library for linear algebra: vectors, matrices,
27 and related algorithms. It is versatile, fast, elegant and
28 compiler-friendly.
29
30 Eigen handles, without code duplication and in a completely integrated
31 way:
32  - both fixed-size and dynamic-size matrices and vectors
33  - both dense and sparse (the latter is still experimental) matrices
34    and vectors
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.
40
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.
45
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
49    eksperymentalnie)
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
55    na tablicach.
56
57 %package gdb
58 Summary:        eigen3 pretty printers for GDB
59 Summary(pl.UTF-8):      Funkcje wypisujące dane eigen3 dla GDB
60 Group:          Development/Debuggers
61
62 %description gdb
63 This package contains Python scripts for GDB pretty printing of the
64 eigen3 types/containers.
65 To use it add:
66
67 python
68 from eigen3.printers import register_eigen_printers
69 register_eigen_printers (None)
70 end
71
72 to a ~/.gdbinit file.
73
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ć:
78
79 python
80 from eigen3.printers import register_eigen_printers
81 register_eigen_printers (None)
82 end
83
84 do pliku ~/.gdbinit .
85
86 %prep
87 %setup -q -n eigen-eigen-b30b87236a1b
88 %patch0 -p1
89 %patch1 -p1
90
91 %build
92 install -d build
93 cd build
94 %cmake .. \
95         -DCMAKE_CXX_COMPILER_WORKS=1 \
96         -DCMAKE_CXX_COMPILER="%{__cxx}"
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 %{_includedir}/eigen3
124 %{_npkgconfigdir}/eigen3.pc
125
126 %if %{with gdb}
127 %files gdb
128 %defattr(644,root,root,755)
129 %{_datadir}/gdb/python/%{name}
130 %endif
This page took 0.0494 seconds and 2 git commands to generate.