X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=pcl.spec;h=e381dcc456b8ea56372025139c102c03d0dacec2;hb=b58bf1434bd25a34886eb08b7b296f98368ee35c;hp=09a468892879070722f2966fce0703683c320bd2;hpb=ca4db9a4f7feb1f41eea6a9c780b09c884dc27e6;p=packages%2Fpcl.git diff --git a/pcl.spec b/pcl.spec index 09a4688..e381dcc 100644 --- a/pcl.spec +++ b/pcl.spec @@ -1,36 +1,62 @@ -# TODO: VTK, MPI, ROS? +# TODO: MPI, ROS? # # Conditional build: -%bcond_without apidocs # do not build and package API docs -# +%bcond_without apidocs # do not build and package API docs +%bcond_without fzapi # Fotonic FZ API support +%bcond_with sse # SSE/SSE2/SSE3 support +%bcond_with tawara # Tawara video output (pcl_video) +%bcond_without vtk # VTK support in libpcl_{io,surface} + libpcl_{apps,visualization} libs + Summary: Point Cloud Library - library for point cloud processing Summary(pl.UTF-8): Point Cloud Library - biblioteka do operacji na chmurze punktów Name: pcl -Version: 1.4.0 -Release: 0.1 +Version: 1.7.2 +Release: 12 License: BSD Group: Libraries -#Source0Download: http://pointclouds.org/downloads/source.html -Source0: http://dev.pointclouds.org/attachments/download/610/PCL-%{version}-Source.tar.bz2 -# Source0-md5: 63fd633a6306ae9b334131b250a2f893 -Patch0: %{name}-link.patch +#Source0Download: http://pointclouds.org/downloads/ +Source0: https://github.com/PointCloudLibrary/pcl/archive/%{name}-%{version}.tar.gz +# Source0-md5: 02c72eb6760fcb1f2e359ad8871b9968 +Patch0: %{name}-fz_api.patch +Patch1: %{name}-tawara.patch +Patch2: %{name}-openni.patch +Patch3: eigen-dependency.patch +Patch4: vtk7.patch +Patch5: vtk71.patch +Patch6: vtkOpenGL2.patch +Patch7: fix-return-type.patch URL: http://pointclouds.org/ +BuildRequires: OpenGL-devel +BuildRequires: OpenGL-GLU-devel BuildRequires: OpenNI-devel -BuildRequires: boost-devel -BuildRequires: cmake +BuildRequires: OpenNI2-devel +BuildRequires: QtCore-devel >= 4 +BuildRequires: QtOpenGL-devel >= 4 +BuildRequires: boost-devel >= 1.43 +BuildRequires: cmake >= 2.8 BuildRequires: eigen3 >= 3 -BuildRequires: flann-devel +BuildRequires: flann-devel >= 1.7.0 +%{?with_fzapi:BuildRequires: fz-api-devel} BuildRequires: gcc-c++ >= 6:4.2 BuildRequires: libgomp-devel +BuildRequires: libpcap-devel +BuildRequires: libpng-devel BuildRequires: libstdc++-devel BuildRequires: libusb-devel >= 1.0 BuildRequires: qhull-devel +BuildRequires: qt4-build >= 4 BuildRequires: python BuildRequires: sed >= 4.0 +%{?with_tawara:BuildRequires: tawara-devel} +# FIXME: only vtk-devel is really required, the rest (java,python,tcl runtimes) only because of checks in VTK cmake files +%{?with_vtk:BuildRequires: vtk-devel >= 6} +%{?with_vtk:BuildRequires: vtk-java >= 6} +%{?with_vtk:BuildRequires: vtk-python >= 6} +%{?with_vtk:BuildRequires: vtk-tcl >= 6} %if %{with apidocs} BuildRequires: doxygen -BuildRequires: python-sphinxcontrib-doxylink -BuildRequires: sphinx-pdg +BuildRequires: python3-sphinxcontrib-doxylink >= 1.3 +BuildRequires: sphinx-pdg >= 1.3.3-2 %endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -60,6 +86,9 @@ Summary: Header files for PCL library Summary(pl.UTF-8): Pliki nagłówkowe biblioteki PCL Group: Development/Libraries Requires: %{name} = %{version}-%{release} +Requires: boost-devel >= 1.44 +Requires: eigen3 >= 3 +%{?with_vtk:Requires: vtk-devel >= 6} %description devel Header files for PCL library. @@ -71,6 +100,9 @@ Pliki nagłówkowe biblioteki PCL. Summary: PCL API documentation and tutorials Summary(pl.UTF-8): Dokumentacja API oraz wprowadzenie do biblioteki PCL Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description apidocs API documentation and tutorials for PCL library. @@ -79,25 +111,35 @@ API documentation and tutorials for PCL library. Dokumentacja API oraz wprowadzenie do biblioteki PCL. %prep -%setup -q -n PCL-%{version}-Source +%setup -q -n pcl-pcl-%{version} %patch0 -p1 - -# don't use SSE/SSE2/SSE3 just because compiler supports it -%{__sed} -i -e '/^PCL_CHECK_FOR_SSE/d' CMakeLists.txt +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 %build mkdir build cd build -%cmake .. -%{__make} - -# why it's not called on build??? +# LIB_INSTALL_DIR specified by PLD cmake macro is incompatible with what PCL expects +%cmake .. \ + -DLIB_INSTALL_DIR=%{_lib} \ +%if %{with fzapi} + -DFZAPI_DIR=/usr \ + -DFZAPI_INCLUDE_DIR=/usr/include \ + -DFZAPI_LIBS=%{_libdir}/libfz_api.so \ +%endif %if %{with apidocs} -cd doc/doxygen -doxygen doxyfile -cd ../tutorials -sphinx-build -b html -a -d doctrees ../../../doc/tutorials/content html + -DWITH_DOCS=ON \ + -DWITH_TUTORIALS=ON \ %endif + %{!?with_sse:-DPCL_ENABLE_SSE=OFF} + +# NOTE: -j1 because of OOM on th-x86_64 +%{__make} -j1 %install rm -rf $RPM_BUILD_ROOT @@ -114,39 +156,146 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc AUTHORS.txt LICENSE.txt -%attr(755,root,root) %{_bindir}/convert_pcd_ascii_binary -%attr(755,root,root) %{_bindir}/openni_grab_frame -%attr(755,root,root) %{_bindir}/openni_grabber_example -%attr(755,root,root) %{_bindir}/openni_io -%attr(755,root,root) %{_bindir}/pcd_convert_NaN_nan +%attr(755,root,root) %{_bindir}/pcl_compute_hausdorff +%attr(755,root,root) %{_bindir}/pcl_compute_hull +%attr(755,root,root) %{_bindir}/pcl_concatenate_points_pcd +%attr(755,root,root) %{_bindir}/pcl_convert_pcd_ascii_binary +%attr(755,root,root) %{_bindir}/pcl_demean_cloud +%attr(755,root,root) %{_bindir}/pcl_fast_bilateral_filter +%attr(755,root,root) %{_bindir}/pcl_generate +%attr(755,root,root) %{_bindir}/pcl_grid_min +%attr(755,root,root) %{_bindir}/pcl_hdl_grabber +%attr(755,root,root) %{_bindir}/pcl_linemod_detection +%attr(755,root,root) %{_bindir}/pcl_local_max +%attr(755,root,root) %{_bindir}/pcl_lum +%attr(755,root,root) %{_bindir}/pcl_match_linemod_template +%attr(755,root,root) %{_bindir}/pcl_morph +%attr(755,root,root) %{_bindir}/pcl_ndt2d +%attr(755,root,root) %{_bindir}/pcl_ndt3d +%attr(755,root,root) %{_bindir}/pcl_obj2pcd +%attr(755,root,root) %{_bindir}/pcl_oni2pcd +%attr(755,root,root) %{_bindir}/pcl_openni_grabber_depth_example +%attr(755,root,root) %{_bindir}/pcl_openni_grabber_example +%attr(755,root,root) %{_bindir}/pcl_openni_pcd_recorder +%attr(755,root,root) %{_bindir}/pcl_outofcore_print +%attr(755,root,root) %{_bindir}/pcl_outofcore_process +%attr(755,root,root) %{_bindir}/pcl_outofcore_viewer +%attr(755,root,root) %{_bindir}/pcl_pcd_change_viewpoint +%attr(755,root,root) %{_bindir}/pcl_pcd_convert_NaN_nan +%attr(755,root,root) %{_bindir}/pcl_pclzf2pcd +%attr(755,root,root) %{_bindir}/pcl_ply2obj +%attr(755,root,root) %{_bindir}/pcl_ply2ply +%attr(755,root,root) %{_bindir}/pcl_ply2raw +%attr(755,root,root) %{_bindir}/pcl_plyheader +%attr(755,root,root) %{_bindir}/pcl_progressive_morphological_filter +%attr(755,root,root) %{_bindir}/pcl_radius_filter +%attr(755,root,root) %{_bindir}/pcl_sac_segmentation_plane +%attr(755,root,root) %{_bindir}/pcl_train_linemod_template +%attr(755,root,root) %{_bindir}/pcl_uniform_sampling +%attr(755,root,root) %{_bindir}/pcl_xyz2pcd +%if %{with vtk} +%attr(755,root,root) %{_bindir}/pcl_add_gaussian_noise +%attr(755,root,root) %{_bindir}/pcl_boundary_estimation +%attr(755,root,root) %{_bindir}/pcl_cluster_extraction +%attr(755,root,root) %{_bindir}/pcl_compute_cloud_error +%attr(755,root,root) %{_bindir}/pcl_crop_to_hull +%attr(755,root,root) %{_bindir}/pcl_elch +%attr(755,root,root) %{_bindir}/pcl_extract_feature +%attr(755,root,root) %{_bindir}/pcl_fpfh_estimation +%attr(755,root,root) %{_bindir}/pcl_gp3_surface +%attr(755,root,root) %{_bindir}/pcl_ground_based_rgbd_people_detector +%attr(755,root,root) %{_bindir}/pcl_hdl_viewer_simple +%attr(755,root,root) %{_bindir}/pcl_icp +%attr(755,root,root) %{_bindir}/pcl_icp2d +%attr(755,root,root) %{_bindir}/pcl_image_grabber_saver +%attr(755,root,root) %{_bindir}/pcl_image_grabber_viewer +%attr(755,root,root) %{_bindir}/pcl_marching_cubes_reconstruction +%attr(755,root,root) %{_bindir}/pcl_mesh2pcd +%attr(755,root,root) %{_bindir}/pcl_mesh_sampling +%attr(755,root,root) %{_bindir}/pcl_mls_smoothing +%attr(755,root,root) %{_bindir}/pcl_normal_estimation +%attr(755,root,root) %{_bindir}/pcl_obj2vtk +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_accepted_hypotheses +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_hash_table +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_model_opps +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_orr_octree_zprojection +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_result +%attr(755,root,root) %{_bindir}/pcl_obj_rec_ransac_scene_opps +%attr(755,root,root) %{_bindir}/pcl_octree_viewer +%attr(755,root,root) %{_bindir}/pcl_oni_viewer +%attr(755,root,root) %{_bindir}/pcl_openni_image +%attr(755,root,root) %{_bindir}/pcl_openni_save_image +%attr(755,root,root) %{_bindir}/pcl_openni_viewer +%attr(755,root,root) %{_bindir}/pcl_organized_pcd_to_png +%attr(755,root,root) %{_bindir}/pcl_outlier_removal +%attr(755,root,root) %{_bindir}/pcl_passthrough_filter +%attr(755,root,root) %{_bindir}/pcl_pcd2ply +%attr(755,root,root) %{_bindir}/pcl_pcd2png +%attr(755,root,root) %{_bindir}/pcl_pcd2vtk +%attr(755,root,root) %{_bindir}/pcl_pcd_grabber_viewer +%attr(755,root,root) %{_bindir}/pcl_pcd_image_viewer +%attr(755,root,root) %{_bindir}/pcl_plane_projection +%attr(755,root,root) %{_bindir}/pcl_ply2pcd +%attr(755,root,root) %{_bindir}/pcl_ply2vtk +%attr(755,root,root) %{_bindir}/pcl_png2pcd +%attr(755,root,root) %{_bindir}/pcl_poisson_reconstruction +%attr(755,root,root) %{_bindir}/pcl_registration_visualizer +%attr(755,root,root) %{_bindir}/pcl_spin_estimation +%attr(755,root,root) %{_bindir}/pcl_tiff2pcd +%attr(755,root,root) %{_bindir}/pcl_timed_trigger_test +%attr(755,root,root) %{_bindir}/pcl_transform_from_viewpoint +%attr(755,root,root) %{_bindir}/pcl_transform_point_cloud +%attr(755,root,root) %{_bindir}/pcl_vfh_estimation +%if %{with vtk} +%attr(755,root,root) %{_bindir}/pcl_video +%endif +%attr(755,root,root) %{_bindir}/pcl_viewer +%attr(755,root,root) %{_bindir}/pcl_virtual_scanner +%attr(755,root,root) %{_bindir}/pcl_voxel_grid +%attr(755,root,root) %{_bindir}/pcl_voxel_grid_occlusion_estimation +%attr(755,root,root) %{_bindir}/pcl_vtk2obj +%attr(755,root,root) %{_bindir}/pcl_vtk2pcd +%attr(755,root,root) %{_bindir}/pcl_vtk2ply +%endif %attr(755,root,root) %{_libdir}/libpcl_common.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_common.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_features.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_features.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_filters.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_filters.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_io.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_io.so.1.7 +%attr(755,root,root) %{_libdir}/libpcl_io_ply.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpcl_io_ply.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_kdtree.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_kdtree.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_keypoints.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_keypoints.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_octree.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.4 -%attr(755,root,root) %{_libdir}/libpcl_range_image.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_range_image.so.1.4 -%attr(755,root,root) %{_libdir}/libpcl_range_image_border_extractor.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_range_image_border_extractor.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_octree.so.1.7 +%attr(755,root,root) %{_libdir}/libpcl_outofcore.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpcl_outofcore.so.1.7 +%attr(755,root,root) %{_libdir}/libpcl_recognition.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpcl_recognition.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_registration.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_registration.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_sample_consensus.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_search.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_search.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_segmentation.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_segmentation.so.1.7 %attr(755,root,root) %{_libdir}/libpcl_surface.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.4 +%attr(755,root,root) %ghost %{_libdir}/libpcl_surface.so.1.7 +%attr(755,root,root) %{_libdir}/libpcl_tracking.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpcl_tracking.so.1.7 +%if %{with vtk} +%attr(755,root,root) %{_libdir}/libpcl_people.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpcl_people.so.1.7 +%attr(755,root,root) %{_libdir}/libpcl_visualization.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpcl_visualization.so.1.7 +%endif %files devel %defattr(644,root,root,755) @@ -154,38 +303,51 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libpcl_features.so %attr(755,root,root) %{_libdir}/libpcl_filters.so %attr(755,root,root) %{_libdir}/libpcl_io.so +%attr(755,root,root) %{_libdir}/libpcl_io_ply.so %attr(755,root,root) %{_libdir}/libpcl_kdtree.so %attr(755,root,root) %{_libdir}/libpcl_keypoints.so %attr(755,root,root) %{_libdir}/libpcl_octree.so -%attr(755,root,root) %{_libdir}/libpcl_range_image.so -%attr(755,root,root) %{_libdir}/libpcl_range_image_border_extractor.so +%attr(755,root,root) %{_libdir}/libpcl_outofcore.so +%attr(755,root,root) %{_libdir}/libpcl_recognition.so %attr(755,root,root) %{_libdir}/libpcl_registration.so %attr(755,root,root) %{_libdir}/libpcl_sample_consensus.so %attr(755,root,root) %{_libdir}/libpcl_search.so %attr(755,root,root) %{_libdir}/libpcl_segmentation.so %attr(755,root,root) %{_libdir}/libpcl_surface.so -%{_includedir}/pcl-1.4 -%{_pkgconfigdir}/pcl_common-1.4.pc -%{_pkgconfigdir}/pcl_features-1.4.pc -%{_pkgconfigdir}/pcl_filters-1.4.pc -%{_pkgconfigdir}/pcl_io-1.4.pc -%{_pkgconfigdir}/pcl_kdtree-1.4.pc -%{_pkgconfigdir}/pcl_keypoints-1.4.pc -%{_pkgconfigdir}/pcl_octree-1.4.pc -%{_pkgconfigdir}/pcl_range_image-1.4.pc -%{_pkgconfigdir}/pcl_range_image_border_extractor-1.4.pc -%{_pkgconfigdir}/pcl_registration-1.4.pc -%{_pkgconfigdir}/pcl_sample_consensus-1.4.pc -%{_pkgconfigdir}/pcl_search-1.4.pc -%{_pkgconfigdir}/pcl_segmentation-1.4.pc -%{_pkgconfigdir}/pcl_surface-1.4.pc -%dir %{_datadir}/pcl-1.4 -%{_datadir}/pcl-1.4/PCLConfig*.cmake +%attr(755,root,root) %{_libdir}/libpcl_tracking.so +%if %{with vtk} +%attr(755,root,root) %{_libdir}/libpcl_people.so +%attr(755,root,root) %{_libdir}/libpcl_visualization.so +%endif +%{_includedir}/pcl-1.7 +%{_pkgconfigdir}/pcl_common-1.7.pc +%{_pkgconfigdir}/pcl_features-1.7.pc +%{_pkgconfigdir}/pcl_filters-1.7.pc +%{_pkgconfigdir}/pcl_geometry-1.7.pc +%{_pkgconfigdir}/pcl_io-1.7.pc +%{_pkgconfigdir}/pcl_kdtree-1.7.pc +%{_pkgconfigdir}/pcl_keypoints-1.7.pc +%{_pkgconfigdir}/pcl_octree-1.7.pc +%{_pkgconfigdir}/pcl_outofcore-1.7.pc +%{_pkgconfigdir}/pcl_recognition-1.7.pc +%{_pkgconfigdir}/pcl_registration-1.7.pc +%{_pkgconfigdir}/pcl_sample_consensus-1.7.pc +%{_pkgconfigdir}/pcl_search-1.7.pc +%{_pkgconfigdir}/pcl_segmentation-1.7.pc +%{_pkgconfigdir}/pcl_surface-1.7.pc +%{_pkgconfigdir}/pcl_tracking-1.7.pc +%if %{with vtk} +%{_pkgconfigdir}/pcl_people-1.7.pc +%{_pkgconfigdir}/pcl_visualization-1.7.pc +%endif +%dir %{_datadir}/pcl-1.7 +%{_datadir}/pcl-1.7/PCLConfig*.cmake %if %{with apidocs} %files apidocs %defattr(644,root,root,755) -%dir %{_docdir}/pcl -%{_docdir}/pcl/html -%{_docdir}/pcl/tutorials +%dir %{_docdir}/pcl-1.7 +%{_docdir}/pcl-1.7/advanced +%{_docdir}/pcl-1.7/html +%{_docdir}/pcl-1.7/tutorials %endif