Name: pcl Version: 1.3.1 Release: 2%{?dist} Summary: Library for point cloud processing Group: System Environment/Libraries License: BSD URL: http://pointclouds.org/ Source0: http://dev.pointclouds.org/attachments/download/572/PCL-1.3.1-Source.tar.bz2 # only required due to old OpenNI version, will be removed later Patch0: PCL-1.3.1-Source-fedora.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # For plain building BuildRequires: cmake, gcc-c++, boost-devel # Documentation BuildRequires: doxygen, graphviz, python-sphinx %if ! 0%{?rhel} || 0%{?rhel} >= 6 BuildRequires: texlive-latex %else BuildRequires: tetex-latex %endif # mandatory BuildRequires: eigen3-devel, flann-devel, cminpack-devel, vtk-devel, gl2ps-devel # optional BuildRequires: qhull-devel, openni-devel, libusb1-devel, gtest-devel %description The Point Cloud Library (or PCL) is a large scale, open project for point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig Requires: eigen3-devel, qhull-devel, openni-devel, cminpack-devel, flann-devel, vtk-devel %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package tools Summary: Point cloud tools and viewers Group: Development/Tools Requires: %{name} = %{version}-%{release} %description tools This package contains tools for point cloud file processing and viewers for point cloud files and live Kinect data. %package doc Summary: PCL API documentation Group: Documentation %if ! 0%{?rhel} || 0%{?rhel} >= 6 BuildArch: noarch %endif %description doc The %{name}-doc package contains API documentation for the Point Cloud Library. %prep %setup -q -n PCL-%{version}-Source %patch0 -p1 # Just to make it obvious we're not using any of these rm -rf 3rdparty %build echo SMP FLAGS: %{?_smp_mflags} mkdir build pushd build %cmake \ -DCMAKE_BUILD_TYPE=Release \ -DOPENNI_INCLUDE_DIR:PATH=/usr/include/ni \ -DPCL_PKGCONFIG_SUFFIX:STRING="" \ -DBUILD_documentation=ON \ -DCMAKE_SKIP_RPATH=ON \ .. make %{?_smp_mflags} make doc popd pushd doc/overview make popd pushd doc/tutorials sed -i "s/, 'sphinxcontrib.doxylink.doxylink'//" content/conf.py make popd pushd doc/advanced make popd %install rm -rf $RPM_BUILD_ROOT pushd build make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' # Just a dummy test rm $RPM_BUILD_ROOT%{_bindir}/timed_trigger_test #mv $RPM_BUILD_ROOT%{_datadir}/doc/%{name} $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version} rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/%{name} mv doc/doxygen/html doc/doxygen/api popd mv doc/tutorials/html doc/tutorials/tutorials for f in $RPM_BUILD_ROOT%{_bindir}/*; do mv $f $RPM_BUILD_ROOT%{_bindir}/pcl_$(basename $f) done mkdir -p $RPM_BUILD_ROOT%{_libdir}/cmake/pcl mv $RPM_BUILD_ROOT%{_datadir}/%{name}-*/*.cmake $RPM_BUILD_ROOT%{_libdir}/cmake/pcl #mv $RPM_BUILD_ROOT%{_libdir}/pcl/*.cmake $RPM_BUILD_ROOT%{_libdir}/cmake/pcl #rmdir $RPM_BUILD_ROOT%{_libdir}/pcl # This is required to fix crashes in programs linked against pcl_visualization lib #sed -i -e 's/vtkWidgets/vtkRendering/' $RPM_BUILD_ROOT%{_libdir}/cmake/pcl/PCLDepends-release.cmake # At the moment fails due to RPATH problem # (RPATH not built into test apps as required) #%check #cd build #make test %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS.txt LICENSE.txt %{_libdir}/*.so.* %{_datadir}/%{name}-1.3 %files devel %defattr(-,root,root,-) %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %{_libdir}/cmake/pcl %files tools %defattr(-,root,root,-) %{_bindir}/pcl_* # There are no .desktop files because the GUI tools are rather examples # to understand a particular feature of PCL. %files doc %defattr(-,root,root,-) %doc build/doc/doxygen/api %doc doc/tutorials/tutorials %changelog * Fri Dec 23 2011 Tim Niemueller - 1.3.1-2 - Make sure documentation is not in main package * Sat Dec 04 2011 Tim Niemueller - 1.3.1-1 - Update to 1.3.1 * Tue Nov 22 2011 Tim Niemueller - 1.3.0-1 - Update to 1.3.0 * Tue Oct 22 2011 Tim Niemueller - 1.2.0-1 - Update to 1.2.0 * Tue Oct 04 2011 Tim Niemueller - 1.1.1-2 - Change vtkWidgets to vtkRendering as import library flags to fix crash for binaries compiled with the installed PCL * Tue Sep 20 2011 Tim Niemueller - 1.1.1-1 - Update to 1.1.1 * Wed Jul 27 2011 Tim Niemueller - 1.1.0-1 - Update to 1.1.0 * Wed Apr 06 2011 Tim Niemueller - 1.0.0-0.1.svn366 - Initial package