]> git.pld-linux.org Git - packages/pcl.git/blob - pcl.spec
Merge branch 'master' of git://git.pld-linux.org/packages/pcl
[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:        1
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 URL:            http://pointclouds.org/
23 BuildRequires:  OpenGL-devel
24 BuildRequires:  OpenGL-GLU-devel
25 BuildRequires:  OpenNI-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:  qhull-devel
40 BuildRequires:  qt4-build >= 4
41 BuildRequires:  python
42 BuildRequires:  sed >= 4.0
43 %{?with_tawara:BuildRequires:   tawara-devel}
44 # FIXME: only vtk-devel is really required, the rest (java,python,tcl runtimes) only because of checks in VTK cmake files
45 %{?with_vtk:BuildRequires:      vtk-devel >= 6}
46 %{?with_vtk:BuildRequires:      vtk-java >= 6}
47 %{?with_vtk:BuildRequires:      vtk-python >= 6}
48 %{?with_vtk:BuildRequires:      vtk-tcl >= 6}
49 %if %{with apidocs}
50 BuildRequires:  doxygen
51 BuildRequires:  python-sphinxcontrib-doxylink >= 1.3
52 BuildRequires:  sphinx-pdg
53 %endif
54 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56 %description
57 The Point Cloud Library (PCL) is a standalone, large scale, open
58 project for 3D point cloud processing.
59
60 The PCL framework contains numerous state-of-the art algorithms
61 including filtering, feature estimation, surface reconstruction,
62 registration, model fitting and segmentation, as well as higher level
63 tools for performing mapping and object recognition. Think of it as
64 the Boost of 3D point cloud processing.
65
66 %description -l pl.UTF-8
67 Biblioteka PCL (Point Cloud Processing) to samodzielna, wielkoskalowa,
68 mająca otwarte źródła biblioteka do przetwarzania chmury punktów 3D.
69
70 Szkielet PCL zawiera wiele współczesnych algorytmów, obejmujących
71 filtrowanie, przybliżanie cech, rekonstrukcję powierzchni,
72 rejestrację, dopasowywanie modeli oraz segmentację, a także narzędzia
73 wyższego poziomu do wykonywania odwzorowań oraz rozpoznawania
74 obiektów. O bibliotece można myśleć jako odpowiedniku Boosta do
75 przetwarzania chmury punktów 3D.
76
77 %package devel
78 Summary:        Header files for PCL library
79 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki PCL
80 Group:          Development/Libraries
81 Requires:       %{name} = %{version}-%{release}
82 Requires:       boost-devel >= 1.44
83 %{?with_vtk:Requires:   vtk-devel >= 6}
84
85 %description devel
86 Header files for PCL library.
87
88 %description devel -l pl.UTF-8
89 Pliki nagłówkowe biblioteki PCL.
90
91 %package apidocs
92 Summary:        PCL API documentation and tutorials
93 Summary(pl.UTF-8):      Dokumentacja API oraz wprowadzenie do biblioteki PCL
94 Group:          Documentation
95 %if "%{_rpmversion}" >= "5"
96 BuildArch:      noarch
97 %endif
98
99 %description apidocs
100 API documentation and tutorials for PCL library.
101
102 %description apidocs -l pl.UTF-8
103 Dokumentacja API oraz wprowadzenie do biblioteki PCL.
104
105 %prep
106 %setup -q -n pcl-pcl-%{version}
107 %patch0 -p1
108 %patch1 -p1
109
110 %build
111 mkdir build
112 cd build
113 # LIB_INSTALL_DIR specified by PLD cmake macro is incompatible with what PCL expects
114 %cmake .. \
115         -DLIB_INSTALL_DIR=%{_lib} \
116 %if %{with fzapi}
117         -DFZAPI_DIR=/usr \
118         -DFZAPI_INCLUDE_DIR=/usr/include \
119         -DFZAPI_LIBS=%{_libdir}/libfz_api.so \
120 %endif
121         %{!?with_sse:-DPCL_ENABLE_SSE=OFF}
122
123 # NOTE: -j1 because of OOM on th-x86_64
124 %{__make} -j1
125
126 # why it's not called on build?
127 %if %{with apidocs}
128 cd doc/doxygen
129 doxygen doxyfile
130 cd ../tutorials
131 sphinx-build -b html -a -d doctrees ../../../doc/tutorials/content html
132 %endif
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_hull
150 %attr(755,root,root) %{_bindir}/pcl_concatenate_points_pcd
151 %attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary
152 %attr(755,root,root) %{_bindir}/pcl_demean_cloud
153 %attr(755,root,root) %{_bindir}/pcl_fast_bilateral_filter
154 %attr(755,root,root) %{_bindir}/pcl_hdl_grabber
155 %attr(755,root,root) %{_bindir}/pcl_linemod_detection
156 %attr(755,root,root) %{_bindir}/pcl_lum
157 %attr(755,root,root) %{_bindir}/pcl_match_linemod_template
158 %attr(755,root,root) %{_bindir}/pcl_ndt2d
159 %attr(755,root,root) %{_bindir}/pcl_ndt3d
160 %attr(755,root,root) %{_bindir}/pcl_oni2pcd
161 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_depth_example
162 %attr(755,root,root) %{_bindir}/pcl_openni_grabber_example
163 %attr(755,root,root) %{_bindir}/pcl_openni_pcd_recorder
164 %attr(755,root,root) %{_bindir}/pcl_outofcore_print
165 %attr(755,root,root) %{_bindir}/pcl_outofcore_process
166 %attr(755,root,root) %{_bindir}/pcl_outofcore_viewer
167 %attr(755,root,root) %{_bindir}/pcl_pcd_change_viewpoint
168 %attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan
169 %attr(755,root,root) %{_bindir}/pcl_pclzf2pcd
170 %attr(755,root,root) %{_bindir}/pcl_ply2obj
171 %attr(755,root,root) %{_bindir}/pcl_ply2ply
172 %attr(755,root,root) %{_bindir}/pcl_ply2raw
173 %attr(755,root,root) %{_bindir}/pcl_plyheader
174 %attr(755,root,root) %{_bindir}/pcl_radius_filter
175 %attr(755,root,root) %{_bindir}/pcl_sac_segmentation_plane
176 %attr(755,root,root) %{_bindir}/pcl_train_linemod_template
177 %attr(755,root,root) %{_bindir}/pcl_uniform_sampling
178 %attr(755,root,root) %{_bindir}/pcl_xyz2pcd
179 %if %{with vtk}
180 %attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise
181 %attr(755,root,root) %{_bindir}/pcl_boundary_estimation
182 %attr(755,root,root) %{_bindir}/pcl_cluster_extraction
183 %attr(755,root,root) %{_bindir}/pcl_compute_cloud_error
184 %attr(755,root,root) %{_bindir}/pcl_crop_to_hull
185 %attr(755,root,root) %{_bindir}/pcl_elch
186 %attr(755,root,root) %{_bindir}/pcl_extract_feature
187 %attr(755,root,root) %{_bindir}/pcl_fpfh_estimation
188 %attr(755,root,root) %{_bindir}/pcl_gp3_surface
189 %attr(755,root,root) %{_bindir}/pcl_ground_based_rgbd_people_detector
190 %attr(755,root,root) %{_bindir}/pcl_hdl_viewer_simple
191 %attr(755,root,root) %{_bindir}/pcl_icp
192 %attr(755,root,root) %{_bindir}/pcl_icp2d
193 %attr(755,root,root) %{_bindir}/pcl_image_grabber_saver
194 %attr(755,root,root) %{_bindir}/pcl_image_grabber_viewer
195 %attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction
196 %attr(755,root,root) %{_bindir}/pcl_mesh2pcd
197 %attr(755,root,root) %{_bindir}/pcl_mesh_sampling
198 %attr(755,root,root) %{_bindir}/pcl_mls_smoothing
199 %attr(755,root,root) %{_bindir}/pcl_normal_estimation
200 %attr(755,root,root) %{_bindir}/pcl_obj2vtk
201 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_accepted_hypotheses
202 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_hash_table
203 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_model_opps
204 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree
205 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree_zprojection
206 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_result
207 %attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_scene_opps
208 %attr(755,root,root) %{_bindir}/pcl_octree_viewer
209 %attr(755,root,root) %{_bindir}/pcl_oni_viewer
210 %attr(755,root,root) %{_bindir}/pcl_openni_image
211 %attr(755,root,root) %{_bindir}/pcl_openni_save_image
212 %attr(755,root,root) %{_bindir}/pcl_openni_viewer
213 %attr(755,root,root) %{_bindir}/pcl_organized_pcd_to_png
214 %attr(755,root,root) %{_bindir}/pcl_outlier_removal
215 %attr(755,root,root) %{_bindir}/pcl_passthrough_filter
216 %attr(755,root,root) %{_bindir}/pcl_pcd2ply
217 %attr(755,root,root) %{_bindir}/pcl_pcd2png
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
241 %endif
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
274 %if %{with vtk}
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
279 %endif
280
281 %files devel
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
299 %if %{with vtk}
300 %attr(755,root,root) %{_libdir}/libpcl_people.so
301 %attr(755,root,root) %{_libdir}/libpcl_visualization.so
302 %endif
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_geometry-1.7.pc
308 %{_pkgconfigdir}/pcl_io-1.7.pc
309 %{_pkgconfigdir}/pcl_kdtree-1.7.pc
310 %{_pkgconfigdir}/pcl_keypoints-1.7.pc
311 %{_pkgconfigdir}/pcl_octree-1.7.pc
312 %{_pkgconfigdir}/pcl_outofcore-1.7.pc
313 %{_pkgconfigdir}/pcl_recognition-1.7.pc
314 %{_pkgconfigdir}/pcl_registration-1.7.pc
315 %{_pkgconfigdir}/pcl_sample_consensus-1.7.pc
316 %{_pkgconfigdir}/pcl_search-1.7.pc
317 %{_pkgconfigdir}/pcl_segmentation-1.7.pc
318 %{_pkgconfigdir}/pcl_surface-1.7.pc
319 %{_pkgconfigdir}/pcl_tracking-1.7.pc
320 %if %{with vtk}
321 %{_pkgconfigdir}/pcl_people-1.7.pc
322 %{_pkgconfigdir}/pcl_visualization-1.7.pc
323 %endif
324 %dir %{_datadir}/pcl-1.7
325 %{_datadir}/pcl-1.7/PCLConfig*.cmake
326
327 %if %{with apidocs}
328 %files apidocs
329 %defattr(644,root,root,755)
330 %dir %{_docdir}/pcl-1.7
331 %{_docdir}/pcl-1.7/html
332 %{_docdir}/pcl-1.7/tutorials
333 %endif
This page took 0.056473 seconds and 4 git commands to generate.