]> git.pld-linux.org Git - packages/pcl.git/blob - pcl.spec
ce1495e7d541d929e05cb40938fa85d18d1478e0
[packages/pcl.git] / pcl.spec
1 # TODO: MPI, ROS?
2 #
3 # Conditional build:
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
9
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
12 Name:           pcl
13 Version:        1.7.2
14 Release:        12
15 License:        BSD
16 Group:          Libraries
17 #Source0Download: http://pointclouds.org/downloads/
18 Source0:        https://github.com/PointCloudLibrary/pcl/archive/%{name}-%{version}.tar.gz
19 # Source0-md5:  02c72eb6760fcb1f2e359ad8871b9968
20 Patch0:         %{name}-fz_api.patch
21 Patch1:         %{name}-tawara.patch
22 Patch2:         %{name}-openni.patch
23 Patch3:         eigen-dependency.patch
24 Patch4:         vtk7.patch
25 Patch5:         vtk71.patch
26 URL:            http://pointclouds.org/
27 BuildRequires:  OpenGL-devel
28 BuildRequires:  OpenGL-GLU-devel
29 BuildRequires:  OpenNI-devel
30 BuildRequires:  OpenNI2-devel
31 BuildRequires:  QtCore-devel >= 4
32 BuildRequires:  QtOpenGL-devel >= 4
33 BuildRequires:  boost-devel >= 1.43
34 BuildRequires:  cmake >= 2.8
35 BuildRequires:  eigen3 >= 3
36 BuildRequires:  flann-devel >= 1.7.0
37 %{?with_fzapi:BuildRequires:    fz-api-devel}
38 BuildRequires:  gcc-c++ >= 6:4.2
39 BuildRequires:  libgomp-devel
40 BuildRequires:  libpcap-devel
41 BuildRequires:  libpng-devel
42 BuildRequires:  libstdc++-devel
43 BuildRequires:  libusb-devel >= 1.0
44 BuildRequires:  qhull-devel
45 BuildRequires:  qt4-build >= 4
46 BuildRequires:  python
47 BuildRequires:  sed >= 4.0
48 %{?with_tawara:BuildRequires:   tawara-devel}
49 # FIXME: only vtk-devel is really required, the rest (java,python,tcl runtimes) only because of checks in VTK cmake files
50 %{?with_vtk:BuildRequires:      vtk-devel >= 6}
51 %{?with_vtk:BuildRequires:      vtk-java >= 6}
52 %{?with_vtk:BuildRequires:      vtk-python >= 6}
53 %{?with_vtk:BuildRequires:      vtk-tcl >= 6}
54 %if %{with apidocs}
55 BuildRequires:  doxygen
56 BuildRequires:  python3-sphinxcontrib-doxylink >= 1.3
57 BuildRequires:  sphinx-pdg >= 1.3.3-2
58 %endif
59 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61 %description
62 The Point Cloud Library (PCL) is a standalone, large scale, open
63 project for 3D point cloud processing.
64
65 The PCL framework contains numerous state-of-the art algorithms
66 including filtering, feature estimation, surface reconstruction,
67 registration, model fitting and segmentation, as well as higher level
68 tools for performing mapping and object recognition. Think of it as
69 the Boost of 3D point cloud processing.
70
71 %description -l pl.UTF-8
72 Biblioteka PCL (Point Cloud Processing) to samodzielna, wielkoskalowa,
73 mająca otwarte źródła biblioteka do przetwarzania chmury punktów 3D.
74
75 Szkielet PCL zawiera wiele współczesnych algorytmów, obejmujących
76 filtrowanie, przybliżanie cech, rekonstrukcję powierzchni,
77 rejestrację, dopasowywanie modeli oraz segmentację, a także narzędzia
78 wyższego poziomu do wykonywania odwzorowań oraz rozpoznawania
79 obiektów. O bibliotece można myśleć jako odpowiedniku Boosta do
80 przetwarzania chmury punktów 3D.
81
82 %package devel
83 Summary:        Header files for PCL library
84 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki PCL
85 Group:          Development/Libraries
86 Requires:       %{name} = %{version}-%{release}
87 Requires:       boost-devel >= 1.44
88 Requires:       eigen3 >= 3
89 %{?with_vtk:Requires:   vtk-devel >= 6}
90
91 %description devel
92 Header files for PCL library.
93
94 %description devel -l pl.UTF-8
95 Pliki nagłówkowe biblioteki PCL.
96
97 %package apidocs
98 Summary:        PCL API documentation and tutorials
99 Summary(pl.UTF-8):      Dokumentacja API oraz wprowadzenie do biblioteki PCL
100 Group:          Documentation
101 %if "%{_rpmversion}" >= "5"
102 BuildArch:      noarch
103 %endif
104
105 %description apidocs
106 API documentation and tutorials for PCL library.
107
108 %description apidocs -l pl.UTF-8
109 Dokumentacja API oraz wprowadzenie do biblioteki PCL.
110
111 %prep
112 %setup -q -n pcl-pcl-%{version}
113 %patch0 -p1
114 %patch1 -p1
115 %patch2 -p1
116 %patch3 -p1
117 %patch4 -p1
118 %patch5 -p1
119
120 %build
121 mkdir build
122 cd build
123 # LIB_INSTALL_DIR specified by PLD cmake macro is incompatible with what PCL expects
124 %cmake .. \
125         -DLIB_INSTALL_DIR=%{_lib} \
126 %if %{with fzapi}
127         -DFZAPI_DIR=/usr \
128         -DFZAPI_INCLUDE_DIR=/usr/include \
129         -DFZAPI_LIBS=%{_libdir}/libfz_api.so \
130 %endif
131 %if %{with apidocs}
132         -DWITH_DOCS=ON \
133         -DWITH_TUTORIALS=ON \
134 %endif
135         %{!?with_sse:-DPCL_ENABLE_SSE=OFF}
136
137 # NOTE: -j1 because of OOM on th-x86_64
138 %{__make} -j1
139
140 %install
141 rm -rf $RPM_BUILD_ROOT
142
143 %{__make} -C build install \
144         DESTDIR=$RPM_BUILD_ROOT
145
146 %clean
147 rm -rf $RPM_BUILD_ROOT
148
149 %post   -p /sbin/ldconfig
150 %postun -p /sbin/ldconfig
151
152 %files
153 %defattr(644,root,root,755)
154 %doc AUTHORS.txt LICENSE.txt
155 %attr(755,root,root) %{_bindir}/pcl_compute_hausdorff
156 %attr(755,root,root) %{_bindir}/pcl_compute_hull
157 %attr(755,root,root) %{_bindir}/pcl_concatenate_points_pcd
158 %attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary
159 %attr(755,root,root) %{_bindir}/pcl_demean_cloud
160 %attr(755,root,root) %{_bindir}/pcl_fast_bilateral_filter
161 %attr(755,root,root) %{_bindir}/pcl_generate
162 %attr(755,root,root) %{_bindir}/pcl_grid_min
163 %attr(755,root,root) %{_bindir}/pcl_hdl_grabber
164 %attr(755,root,root) %{_bindir}/pcl_linemod_detection
165 %attr(755,root,root) %{_bindir}/pcl_local_max
166 %attr(755,root,root) %{_bindir}/pcl_lum
167 %attr(755,root,root) %{_bindir}/pcl_match_linemod_template
168 %attr(755,root,root) %{_bindir}/pcl_morph
169 %attr(755,root,root) %{_bindir}/pcl_ndt2d
170 %attr(755,root,root) %{_bindir}/pcl_ndt3d
171 %attr(755,root,root) %{_bindir}/pcl_obj2pcd
172 %attr(755,root,root) %{_bindir}/pcl_oni2pcd
173 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_depth_example
174 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_example
175 %attr(755,root,root) %{_bindir}/pcl_openni_pcd_recorder
176 %attr(755,root,root) %{_bindir}/pcl_outofcore_print
177 %attr(755,root,root) %{_bindir}/pcl_outofcore_process
178 %attr(755,root,root) %{_bindir}/pcl_outofcore_viewer
179 %attr(755,root,root) %{_bindir}/pcl_pcd_change_viewpoint
180 %attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan
181 %attr(755,root,root) %{_bindir}/pcl_pclzf2pcd
182 %attr(755,root,root) %{_bindir}/pcl_ply2obj
183 %attr(755,root,root) %{_bindir}/pcl_ply2ply
184 %attr(755,root,root) %{_bindir}/pcl_ply2raw
185 %attr(755,root,root) %{_bindir}/pcl_plyheader
186 %attr(755,root,root) %{_bindir}/pcl_progressive_morphological_filter
187 %attr(755,root,root) %{_bindir}/pcl_radius_filter
188 %attr(755,root,root) %{_bindir}/pcl_sac_segmentation_plane
189 %attr(755,root,root) %{_bindir}/pcl_train_linemod_template
190 %attr(755,root,root) %{_bindir}/pcl_uniform_sampling
191 %attr(755,root,root) %{_bindir}/pcl_xyz2pcd
192 %if %{with vtk}
193 %attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise
194 %attr(755,root,root) %{_bindir}/pcl_boundary_estimation
195 %attr(755,root,root) %{_bindir}/pcl_cluster_extraction
196 %attr(755,root,root) %{_bindir}/pcl_compute_cloud_error
197 %attr(755,root,root) %{_bindir}/pcl_crop_to_hull
198 %attr(755,root,root) %{_bindir}/pcl_elch
199 %attr(755,root,root) %{_bindir}/pcl_extract_feature
200 %attr(755,root,root) %{_bindir}/pcl_fpfh_estimation
201 %attr(755,root,root) %{_bindir}/pcl_gp3_surface
202 %attr(755,root,root) %{_bindir}/pcl_ground_based_rgbd_people_detector
203 %attr(755,root,root) %{_bindir}/pcl_hdl_viewer_simple
204 %attr(755,root,root) %{_bindir}/pcl_icp
205 %attr(755,root,root) %{_bindir}/pcl_icp2d
206 %attr(755,root,root) %{_bindir}/pcl_image_grabber_saver
207 %attr(755,root,root) %{_bindir}/pcl_image_grabber_viewer
208 %attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction
209 %attr(755,root,root) %{_bindir}/pcl_mesh2pcd
210 %attr(755,root,root) %{_bindir}/pcl_mesh_sampling
211 %attr(755,root,root) %{_bindir}/pcl_mls_smoothing
212 %attr(755,root,root) %{_bindir}/pcl_normal_estimation
213 %attr(755,root,root) %{_bindir}/pcl_obj2vtk
214 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_accepted_hypotheses
215 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_hash_table
216 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_model_opps
217 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree
218 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree_zprojection
219 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_result
220 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_scene_opps
221 %attr(755,root,root) %{_bindir}/pcl_octree_viewer
222 %attr(755,root,root) %{_bindir}/pcl_oni_viewer
223 %attr(755,root,root) %{_bindir}/pcl_openni_image
224 %attr(755,root,root) %{_bindir}/pcl_openni_save_image
225 %attr(755,root,root) %{_bindir}/pcl_openni_viewer
226 %attr(755,root,root) %{_bindir}/pcl_organized_pcd_to_png
227 %attr(755,root,root) %{_bindir}/pcl_outlier_removal
228 %attr(755,root,root) %{_bindir}/pcl_passthrough_filter
229 %attr(755,root,root) %{_bindir}/pcl_pcd2ply
230 %attr(755,root,root) %{_bindir}/pcl_pcd2png
231 %attr(755,root,root) %{_bindir}/pcl_pcd2vtk
232 %attr(755,root,root) %{_bindir}/pcl_pcd_grabber_viewer
233 %attr(755,root,root) %{_bindir}/pcl_pcd_image_viewer
234 %attr(755,root,root) %{_bindir}/pcl_plane_projection
235 %attr(755,root,root) %{_bindir}/pcl_ply2pcd
236 %attr(755,root,root) %{_bindir}/pcl_ply2vtk
237 %attr(755,root,root) %{_bindir}/pcl_png2pcd
238 %attr(755,root,root) %{_bindir}/pcl_poisson_reconstruction
239 %attr(755,root,root) %{_bindir}/pcl_registration_visualizer
240 %attr(755,root,root) %{_bindir}/pcl_spin_estimation
241 %attr(755,root,root) %{_bindir}/pcl_tiff2pcd
242 %attr(755,root,root) %{_bindir}/pcl_timed_trigger_test
243 %attr(755,root,root) %{_bindir}/pcl_transform_from_viewpoint
244 %attr(755,root,root) %{_bindir}/pcl_transform_point_cloud
245 %attr(755,root,root) %{_bindir}/pcl_vfh_estimation
246 %{?with_tawara:%attr(755,root,root) %{_bindir}/pcl_video}
247 %attr(755,root,root) %{_bindir}/pcl_viewer
248 %attr(755,root,root) %{_bindir}/pcl_virtual_scanner
249 %attr(755,root,root) %{_bindir}/pcl_voxel_grid
250 %attr(755,root,root) %{_bindir}/pcl_voxel_grid_occlusion_estimation
251 %attr(755,root,root) %{_bindir}/pcl_vtk2obj
252 %attr(755,root,root) %{_bindir}/pcl_vtk2pcd
253 %attr(755,root,root) %{_bindir}/pcl_vtk2ply
254 %endif
255 %attr(755,root,root) %{_libdir}/libpcl_common.so.*.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.7
257 %attr(755,root,root) %{_libdir}/libpcl_features.so.*.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.7
259 %attr(755,root,root) %{_libdir}/libpcl_filters.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.7
261 %attr(755,root,root) %{_libdir}/libpcl_io.so.*.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.7
263 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libpcl_io_ply.so.1.7
265 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so.*.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.7
267 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so.*.*.*
268 %attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.7
269 %attr(755,root,root) %{_libdir}/libpcl_octree.so.*.*.*
270 %attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.7
271 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so.*.*.*
272 %attr(755,root,root) %ghost %{_libdir}/libpcl_outofcore.so.1.7
273 %attr(755,root,root) %{_libdir}/libpcl_recognition.so.*.*.*
274 %attr(755,root,root) %ghost %{_libdir}/libpcl_recognition.so.1.7
275 %attr(755,root,root) %{_libdir}/libpcl_registration.so.*.*.*
276 %attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.7
277 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so.*.*.*
278 %attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.7
279 %attr(755,root,root) %{_libdir}/libpcl_search.so.*.*.*
280 %attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.7
281 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so.*.*.*
282 %attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.7
283 %attr(755,root,root) %{_libdir}/libpcl_surface.so.*.*.*
284 %attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.7
285 %attr(755,root,root) %{_libdir}/libpcl_tracking.so.*.*.*
286 %attr(755,root,root) %ghost %{_libdir}/libpcl_tracking.so.1.7
287 %if %{with vtk}
288 %attr(755,root,root) %{_libdir}/libpcl_people.so.*.*.*
289 %attr(755,root,root) %ghost %{_libdir}/libpcl_people.so.1.7
290 %attr(755,root,root) %{_libdir}/libpcl_visualization.so.*.*.*
291 %attr(755,root,root) %ghost %{_libdir}/libpcl_visualization.so.1.7
292 %endif
293
294 %files devel
295 %defattr(644,root,root,755)
296 %attr(755,root,root) %{_libdir}/libpcl_common.so
297 %attr(755,root,root) %{_libdir}/libpcl_features.so
298 %attr(755,root,root) %{_libdir}/libpcl_filters.so
299 %attr(755,root,root) %{_libdir}/libpcl_io.so
300 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so
301 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so
302 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so
303 %attr(755,root,root) %{_libdir}/libpcl_octree.so
304 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so
305 %attr(755,root,root) %{_libdir}/libpcl_recognition.so
306 %attr(755,root,root) %{_libdir}/libpcl_registration.so
307 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so
308 %attr(755,root,root) %{_libdir}/libpcl_search.so
309 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so
310 %attr(755,root,root) %{_libdir}/libpcl_surface.so
311 %attr(755,root,root) %{_libdir}/libpcl_tracking.so
312 %if %{with vtk}
313 %attr(755,root,root) %{_libdir}/libpcl_people.so
314 %attr(755,root,root) %{_libdir}/libpcl_visualization.so
315 %endif
316 %{_includedir}/pcl-1.7
317 %{_pkgconfigdir}/pcl_common-1.7.pc
318 %{_pkgconfigdir}/pcl_features-1.7.pc
319 %{_pkgconfigdir}/pcl_filters-1.7.pc
320 %{_pkgconfigdir}/pcl_geometry-1.7.pc
321 %{_pkgconfigdir}/pcl_io-1.7.pc
322 %{_pkgconfigdir}/pcl_kdtree-1.7.pc
323 %{_pkgconfigdir}/pcl_keypoints-1.7.pc
324 %{_pkgconfigdir}/pcl_octree-1.7.pc
325 %{_pkgconfigdir}/pcl_outofcore-1.7.pc
326 %{_pkgconfigdir}/pcl_recognition-1.7.pc
327 %{_pkgconfigdir}/pcl_registration-1.7.pc
328 %{_pkgconfigdir}/pcl_sample_consensus-1.7.pc
329 %{_pkgconfigdir}/pcl_search-1.7.pc
330 %{_pkgconfigdir}/pcl_segmentation-1.7.pc
331 %{_pkgconfigdir}/pcl_surface-1.7.pc
332 %{_pkgconfigdir}/pcl_tracking-1.7.pc
333 %if %{with vtk}
334 %{_pkgconfigdir}/pcl_people-1.7.pc
335 %{_pkgconfigdir}/pcl_visualization-1.7.pc
336 %endif
337 %dir %{_datadir}/pcl-1.7
338 %{_datadir}/pcl-1.7/PCLConfig*.cmake
339
340 %if %{with apidocs}
341 %files apidocs
342 %defattr(644,root,root,755)
343 %dir %{_docdir}/pcl-1.7
344 %{_docdir}/pcl-1.7/advanced
345 %{_docdir}/pcl-1.7/html
346 %{_docdir}/pcl-1.7/tutorials
347 %endif
This page took 0.053433 seconds and 2 git commands to generate.