]> git.pld-linux.org Git - packages/pcl.git/blob - pcl.spec
boost rebuild
[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.11.0
14 Release:        7
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:  3352d2d78a129c24ec27b863eed8a175
20 Patch0:         oom.patch
21 Patch1:         sphinx.patch
22 URL:            http://pointclouds.org/
23 BuildRequires:  OpenGL-devel
24 BuildRequires:  OpenGL-GLU-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:  rpm-build >= 4.6
44 BuildRequires:  rpmbuild(macros) >= 1.605
45 BuildRequires:  sed >= 4.0
46 %{?with_tawara:BuildRequires:   tawara-devel}
47 # FIXME: only vtk-devel is really required, the rest (java,python runtimes) only because of checks in VTK cmake files
48 %{?with_vtk:BuildRequires:      vtk-devel >= 6}
49 %{?with_vtk:BuildRequires:      vtk-java >= 6}
50 %{?with_vtk:BuildRequires:      vtk-python3 >= 6}
51 %if %{with apidocs}
52 BuildRequires:  doxygen
53 BuildRequires:  python3-sphinxcontrib-doxylink >= 1.3
54 BuildRequires:  sphinx-pdg >= 1.3.3-2
55 BuildRequires:  texlive-latex-ams
56 %endif
57 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59 %define         _enable_debug_packages  0
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 BuildArch:      noarch
102
103 %description apidocs
104 API documentation and tutorials for PCL library.
105
106 %description apidocs -l pl.UTF-8
107 Dokumentacja API oraz wprowadzenie do biblioteki PCL.
108
109 %prep
110 %setup -q -n pcl-pcl-%{version}
111 %patch0 -p1
112 %patch1 -p1
113
114 %build
115 mkdir -p 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         -DWITH_OPENNI:BOOL=OFF \
121 %if %{with fzapi}
122         -DFZAPI_DIR=/usr \
123         -DFZAPI_INCLUDE_DIR=/usr/include \
124         -DFZAPI_LIBS=%{_libdir}/libfz_api.so \
125 %endif
126 %if %{with apidocs}
127         -DWITH_DOCS=ON \
128         -DWITH_TUTORIALS=ON \
129 %endif
130         %{!?with_sse:-DPCL_ENABLE_SSE=OFF}
131
132 # NOTE: -j1 because of OOM on th-x86_64
133 %{__make} -j1
134
135 %install
136 rm -rf $RPM_BUILD_ROOT
137
138 %{__make} -j1 -C build install \
139         DESTDIR=$RPM_BUILD_ROOT
140
141 %clean
142 rm -rf $RPM_BUILD_ROOT
143
144 %post   -p /sbin/ldconfig
145 %postun -p /sbin/ldconfig
146
147 %files
148 %defattr(644,root,root,755)
149 %doc AUTHORS.txt LICENSE.txt
150 %attr(755,root,root) %{_bindir}/pcl_compute_hausdorff
151 %attr(755,root,root) %{_bindir}/pcl_compute_hull
152 %attr(755,root,root) %{_bindir}/pcl_concatenate_points_pcd
153 %attr(755,root,root) %{_bindir}/pcl_converter
154 %attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary
155 %attr(755,root,root) %{_bindir}/pcl_crf_segmentation
156 %attr(755,root,root) %{_bindir}/pcl_demean_cloud
157 %attr(755,root,root) %{_bindir}/pcl_fast_bilateral_filter
158 %attr(755,root,root) %{_bindir}/pcl_generate
159 %attr(755,root,root) %{_bindir}/pcl_grid_min
160 %attr(755,root,root) %{_bindir}/pcl_hdl_grabber
161 %attr(755,root,root) %{_bindir}/pcl_linemod_detection
162 %attr(755,root,root) %{_bindir}/pcl_local_max
163 %attr(755,root,root) %{_bindir}/pcl_lum
164 %attr(755,root,root) %{_bindir}/pcl_match_linemod_template
165 %attr(755,root,root) %{_bindir}/pcl_morph
166 %attr(755,root,root) %{_bindir}/pcl_ndt2d
167 %attr(755,root,root) %{_bindir}/pcl_ndt3d
168 %attr(755,root,root) %{_bindir}/pcl_obj2pcd
169 %attr(755,root,root) %{_bindir}/pcl_obj2ply
170 %attr(755,root,root) %{_bindir}/pcl_openni2_viewer
171 %attr(755,root,root) %{_bindir}/pcl_outofcore_print
172 %attr(755,root,root) %{_bindir}/pcl_outofcore_process
173 %attr(755,root,root) %{_bindir}/pcl_outofcore_viewer
174 %attr(755,root,root) %{_bindir}/pcl_pcd_change_viewpoint
175 %attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan
176 %attr(755,root,root) %{_bindir}/pcl_pcd_introduce_nan
177 %attr(755,root,root) %{_bindir}/pcl_pclzf2pcd
178 %attr(755,root,root) %{_bindir}/pcl_ply2obj
179 %attr(755,root,root) %{_bindir}/pcl_ply2ply
180 %attr(755,root,root) %{_bindir}/pcl_ply2raw
181 %attr(755,root,root) %{_bindir}/pcl_plyheader
182 %attr(755,root,root) %{_bindir}/pcl_progressive_morphological_filter
183 %attr(755,root,root) %{_bindir}/pcl_radius_filter
184 %attr(755,root,root) %{_bindir}/pcl_sac_segmentation_plane
185 %attr(755,root,root) %{_bindir}/pcl_train_linemod_template
186 %attr(755,root,root) %{_bindir}/pcl_train_unary_classifier
187 %attr(755,root,root) %{_bindir}/pcl_unary_classifier_segment
188 %attr(755,root,root) %{_bindir}/pcl_uniform_sampling
189 %attr(755,root,root) %{_bindir}/pcl_vlp_viewer
190 %attr(755,root,root) %{_bindir}/pcl_xyz2pcd
191 %if %{with vtk}
192 %attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise
193 %attr(755,root,root) %{_bindir}/pcl_boundary_estimation
194 %attr(755,root,root) %{_bindir}/pcl_cluster_extraction
195 %attr(755,root,root) %{_bindir}/pcl_compute_cloud_error
196 %attr(755,root,root) %{_bindir}/pcl_crop_to_hull
197 %attr(755,root,root) %{_bindir}/pcl_elch
198 %attr(755,root,root) %{_bindir}/pcl_extract_feature
199 %attr(755,root,root) %{_bindir}/pcl_fpfh_estimation
200 %attr(755,root,root) %{_bindir}/pcl_gp3_surface
201 %attr(755,root,root) %{_bindir}/pcl_hdl_viewer_simple
202 %attr(755,root,root) %{_bindir}/pcl_icp
203 %attr(755,root,root) %{_bindir}/pcl_icp2d
204 %attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction
205 %attr(755,root,root) %{_bindir}/pcl_mesh2pcd
206 %attr(755,root,root) %{_bindir}/pcl_mesh_sampling
207 %attr(755,root,root) %{_bindir}/pcl_mls_smoothing
208 %attr(755,root,root) %{_bindir}/pcl_normal_estimation
209 %attr(755,root,root) %{_bindir}/pcl_obj2vtk
210 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_accepted_hypotheses
211 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_hash_table
212 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_model_opps
213 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree
214 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree_zprojection
215 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_result
216 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_scene_opps
217 %attr(755,root,root) %{_bindir}/pcl_octree_viewer
218 %attr(755,root,root) %{_bindir}/pcl_outlier_removal
219 %attr(755,root,root) %{_bindir}/pcl_passthrough_filter
220 %attr(755,root,root) %{_bindir}/pcl_pcd2ply
221 %attr(755,root,root) %{_bindir}/pcl_pcd2png
222 %attr(755,root,root) %{_bindir}/pcl_pcd2vtk
223 %attr(755,root,root) %{_bindir}/pcl_pcd_image_viewer
224 %attr(755,root,root) %{_bindir}/pcl_plane_projection
225 %attr(755,root,root) %{_bindir}/pcl_ply2pcd
226 %attr(755,root,root) %{_bindir}/pcl_ply2vtk
227 %attr(755,root,root) %{_bindir}/pcl_png2pcd
228 %attr(755,root,root) %{_bindir}/pcl_poisson_reconstruction
229 %attr(755,root,root) %{_bindir}/pcl_registration_visualizer
230 %attr(755,root,root) %{_bindir}/pcl_spin_estimation
231 %attr(755,root,root) %{_bindir}/pcl_tiff2pcd
232 %attr(755,root,root) %{_bindir}/pcl_timed_trigger_test
233 %attr(755,root,root) %{_bindir}/pcl_transform_from_viewpoint
234 %attr(755,root,root) %{_bindir}/pcl_transform_point_cloud
235 %attr(755,root,root) %{_bindir}/pcl_vfh_estimation
236 %if %{with tawara}
237 %attr(755,root,root) %{_bindir}/pcl_video
238 %endif
239 %attr(755,root,root) %{_bindir}/pcl_viewer
240 %attr(755,root,root) %{_bindir}/pcl_virtual_scanner
241 %attr(755,root,root) %{_bindir}/pcl_voxel_grid
242 %attr(755,root,root) %{_bindir}/pcl_voxel_grid_occlusion_estimation
243 %attr(755,root,root) %{_bindir}/pcl_vtk2obj
244 %attr(755,root,root) %{_bindir}/pcl_vtk2pcd
245 %attr(755,root,root) %{_bindir}/pcl_vtk2ply
246 %endif
247 %attr(755,root,root) %{_libdir}/libpcl_common.so.*.*.*
248 %attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.11
249 %attr(755,root,root) %{_libdir}/libpcl_features.so.*.*.*
250 %attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.11
251 %attr(755,root,root) %{_libdir}/libpcl_filters.so.*.*.*
252 %attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.11
253 %attr(755,root,root) %{_libdir}/libpcl_io.so.*.*.*
254 %attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.11
255 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so.*.*.*
256 %attr(755,root,root) %ghost %{_libdir}/libpcl_io_ply.so.1.11
257 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so.*.*.*
258 %attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.11
259 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so.*.*.*
260 %attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.11
261 %attr(755,root,root) %{_libdir}/libpcl_octree.so.*.*.*
262 %attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.11
263 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so.*.*.*
264 %attr(755,root,root) %ghost %{_libdir}/libpcl_outofcore.so.1.11
265 %attr(755,root,root) %{_libdir}/libpcl_recognition.so.*.*.*
266 %attr(755,root,root) %ghost %{_libdir}/libpcl_recognition.so.1.11
267 %attr(755,root,root) %{_libdir}/libpcl_registration.so.*.*.*
268 %attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.11
269 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so.*.*.*
270 %attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.11
271 %attr(755,root,root) %{_libdir}/libpcl_search.so.*.*.*
272 %attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.11
273 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so.*.*.*
274 %attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.11
275 %attr(755,root,root) %{_libdir}/libpcl_surface.so.*.*.*
276 %attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.11
277 %attr(755,root,root) %{_libdir}/libpcl_tracking.so.*.*.*
278 %attr(755,root,root) %ghost %{_libdir}/libpcl_tracking.so.1.11
279 %attr(755,root,root) %{_libdir}/libpcl_ml.so.*.*.*
280 %attr(755,root,root) %ghost %{_libdir}/libpcl_ml.so.1.11
281 %attr(755,root,root) %{_libdir}/libpcl_stereo.so.*.*.*
282 %attr(755,root,root) %ghost %{_libdir}/libpcl_stereo.so.1.11
283 %if %{with vtk}
284 %attr(755,root,root) %{_libdir}/libpcl_people.so.*.*.*
285 %attr(755,root,root) %ghost %{_libdir}/libpcl_people.so.1.11
286 %attr(755,root,root) %{_libdir}/libpcl_visualization.so.*.*.*
287 %attr(755,root,root) %ghost %{_libdir}/libpcl_visualization.so.1.11
288 %endif
289
290 %files devel
291 %defattr(644,root,root,755)
292 %attr(755,root,root) %{_libdir}/libpcl_common.so
293 %attr(755,root,root) %{_libdir}/libpcl_features.so
294 %attr(755,root,root) %{_libdir}/libpcl_filters.so
295 %attr(755,root,root) %{_libdir}/libpcl_io_ply.so
296 %attr(755,root,root) %{_libdir}/libpcl_io.so
297 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so
298 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so
299 %attr(755,root,root) %{_libdir}/libpcl_ml.so
300 %attr(755,root,root) %{_libdir}/libpcl_octree.so
301 %attr(755,root,root) %{_libdir}/libpcl_outofcore.so
302 %attr(755,root,root) %{_libdir}/libpcl_recognition.so
303 %attr(755,root,root) %{_libdir}/libpcl_registration.so
304 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so
305 %attr(755,root,root) %{_libdir}/libpcl_search.so
306 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so
307 %attr(755,root,root) %{_libdir}/libpcl_stereo.so
308 %attr(755,root,root) %{_libdir}/libpcl_surface.so
309 %attr(755,root,root) %{_libdir}/libpcl_tracking.so
310 %if %{with vtk}
311 %attr(755,root,root) %{_libdir}/libpcl_people.so
312 %attr(755,root,root) %{_libdir}/libpcl_visualization.so
313 %endif
314 %{_includedir}/pcl-1.11
315 %{_pkgconfigdir}/pcl_common-1.11.pc
316 %{_pkgconfigdir}/pcl_features-1.11.pc
317 %{_pkgconfigdir}/pcl_filters-1.11.pc
318 %{_pkgconfigdir}/pcl_geometry-1.11.pc
319 %{_pkgconfigdir}/pcl_io-1.11.pc
320 %{_pkgconfigdir}/pcl_kdtree-1.11.pc
321 %{_pkgconfigdir}/pcl_keypoints-1.11.pc
322 %{_pkgconfigdir}/pcl_octree-1.11.pc
323 %{_pkgconfigdir}/pcl_outofcore-1.11.pc
324 %{_pkgconfigdir}/pcl_recognition-1.11.pc
325 %{_pkgconfigdir}/pcl_registration-1.11.pc
326 %{_pkgconfigdir}/pcl_sample_consensus-1.11.pc
327 %{_pkgconfigdir}/pcl_search-1.11.pc
328 %{_pkgconfigdir}/pcl_segmentation-1.11.pc
329 %{_pkgconfigdir}/pcl_surface-1.11.pc
330 %{_pkgconfigdir}/pcl_tracking-1.11.pc
331 %{_pkgconfigdir}/pcl_2d-1.11.pc
332 %{_pkgconfigdir}/pcl_ml-1.11.pc
333 %{_pkgconfigdir}/pcl_stereo-1.11.pc
334 %if %{with vtk}
335 %{_pkgconfigdir}/pcl_people-1.11.pc
336 %{_pkgconfigdir}/pcl_visualization-1.11.pc
337 %endif
338 %dir %{_datadir}/pcl-1.11
339 %{_datadir}/pcl-1.11/PCLConfig*.cmake
340
341 %if %{with apidocs}
342 %files apidocs
343 %defattr(644,root,root,755)
344 %dir %{_docdir}/pcl-1.11
345 %{_docdir}/pcl-1.11/advanced
346 %{_docdir}/pcl-1.11/html
347 %{_docdir}/pcl-1.11/tutorials
348 %endif
This page took 0.095041 seconds and 4 git commands to generate.