[packages/gtatool] - added pcl patch, enable build with pcl 1.7
qboosh
qboosh at pld-linux.org
Sat Sep 21 15:22:13 CEST 2013
commit dc73249cb31e8be2d5f0a87d1adee7ae5a138ad8
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Sep 21 15:22:35 2013 +0200
- added pcl patch, enable build with pcl 1.7
gtatool-pcl.patch | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
gtatool.spec | 14 ++++++--
2 files changed, 111 insertions(+), 2 deletions(-)
---
diff --git a/gtatool.spec b/gtatool.spec
index 5342c65..e2e919f 100644
--- a/gtatool.spec
+++ b/gtatool.spec
@@ -12,7 +12,7 @@
%bcond_without netcdf # NetCDF conv module
%bcond_without netpbm # NetPBM conv module
%bcond_without openexr # EXR conv module (based on OpenEXR)
-%bcond_with pcl # PCD conv module (based on PCL's libpcl_io)
+%bcond_without pcl # PCD conv module (based on PCL's libpcl_io)
%bcond_without pfs # PFS conv module
%bcond_without sndfile # sndfile conv module
%bcond_without teem # teem (nrrd) conv module
@@ -27,10 +27,13 @@ Group: Applications/File
Source0: http://download.savannah.gnu.org/releases/gta/%{name}-%{version}.tar.xz
# Source0-md5: 1f899e0872d0d706878844bb7f48bc7e
Patch0: ffmpeg2.patch
+Patch1: %{name}-pcl.patch
URL: http://gta.nongnu.org/gtatool.html
%{?with_magick:BuildRequires: ImageMagick-c++-devel}
%{?with_openexr:BuildRequires: OpenEXR-devel}
%{?with_qt:BuildRequires: QtGui-devel >= 4.6}
+BuildRequires: autoconf >= 2.65
+BuildRequires: automake >= 1:1.11.1
%{?with_dcmtk:BuildRequires: dcmtk-devel}
%{?with_apidocs:BuildRequires: doxygen}
# libavformat >= 52.110.0 libavdevice libswscale
@@ -40,11 +43,12 @@ BuildRequires: libgta-devel >= 0.9.4
%{?with_jpeg:BuildRequires: libjpeg-devel}
%{?with_sndfile:BuildRequires: libsndfile-devel}
BuildRequires: libstdc++-devel
+BuildRequires: libtool
%{?with_matio:BuildRequires: matio-devel}
%{?with_muparser:BuildRequires: muparser-devel}
%{?with_netcdf:BuildRequires: netcdf-devel}
%{?with_netpbm:BuildRequires: netpbm-devel}
-%{?with_pcl:BuildRequires: pcl-devel >= 1.6}
+%{?with_pcl:BuildRequires: pcl-devel >= 1.7}
%{?with_pfs:BuildRequires: pfstools-devel}
BuildRequires: pkgconfig
%{?with_qt:BuildRequires: qt4-build >= 4.6}
@@ -266,8 +270,14 @@ Bashowe uzupełnianie parametrów programu gtatool.
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
%configure \
--disable-silent-rules \
%{!?with_dcmtk:--without-dcmtk} \
diff --git a/gtatool-pcl.patch b/gtatool-pcl.patch
new file mode 100644
index 0000000..0b5d005
--- /dev/null
+++ b/gtatool-pcl.patch
@@ -0,0 +1,99 @@
+--- gtatool-1.5.2/configure.ac.orig 2013-04-29 20:53:48.413184320 +0200
++++ gtatool-1.5.2/configure.ac 2013-09-21 12:46:22.572690031 +0200
+@@ -391,11 +391,12 @@
+ [if test "$withval" = "yes"; then pcd="yes"; else pcd="no "; fi], [pcd="yes"])
+ if test "$pcd" = "yes"; then
+ PKG_CHECK_MODULES([libpcl_io], [pcl_io >= 1.6], [],
++ [PKG_CHECK_MODULES([libpcl_io], [pcl_io-1.7 >= 1.7], [],
+ [PKG_CHECK_MODULES([libpcl_io], [pcl_io-1.6 >= 1.6], [],
+ [pcd="no "
+ AC_MSG_WARN([PCL io library not found:])
+ AC_MSG_WARN([$libpcl_io_PKG_ERRORS])
+- AC_MSG_WARN([Disabled the from-pcd and to-pcd commands.])])])
++ AC_MSG_WARN([Disabled the from-pcd and to-pcd commands.])])])])
+ fi
+ AC_DEFINE_UNQUOTED([WITH_PCD], [`if test "$pcd" = "yes"; then echo "1"; else echo "0"; fi`], [Use pcd?])
+ AM_CONDITIONAL([WITH_PCD], [test "$pcd" = "yes"])
+--- gtatool-1.5.2/src/conv-pcd/from-pcd.cpp.orig 2013-04-28 20:24:13.896124699 +0200
++++ gtatool-1.5.2/src/conv-pcd/from-pcd.cpp 2013-09-21 15:10:38.875660094 +0200
+@@ -46,7 +46,7 @@
+ "Currently only combinations of XYZ, normal, intensity, RGB/RGBA are supported.");
+ }
+
+-bool have_field(const sensor_msgs::PointCloud2& cloud_blob, const char* name)
++bool have_field(const pcl::PCLPointCloud2& cloud_blob, const char* name)
+ {
+ for (size_t i = 0; i < cloud_blob.fields.size(); i++)
+ if (cloud_blob.fields[i].name == std::string(name))
+@@ -76,7 +76,7 @@
+ array_loop_t array_loop;
+ array_loop.start(std::vector<std::string>(1, namei), arguments.size() == 2 ? arguments[1] : "");
+
+- sensor_msgs::PointCloud2 cloud_blob;
++ pcl::PCLPointCloud2 cloud_blob;
+ if (pcl::io::loadPCDFile(namei.c_str(), cloud_blob) == -1)
+ {
+ throw exc(namei + ": cannot read file.");
+@@ -95,7 +95,7 @@
+ {
+ // pcl::PointXYZ
+ pcl::PointCloud<pcl::PointXYZ> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ hdr.set_components(gta::float32, gta::float32, gta::float32);
+ hdr.component_taglist(0).set("INTERPRETATION", "X");
+@@ -117,7 +117,7 @@
+ {
+ // pcl::PointXYZI
+ pcl::PointCloud<pcl::PointXYZI> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ hdr.set_components(gta::float32, gta::float32, gta::float32, gta::float32);
+ hdr.component_taglist(0).set("INTERPRETATION", "X");
+@@ -140,7 +140,7 @@
+ {
+ // pcl::PointXYZRGB
+ pcl::PointCloud<pcl::PointXYZRGB> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ std::vector<gta::type> types(3, gta::float32);
+ types.resize(6, gta::uint8);
+@@ -176,7 +176,7 @@
+ {
+ // pcl::PointXYZRGBA
+ pcl::PointCloud<pcl::PointXYZRGBA> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ std::vector<gta::type> types(3, gta::float32);
+ types.resize(7, gta::uint8);
+@@ -215,7 +215,7 @@
+ {
+ // pcl::PointNormal
+ pcl::PointCloud<pcl::PointNormal> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ std::vector<gta::type> types(6, gta::float32);
+ hdr.set_components(6, &(types[0]));
+@@ -244,7 +244,7 @@
+ {
+ // pcl::PointXYZINormal
+ pcl::PointCloud<pcl::PointXYZINormal> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ std::vector<gta::type> types(7, gta::float32);
+ hdr.set_components(7, &(types[0]));
+@@ -274,7 +274,7 @@
+ {
+ // pcl::PointXYZRGBNormal
+ pcl::PointCloud<pcl::PointXYZRGBNormal> cloud;
+- pcl::fromROSMsg(cloud_blob, cloud);
++ pcl::fromPCLPointCloud2(cloud_blob, cloud);
+ hdr.set_dimensions(cloud.points.size());
+ std::vector<gta::type> types(6, gta::float32);
+ types.resize(9, gta::uint8);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gtatool.git/commitdiff/dc73249cb31e8be2d5f0a87d1adee7ae5a138ad8
More information about the pld-cvs-commit
mailing list