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