1 # TODO: CUDA support (on bcond)
2 Summary: FLANN - Fast Library for Approximate Nearest Neighbours
3 Summary(pl.UTF-8): FLANN - szybka biblioteka do przybliżonego wyszukiwania najbliższych sąsiadów
9 Source0: http://people.cs.ubc.ca/~mariusm/uploads/FLANN/%{name}-%{version}-src.zip
10 # Source0-md5: d780795f523eabda7c7ea09c6f5cf235
11 Patch0: %{name}-python.patch
12 URL: http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN
13 BuildRequires: cmake >= 2.6
14 BuildRequires: hdf5-devel
15 BuildRequires: libstdc++-devel
16 BuildRequires: octave-devel
17 BuildRequires: python >= 1:2.5
18 BuildRequires: python-devel >= 1:2.5
19 BuildRequires: rpmbuild(macros) >= 1.605
20 BuildRequires: tbb-devel
22 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24 %define octave_m_dir %(octave-config --m-site-dir)
25 %define octave_oct_dir %(octave-config --oct-site-dir)
28 FLANN is a library for performing fast approximate nearest neighbour
29 searches in high dimensional spaces. It contains a collection of
30 algorithms we found to work best for nearest neighbour search and a
31 system for automatically choosing the best algorithm and optimum
32 parameters depending on the dataset.
34 FLANN is written in C++ and contains bindings for the following
35 languages: C, MATLAB and Python.
37 %description -l pl.UTF-8
38 FLANN (Fast Library for Approximage Nearest Neighbours) to biblioteka
39 do wykonywania szybkich przybliżonych wyszukiwań najbliższych sąsiadów
40 w przestrzeniach o wielu wymiarach. Zawiera zbiór algorytmów, które
41 sprawdzają się najlepiej w tym zastosowaniu oraz system automatycznego
42 wyboru najlepszego algorytmu oraz optymalnych parametrów w zależności
45 Biblioteka FLANN została napisana w C++ i zawiera dowiązania dla
46 następujących języków: C, MATLAB i Python.
49 Summary: Header files for FLANN libraries
50 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek FLANN
51 Group: Development/Libraries
52 Requires: %{name} = %{version}-%{release}
54 Requires: libstdc++-devel
58 Header files for FLANN libraries.
60 %description devel -l pl.UTF-8
61 Pliki nagłówkowe bibliotek FLANN.
64 Summary: Static FLANN libraries
65 Summary(pl.UTF-8): Statyczne biblioteki FLANN
66 Group: Development/Libraries
67 Requires: %{name}-devel = %{version}-%{release}
70 Static FLANN libraries.
72 %description static -l pl.UTF-8
73 Statyczne biblioteki FLANN.
75 %package -n octave-flann
76 Summary: Octave binding for FLANN library
77 Summary(pl.UTF-8): Dowiązania języka Octave do biblioteki FLANN
78 Group: Development/Languages
79 Requires: %{name} = %{version}-%{release}
81 %description -n octave-flann
82 Octave binding for FLANN library.
84 %description -n octave-flann -l pl.UTF-8
85 Dowiązania języka Octave do biblioteki FLANN.
87 %package -n python-flann
88 Summary: Python binding for FLANN library
89 Summary(pl.UTF-8): Dowiązania Pythona do biblioteki FLANN
90 Group: Libraries/Python
91 Requires: %{name} = %{version}-%{release}
93 %description -n python-flann
94 Python binding for FLANN library.
96 %description -n python-flann -l pl.UTF-8
97 Dowiązania Pythona do biblioteki FLANN.
100 %setup -q -n flann-%{version}-src
112 rm -rf $RPM_BUILD_ROOT
114 %{__make} -C build install \
115 DESTDIR=$RPM_BUILD_ROOT
117 %{__rm} $RPM_BUILD_ROOT%{_bindir}/flann_example_*
118 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
119 cp -p examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
122 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/flann
124 install -d $RPM_BUILD_ROOT{%{octave_m_dir},%{octave_oct_dir}}
125 %{__rm} $RPM_BUILD_ROOT%{_datadir}/flann/octave/test*.m
126 mv $RPM_BUILD_ROOT%{_datadir}/flann/octave/*.m $RPM_BUILD_ROOT%{octave_m_dir}
127 mv $RPM_BUILD_ROOT%{_datadir}/flann/octave/*.mex $RPM_BUILD_ROOT%{octave_oct_dir}
129 install -d $RPM_BUILD_ROOT%{py_sitedir}/pyflann
130 mv $RPM_BUILD_ROOT%{py_sitescriptdir}/pyflann/lib/libflann.so $RPM_BUILD_ROOT%{py_sitedir}/pyflann
135 rm -rf $RPM_BUILD_ROOT
137 %post -p /sbin/ldconfig
138 %postun -p /sbin/ldconfig
141 %defattr(644,root,root,755)
142 %doc COPYING README.md
143 %attr(755,root,root) %{_libdir}/libflann.so.*.*.*
144 %attr(755,root,root) %ghost %{_libdir}/libflann.so.1.7
145 %attr(755,root,root) %{_libdir}/libflann_cpp.so.*.*.*
146 %attr(755,root,root) %ghost %{_libdir}/libflann_cpp.so.1.7
147 %attr(755,root,root) %{_libdir}/libflann_cpp-gd.so
150 %defattr(644,root,root,755)
152 %attr(755,root,root) %{_libdir}/libflann.so
153 %attr(755,root,root) %{_libdir}/libflann_cpp.so
155 %{_pkgconfigdir}/flann.pc
156 %{_examplesdir}/%{name}-%{version}
159 %defattr(644,root,root,755)
160 %{_libdir}/libflann_s.a
161 %{_libdir}/libflann_cpp_s.a
162 %{_libdir}/libflann_cpp_s-gd.a
164 %files -n octave-flann
165 %defattr(644,root,root,755)
166 %{octave_m_dir}/flann*.m
167 %attr(755,root,root) %{octave_oct_dir}/nearest_neighbors.mex
169 %files -n python-flann
170 %defattr(644,root,root,755)
171 %dir %{py_sitedir}/pyflann
172 %attr(755,root,root) %{py_sitedir}/pyflann/libflann.so
173 %{py_sitescriptdir}/pyflann
174 %{py_sitescriptdir}/flann-%{version}-py*.egg-info