commit:     9e941ce2b59c5c682ac0637473d99fdbda01211e
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  3 10:38:16 2021 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Aug  3 10:50:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e941ce2

dev-ros/pcl_ros: add upstream patch for new pcl

Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ros/pcl_ros/files/pcl.patch         | 51 +++++++++++++++++++++++++++++++++
 dev-ros/pcl_ros/pcl_ros-1.7.2-r1.ebuild |  2 +-
 2 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/dev-ros/pcl_ros/files/pcl.patch b/dev-ros/pcl_ros/files/pcl.patch
new file mode 100644
index 00000000000..6847fff9c4c
--- /dev/null
+++ b/dev-ros/pcl_ros/files/pcl.patch
@@ -0,0 +1,51 @@
+From bd21be2cb8ec6ad70a282c61b14aa9dd43edf9ff Mon Sep 17 00:00:00 2001
+From: Markus Vieth <[email protected]>
+Date: Mon, 21 Jun 2021 19:42:58 +0200
+Subject: [PATCH] Use complete namespace for traits members (#330)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This prevents errors like this: error: ‘name’ is not a member of 
‘pcl::detail::traits’; did you mean ‘pcl::traits::name’?
+The error appears for newer PCL versions (everything after commit 
https://github.com/PointCloudLibrary/pcl/commit/d39d3d3300746b952997e5bd2742dac7482aa5ab),
 but this change should also be fully compatible with older PCL versions.
+---
+ pcl_ros/include/pcl_ros/point_cloud.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/include/pcl_ros/point_cloud.h 
b/pcl_ros/include/pcl_ros/point_cloud.h
+index 93df7365..3c57f298 100644
+--- a/include/pcl_ros/point_cloud.h
++++ b/include/pcl_ros/point_cloud.h
+@@ -23,19 +23,19 @@ namespace pcl
+ 
+       template<typename U> void operator() ()
+       {
+-        const char* name = traits::name<PointT, U>::value;
++        const char* name = pcl::traits::name<PointT, U>::value;
+         std::uint32_t name_length = strlen(name);
+         stream_.next(name_length);
+         if (name_length > 0)
+           memcpy(stream_.advance(name_length), name, name_length);
+ 
+-        std::uint32_t offset = traits::offset<PointT, U>::value;
++        std::uint32_t offset = pcl::traits::offset<PointT, U>::value;
+         stream_.next(offset);
+ 
+-        std::uint8_t datatype = traits::datatype<PointT, U>::value;
++        std::uint8_t datatype = pcl::traits::datatype<PointT, U>::value;
+         stream_.next(datatype);
+ 
+-        std::uint32_t count = traits::datatype<PointT, U>::size;
++        std::uint32_t count = pcl::traits::datatype<PointT, U>::size;
+         stream_.next(count);
+       }
+ 
+@@ -49,7 +49,7 @@ namespace pcl
+ 
+       template<typename U> void operator() ()
+       {
+-        std::uint32_t name_length = strlen(traits::name<PointT, U>::value);
++        std::uint32_t name_length = strlen(pcl::traits::name<PointT, 
U>::value);
+         length += name_length + 13;
+       }
+ 

diff --git a/dev-ros/pcl_ros/pcl_ros-1.7.2-r1.ebuild 
b/dev-ros/pcl_ros/pcl_ros-1.7.2-r1.ebuild
index 8dc162b3fa1..3b02e763a1b 100644
--- a/dev-ros/pcl_ros/pcl_ros-1.7.2-r1.ebuild
+++ b/dev-ros/pcl_ros/pcl_ros-1.7.2-r1.ebuild
@@ -42,4 +42,4 @@ DEPEND="${RDEPEND}
                dev-cpp/gtest
        )
 "
-PATCHES=( "${FILESDIR}/tests.patch" )
+PATCHES=( "${FILESDIR}/tests.patch" "${FILESDIR}/pcl.patch" )

Reply via email to