4 %bcond_without apidocs # do not build and package API docs
5 %bcond_without fzapi # Fotonic FZ API support
6 %bcond_with sse # SSE/SSE2/SSE3 support
7 %bcond_without tawara # Tawara video output (pcl_video)
8 %bcond_without vtk # VTK support in libpcl_{io,surface} + libpcl_{apps,visualization} libs
10 Summary: Point Cloud Library - library for point cloud processing
11 Summary(pl.UTF-8): Point Cloud Library - biblioteka do operacji na chmurze punktów
17 #Source0Download: http://pointclouds.org/downloads/
18 Source0: https://github.com/PointCloudLibrary/pcl/archive/%{name}-%{version}.tar.gz
19 # Source0-md5: e2ac2d2e72825d991c6d194f9586b5d8
20 Patch0: %{name}-openni.patch
21 Patch1: %{name}-vtk6.patch
22 Patch2: %{name}-fz_api.patch
23 Patch3: %{name}-tawara.patch
24 URL: http://pointclouds.org/
25 BuildRequires: OpenGL-devel
26 BuildRequires: OpenGL-GLU-devel
27 BuildRequires: OpenNI-devel
28 BuildRequires: QtCore-devel >= 4
29 BuildRequires: QtOpenGL-devel >= 4
30 BuildRequires: boost-devel >= 1.43
31 BuildRequires: cmake >= 2.8
32 BuildRequires: eigen3 >= 3
33 BuildRequires: flann-devel >= 1.7.0
34 %{?with_fzapi:BuildRequires: fz-api-devel}
35 BuildRequires: gcc-c++ >= 6:4.2
36 BuildRequires: libgomp-devel
37 BuildRequires: libpcap-devel
38 BuildRequires: libpng-devel
39 BuildRequires: libstdc++-devel
40 BuildRequires: libusb-devel >= 1.0
41 BuildRequires: qhull-devel
42 BuildRequires: qt4-build >= 4
44 BuildRequires: sed >= 4.0
45 %{?with_tawara:BuildRequires: tawara-devel}
46 # FIXME: only vtk-devel is really required, the rest (java,python,tcl runtimes) only because of checks in VTK cmake files
47 %{?with_vtk:BuildRequires: vtk-devel >= 6}
48 %{?with_vtk:BuildRequires: vtk-java >= 6}
49 %{?with_vtk:BuildRequires: vtk-python >= 6}
50 %{?with_vtk:BuildRequires: vtk-tcl >= 6}
52 BuildRequires: doxygen
53 BuildRequires: python-sphinxcontrib-doxylink >= 1.3
54 BuildRequires: sphinx-pdg
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59 The Point Cloud Library (PCL) is a standalone, large scale, open
60 project for 3D point cloud processing.
62 The PCL framework contains numerous state-of-the art algorithms
63 including filtering, feature estimation, surface reconstruction,
64 registration, model fitting and segmentation, as well as higher level
65 tools for performing mapping and object recognition. Think of it as
66 the Boost of 3D point cloud processing.
68 %description -l pl.UTF-8
69 Biblioteka PCL (Point Cloud Processing) to samodzielna, wielkoskalowa,
70 mająca otwarte źródła biblioteka do przetwarzania chmury punktów 3D.
72 Szkielet PCL zawiera wiele współczesnych algorytmów, obejmujących
73 filtrowanie, przybliżanie cech, rekonstrukcję powierzchni,
74 rejestrację, dopasowywanie modeli oraz segmentację, a także narzędzia
75 wyższego poziomu do wykonywania odwzorowań oraz rozpoznawania
76 obiektów. O bibliotece można myśleć jako odpowiedniku Boosta do
77 przetwarzania chmury punktów 3D.
80 Summary: Header files for PCL library
81 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PCL
82 Group: Development/Libraries
83 Requires: %{name} = %{version}-%{release}
84 Requires: boost-devel >= 1.44
85 %{?with_vtk:Requires: vtk-devel >= 6}
88 Header files for PCL library.
90 %description devel -l pl.UTF-8
91 Pliki nagłówkowe biblioteki PCL.
94 Summary: PCL API documentation and tutorials
95 Summary(pl.UTF-8): Dokumentacja API oraz wprowadzenie do biblioteki PCL
99 API documentation and tutorials for PCL library.
101 %description apidocs -l pl.UTF-8
102 Dokumentacja API oraz wprowadzenie do biblioteki PCL.
105 %setup -q -n pcl-pcl-%{version}
114 # LIB_INSTALL_DIR specified by PLD cmake macro is incompatible with what PCL expects
116 -DLIB_INSTALL_DIR=%{_lib} \
119 -DFZAPI_INCLUDE_DIR=/usr/include \
120 -DFZAPI_LIBS=%{_libdir}/libfz_api.so \
122 %{!?with_sse:-DPCL_ENABLE_SSE=OFF}
124 # NOTE: -j1 because of OOM on th-x86_64
127 # why it's not called on build?
132 sphinx-build -b html -a -d doctrees ../../../doc/tutorials/content html
136 rm -rf $RPM_BUILD_ROOT
138 %{__make} -C build install \
139 DESTDIR=$RPM_BUILD_ROOT
142 rm -rf $RPM_BUILD_ROOT
144 %post -p /sbin/ldconfig
145 %postun -p /sbin/ldconfig
148 %defattr(644,root,root,755)
149 %doc AUTHORS.txt LICENSE.txt
150 %attr(755,root,root) %{_bindir}/pcl_compute_hull
151 %attr(755,root,root) %{_bindir}/pcl_concatenate_points_pcd
152 %attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary
153 %attr(755,root,root) %{_bindir}/pcl_demean_cloud
154 %attr(755,root,root) %{_bindir}/pcl_fast_bilateral_filter
155 %attr(755,root,root) %{_bindir}/pcl_hdl_grabber
156 %attr(755,root,root) %{_bindir}/pcl_linemod_detection
157 %attr(755,root,root) %{_bindir}/pcl_lum
158 %attr(755,root,root) %{_bindir}/pcl_match_linemod_template
159 %attr(755,root,root) %{_bindir}/pcl_ndt2d
160 %attr(755,root,root) %{_bindir}/pcl_ndt3d
161 %attr(755,root,root) %{_bindir}/pcl_oni2pcd
162 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_depth_example
163 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_example
164 %attr(755,root,root) %{_bindir}/pcl_openni_pcd_recorder
165 %attr(755,root,root) %{_bindir}/pcl_outofcore_print
166 %attr(755,root,root) %{_bindir}/pcl_outofcore_process
167 %attr(755,root,root) %{_bindir}/pcl_outofcore_viewer
168 %attr(755,root,root) %{_bindir}/pcl_pcd_change_viewpoint
169 %attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan
170 %attr(755,root,root) %{_bindir}/pcl_pclzf2pcd
171 %attr(755,root,root) %{_bindir}/pcl_ply2obj
172 %attr(755,root,root) %{_bindir}/pcl_ply2ply
173 %attr(755,root,root) %{_bindir}/pcl_ply2raw
174 %attr(755,root,root) %{_bindir}/pcl_plyheader
175 %attr(755,root,root) %{_bindir}/pcl_radius_filter
176 %attr(755,root,root) %{_bindir}/pcl_sac_segmentation_plane
177 %attr(755,root,root) %{_bindir}/pcl_train_linemod_template
178 %attr(755,root,root) %{_bindir}/pcl_uniform_sampling
179 %attr(755,root,root) %{_bindir}/pcl_xyz2pcd
181 %attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise
182 %attr(755,root,root) %{_bindir}/pcl_boundary_estimation
183 %attr(755,root,root) %{_bindir}/pcl_cluster_extraction
184 %attr(755,root,root) %{_bindir}/pcl_compute_cloud_error
185 %attr(755,root,root) %{_bindir}/pcl_crop_to_hull
186 %attr(755,root,root) %{_bindir}/pcl_elch
187 %attr(755,root,root) %{_bindir}/pcl_extract_feature
188 %attr(755,root,root) %{_bindir}/pcl_fpfh_estimation
189 %attr(755,root,root) %{_bindir}/pcl_gp3_surface
190 %attr(755,root,root) %{_bindir}/pcl_ground_based_rgbd_people_detector
191 %attr(755,root,root) %{_bindir}/pcl_hdl_viewer_simple
192 %attr(755,root,root) %{_bindir}/pcl_icp
193 %attr(755,root,root) %{_bindir}/pcl_icp2d
194 %attr(755,root,root) %{_bindir}/pcl_image_grabber_saver
195 %attr(755,root,root) %{_bindir}/pcl_image_grabber_viewer
196 %attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction
197 %attr(755,root,root) %{_bindir}/pcl_mesh2pcd
198 %attr(755,root,root) %{_bindir}/pcl_mesh_sampling
199 %attr(755,root,root) %{_bindir}/pcl_mls_smoothing
200 %attr(755,root,root) %{_bindir}/pcl_normal_estimation
201 %attr(755,root,root) %{_bindir}/pcl_obj2vtk
202 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_accepted_hypotheses
203 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_hash_table
204 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_model_opps
205 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree
206 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree_zprojection
207 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_result
208 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_scene_opps
209 %attr(755,root,root) %{_bindir}/pcl_octree_viewer
210 %attr(755,root,root) %{_bindir}/pcl_oni_viewer
211 %attr(755,root,root) %{_bindir}/pcl_openni_image
212 %attr(755,root,root) %{_bindir}/pcl_openni_save_image
213 %attr(755,root,root) %{_bindir}/pcl_openni_viewer
214 %attr(755,root,root) %{_bindir}/pcl_organized_pcd_to_png
215 %attr(755,root,root) %{_bindir}/pcl_outlier_removal
216 %attr(755,root,root) %{_bindir}/pcl_passthrough_filter
217 %attr(755,root,root) %{_bindir}/pcl_pcd2ply
218 %attr(755,root,root) %{_bindir}/pcl_pcd2vtk
219 %attr(755,root,root) %{_bindir}/pcl_pcd_grabber_viewer
220 %attr(755,root,root) %{_bindir}/pcl_pcd_image_viewer
221 %attr(755,root,root) %{_bindir}/pcl_plane_projection
222 %attr(755,root,root) %{_bindir}/pcl_ply2pcd
223 %attr(755,root,root) %{_bindir}/pcl_ply2vtk
224 %attr(755,root,root) %{_bindir}/pcl_png2pcd
225 %attr(755,root,root) %{_bindir}/pcl_poisson_reconstruction
226 %attr(755,root,root) %{_bindir}/pcl_registration_visualizer
227 %attr(755,root,root) %{_bindir}/pcl_spin_estimation
228 %attr(755,root,root) %{_bindir}/pcl_tiff2pcd
229 %attr(755,root,root) %{_bindir}/pcl_timed_trigger_test
230 %attr(755,root,root) %{_bindir}/pcl_transform_from_viewpoint
231 %attr(755,root,root) %{_bindir}/pcl_transform_point_cloud
232 %attr(755,root,root) %{_bindir}/pcl_vfh_estimation
233 %{?with_tawara:%attr(755,root,root) %{_bindir}/pcl_video}
234 %attr(755,root,root) %{_bindir}/pcl_viewer
235 %attr(755,root,root) %{_bindir}/pcl_virtual_scanner
236 %attr(755,root,root) %{_bindir}/pcl_voxel_grid
237 %attr(755,root,root) %{_bindir}/pcl_voxel_grid_occlusion_estimation
238 %attr(755,root,root) %{_bindir}/pcl_vtk2obj
239 %attr(755,root,root) %{_bindir}/pcl_vtk2pcd
240 %attr(755,root,root) %{_bindir}/pcl_vtk2ply
242 %attr(755,root,root) %{_libdir}/libpcl_common.so.*.*.*
243 %attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.7
244 %attr(755,root,root) %{_libdir}/libpcl_features.so.*.*.*
245 %attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.7
246 %attr(755,root,root) %{_libdir}/libpcl_filters.so.*.*.*
247 %attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.7
248 %attr(755,root,root) %{_libdir}/libpcl_io.so.*.*.*
249 %attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.7
250 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so.*.*.*
251 %attr(755,root,root) %ghost %{_libdir}/libpcl_io_ply.so.1.7
252 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so.*.*.*
253 %attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.7
254 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so.*.*.*
255 %attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.7
256 %attr(755,root,root) %{_libdir}/libpcl_octree.so.*.*.*
257 %attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.7
258 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so.*.*.*
259 %attr(755,root,root) %ghost %{_libdir}/libpcl_outofcore.so.1.7
260 %attr(755,root,root) %{_libdir}/libpcl_recognition.so.*.*.*
261 %attr(755,root,root) %ghost %{_libdir}/libpcl_recognition.so.1.7
262 %attr(755,root,root) %{_libdir}/libpcl_registration.so.*.*.*
263 %attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.7
264 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so.*.*.*
265 %attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.7
266 %attr(755,root,root) %{_libdir}/libpcl_search.so.*.*.*
267 %attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.7
268 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so.*.*.*
269 %attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.7
270 %attr(755,root,root) %{_libdir}/libpcl_surface.so.*.*.*
271 %attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.7
272 %attr(755,root,root) %{_libdir}/libpcl_tracking.so.*.*.*
273 %attr(755,root,root) %ghost %{_libdir}/libpcl_tracking.so.1.7
275 %attr(755,root,root) %{_libdir}/libpcl_people.so.*.*.*
276 %attr(755,root,root) %ghost %{_libdir}/libpcl_people.so.1.7
277 %attr(755,root,root) %{_libdir}/libpcl_visualization.so.*.*.*
278 %attr(755,root,root) %ghost %{_libdir}/libpcl_visualization.so.1.7
282 %defattr(644,root,root,755)
283 %attr(755,root,root) %{_libdir}/libpcl_common.so
284 %attr(755,root,root) %{_libdir}/libpcl_features.so
285 %attr(755,root,root) %{_libdir}/libpcl_filters.so
286 %attr(755,root,root) %{_libdir}/libpcl_io.so
287 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so
288 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so
289 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so
290 %attr(755,root,root) %{_libdir}/libpcl_octree.so
291 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so
292 %attr(755,root,root) %{_libdir}/libpcl_recognition.so
293 %attr(755,root,root) %{_libdir}/libpcl_registration.so
294 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so
295 %attr(755,root,root) %{_libdir}/libpcl_search.so
296 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so
297 %attr(755,root,root) %{_libdir}/libpcl_surface.so
298 %attr(755,root,root) %{_libdir}/libpcl_tracking.so
300 %attr(755,root,root) %{_libdir}/libpcl_people.so
301 %attr(755,root,root) %{_libdir}/libpcl_visualization.so
303 %{_includedir}/pcl-1.7
304 %{_pkgconfigdir}/pcl_common-1.7.pc
305 %{_pkgconfigdir}/pcl_features-1.7.pc
306 %{_pkgconfigdir}/pcl_filters-1.7.pc
307 %{_pkgconfigdir}/pcl_io-1.7.pc
308 %{_pkgconfigdir}/pcl_kdtree-1.7.pc
309 %{_pkgconfigdir}/pcl_keypoints-1.7.pc
310 %{_pkgconfigdir}/pcl_octree-1.7.pc
311 %{_pkgconfigdir}/pcl_outofcore-1.7.pc
312 %{_pkgconfigdir}/pcl_recognition-1.7.pc
313 %{_pkgconfigdir}/pcl_registration-1.7.pc
314 %{_pkgconfigdir}/pcl_sample_consensus-1.7.pc
315 %{_pkgconfigdir}/pcl_search-1.7.pc
316 %{_pkgconfigdir}/pcl_segmentation-1.7.pc
317 %{_pkgconfigdir}/pcl_surface-1.7.pc
318 %{_pkgconfigdir}/pcl_tracking-1.7.pc
320 %{_pkgconfigdir}/pcl_people-1.7.pc
321 %{_pkgconfigdir}/pcl_visualization-1.7.pc
323 %dir %{_datadir}/pcl-1.7
324 %{_datadir}/pcl-1.7/PCLConfig*.cmake
328 %defattr(644,root,root,755)
329 %dir %{_docdir}/pcl-1.7
330 %{_docdir}/pcl-1.7/html
331 %{_docdir}/pcl-1.7/tutorials