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