[pcl] Update to release 1.7.2

rmattes rmattes at fedoraproject.org
Wed Dec 17 00:57:10 UTC 2014


commit a8ed99ca87c0d035bb0076e2136e2037302c56ee
Author: Rich Mattes <richmattes at gmail.com>
Date:   Tue Dec 16 19:56:26 2014 -0500

    Update to release 1.7.2

 .gitignore              |    1 +
 pcl-1.7.1-fedora.patch  |   34 --
 pcl-1.7.1-metslib.patch |   81 ----
 pcl-1.7.2-fedora.patch  |   13 +
 pcl-1.7.2-metslib.patch |   12 +
 pcl-1.7.2-sse2.patch    |   21 +
 pcl-vtk6.patch          | 1184 -----------------------------------------------
 pcl.spec                |   79 ++--
 sources                 |    2 +-
 9 files changed, 83 insertions(+), 1344 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d8b68b1..2ca8e9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
 /PCL-1.6.0-Source.tar.bz2
 /pcl-1.7.0.tar.gz
 /pcl-1.7.1.tar.gz
+/pcl-0ddf11a6ad1175b6f1c253da003de20c1295cde0.tar.gz
diff --git a/pcl-1.7.2-fedora.patch b/pcl-1.7.2-fedora.patch
new file mode 100644
index 0000000..c7a265b
--- /dev/null
+++ b/pcl-1.7.2-fedora.patch
@@ -0,0 +1,13 @@
+diff -up ./PCLConfig.cmake.in.fedora ./PCLConfig.cmake.in
+--- ./PCLConfig.cmake.in.fedora	2013-10-07 09:09:35.000000000 -0400
++++ ./PCLConfig.cmake.in	2014-03-21 16:40:01.057216627 -0400
+@@ -490,8 +490,7 @@ if(WIN32 AND NOT MINGW)
+   get_filename_component(PCL_ROOT "${PCL_DIR}" PATH)
+ else(WIN32 AND NOT MINGW)
+ # PCLConfig.cmake is installed to PCL_ROOT/share/pcl-x.y
+-  get_filename_component(PCL_ROOT "${PCL_DIR}" PATH)
+-  get_filename_component(PCL_ROOT "${PCL_ROOT}" PATH)
++  set(PCL_ROOT "@CMAKE_INSTALL_PREFIX@")
+ endif(WIN32 AND NOT MINGW)
+ 
+ # check whether PCLConfig.cmake is found into a PCL installation or in a build tree
diff --git a/pcl-1.7.2-metslib.patch b/pcl-1.7.2-metslib.patch
new file mode 100644
index 0000000..e21332a
--- /dev/null
+++ b/pcl-1.7.2-metslib.patch
@@ -0,0 +1,12 @@
+diff -up ./recognition/include/pcl/recognition/impl/hv/hv_go.hpp.metslib ./recognition/include/pcl/recognition/impl/hv/hv_go.hpp
+--- ./recognition/include/pcl/recognition/impl/hv/hv_go.hpp.metslib	2013-10-07 09:09:35.000000000 -0400
++++ ./recognition/include/pcl/recognition/impl/hv/hv_go.hpp	2013-10-26 11:12:04.422310387 -0400
+@@ -445,7 +445,7 @@ void pcl::GlobalHypothesesVerification<M
+   mets::noimprove_termination_criteria noimprove (max_iterations_);
+   mets::linear_cooling linear_cooling;
+   mets::simulated_annealing<move_manager> sa (model, best_recorder, neigh, noimprove, linear_cooling, initial_temp_, 1e-7, 2);
+-  sa.setApplyAndEvaluate(true);
++  //sa.setApplyAndEvaluate(true);
+ 
+   {
+     pcl::ScopeTime t ("SA search...");
diff --git a/pcl-1.7.2-sse2.patch b/pcl-1.7.2-sse2.patch
new file mode 100644
index 0000000..525b067
--- /dev/null
+++ b/pcl-1.7.2-sse2.patch
@@ -0,0 +1,21 @@
+diff -up ./cmake/pcl_find_sse.cmake.sse2 ./cmake/pcl_find_sse.cmake
+--- ./cmake/pcl_find_sse.cmake.sse2	2014-12-15 20:29:32.034099142 -0500
++++ ./cmake/pcl_find_sse.cmake	2014-12-15 20:33:37.162322940 -0500
+@@ -150,16 +150,8 @@ macro(PCL_CHECK_FOR_SSE)
+     set(CMAKE_REQUIRED_FLAGS)
+ 
+     if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
+-        if(HAVE_SSE4_2_EXTENSIONS)
+-            SET(SSE_FLAGS "${SSE_FLAGS} -msse4.2 -mfpmath=sse")
+-        elseif(HAVE_SSE4_1_EXTENSIONS)
+-            SET(SSE_FLAGS "${SSE_FLAGS} -msse4.1 -mfpmath=sse")
+-        elseif(HAVE_SSE3_EXTENSIONS)
+-            SET(SSE_FLAGS "${SSE_FLAGS} -msse3 -mfpmath=sse")
+-        elseif(HAVE_SSE2_EXTENSIONS)
++        if(HAVE_SSE2_EXTENSIONS AND ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
+             SET(SSE_FLAGS "${SSE_FLAGS} -msse2 -mfpmath=sse")
+-        elseif(HAVE_SSE_EXTENSIONS)
+-            SET(SSE_FLAGS "${SSE_FLAGS} -msse -mfpmath=sse")
+         else()
+             # Setting -ffloat-store to alleviate 32bit vs 64bit discrepancies on non-SSE
+             # platforms.
diff --git a/pcl.spec b/pcl.spec
index 4c7e562..af4e4e7 100644
--- a/pcl.spec
+++ b/pcl.spec
@@ -1,20 +1,23 @@
 %global apiversion 1.7
+%global commit 0ddf11a6ad1175b6f1c253da003de20c1295cde0
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
 
 Name:           pcl
-Version:        1.7.1
-Release:        5%{?dist}
+Version:        1.7.2
+Release:        1%{?dist}
 Summary:        Library for point cloud processing
 
 Group:          System Environment/Libraries
 License:        BSD
 URL:            http://pointclouds.org/
-Source0:        https://github.com/PointCloudLibrary/pcl/archive/pcl-%{version}.tar.gz
-# Patch to compile against vtk 6.0.0
-Patch0:         %{name}-vtk6.patch
+Source0:        https://github.com/PointCloudLibrary/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
+# Only enable sse2, and only on x86_64
+Patch0:         %{name}-1.7.2-sse2.patch
 # Patch to compile against system metslib
-Patch1:         %{name}-1.7.1-metslib.patch
+Patch1:         %{name}-1.7.2-metslib.patch
 # Patch for PCLConfig.cmake to find pcl
 Patch2:         %{name}-1.7.1-fedora.patch
+
 # For plain building
 BuildRequires:  cmake, gcc-c++, boost-devel
 # Documentation
@@ -26,7 +29,7 @@ BuildRequires:  tetex-latex
 %endif
 
 # mandatory
-BuildRequires:  eigen3-static, flann-devel, cminpack-devel, vtk-devel, gl2ps-devel, hdf5-devel, python-devel, libxml2-devel, metslib-static
+BuildRequires:  eigen3-static, flann-devel, cminpack-devel, vtk-devel, gl2ps-devel, hdf5-devel, python-devel, libxml2-devel, metslib-static, netcdf-cxx-devel, jsoncpp-devel
 # optional
 BuildRequires:  qhull-devel, libusb1-devel, gtest-devel, qtwebkit-devel, python-sphinx
 %ifarch %{ix86} x86_64
@@ -79,8 +82,8 @@ Library.
 
 
 %prep
-%setup -q -n %{name}-%{name}-%{version}
-%patch0 -p1 -b .vtk6
+%setup -qn %{name}-%{commit}
+%patch0 -p1 -b .sse2
 %patch1 -p0 -b .metslib
 %patch2 -p0 -b .fedora
 # Just to make it obvious we're not using any of these
@@ -95,10 +98,14 @@ sed -i "s/, 'sphinxcontrib.doxylink.doxylink'//g" doc/advanced/content/conf.py d
 mkdir build
 pushd build
 %cmake \
+  -DWITH_DOCS=ON \
+  -DWITH_TUTORIALS=ON \
   -DCMAKE_BUILD_TYPE=NONE \
+  -DBUILD_apps=ON \
+  -DBUILD_global_tests=OFF \
   -DOPENNI_INCLUDE_DIR:PATH=/usr/include/ni \
-  -DLIB_INSTALL_DIR=$(echo %{_libdir} | sed -e 's|%{_prefix}/||') \
-%ifarch x86_64
+  -DLIB_INSTALL_DIR=%{_lib} \
+%ifarch x86_64  %{?ix86}:
   -DPCL_ENABLE_SSE=ON \
 %else
   -DPCL_ENABLE_SSE=OFF \
@@ -109,40 +116,32 @@ pushd build
   ..
 
 # Don't use mflags, we're hitting out of memory errors on the koji builders
-make -j 3
-make doc
-popd
-
-pushd doc/overview
-make
-popd
-
-pushd doc/tutorials
-sed -i "s/, 'sphinxcontrib.doxylink.doxylink'//" content/conf.py
-make
+make %{?_smp_mflags}
+make doc tutorials advanced
 popd
 
-pushd doc/advanced
-make
-popd
-
-
 %install
 pushd build
 make install DESTDIR=$RPM_BUILD_ROOT
+
+# Remove libtool archives
 find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
 
 # Just a dummy test
 rm -f $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}
+# Remove installed documentation (will use %doc)
+rm -rf $RPM_BUILD_ROOT%{_datadir}/doc
+
+# Rename the documentation folders from "html"
 mv doc/doxygen/html doc/doxygen/api
+mv doc/tutorials/html doc/tutorials/tutorials
+mv doc/advanced/html doc/advanced/advanced
 
+cp -fr ../doc/advanced/content/files/* doc/advanced/advanced
+cp -fr ../doc/tutorials/content/sources doc/tutorials/tutorials
 popd
 
-mv doc/tutorials/html doc/tutorials/tutorials
-
 for f in $RPM_BUILD_ROOT%{_bindir}/{openni_image,pcd_grabber_viewer,pcd_viewer,openni_viewer,oni_viewer}; do
 	if [ -f $f ]; then
 		mv $f $RPM_BUILD_ROOT%{_bindir}/pcl_$(basename $f)
@@ -153,17 +152,6 @@ rm $RPM_BUILD_ROOT%{_bindir}/{openni_fast_mesh,openni_ii_normal_estimation,openn
 mkdir -p $RPM_BUILD_ROOT%{_libdir}/cmake/pcl
 mv $RPM_BUILD_ROOT%{_datadir}/%{name}-*/*.cmake $RPM_BUILD_ROOT%{_libdir}/cmake/pcl
 
-# Remove installed documentation, will add with doc tags later
-rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{apiversion}
-
-#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
 #make -C build test || true
 
@@ -190,10 +178,13 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{apiversion}
 
 %files doc
 %doc build/doc/doxygen/api
-%doc doc/tutorials/tutorials
-
+%doc build/doc/tutorials/tutorials
+%doc build/doc/advanced/advanced
 
 %changelog
+* Tue Dec 16 2014 Rich Mattes <richmattes at gmail.com> - 1.7.2-1
+- Update to release 1.7.2
+
 * Sun Aug 17 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.7.1-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
 
diff --git a/sources b/sources
index e6f6346..548428a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-ce8fa17662544eb4bb7b084191a61ad5  pcl-1.7.1.tar.gz
+e30c8954bcd60098b36ef74dc018a1ff  pcl-0ddf11a6ad1175b6f1c253da003de20c1295cde0.tar.gz


More information about the scm-commits mailing list