commit:     78c02e67b9ed68ec6ae1b1b083e7ee4ef115e757
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 14 13:04:08 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Oct 14 13:04:14 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78c02e67

dev-ros/rosserial_server: backport upstream patch to build with boost 1.62, bug 
#594830

Package-Manager: portage-2.3.2

 dev-ros/rosserial_server/files/boost162.patch      | 61 ++++++++++++++++++++++
 .../rosserial_server/rosserial_server-0.7.4.ebuild |  1 +
 2 files changed, 62 insertions(+)

diff --git a/dev-ros/rosserial_server/files/boost162.patch 
b/dev-ros/rosserial_server/files/boost162.patch
new file mode 100644
index 00000000..d644d40
--- /dev/null
+++ b/dev-ros/rosserial_server/files/boost162.patch
@@ -0,0 +1,61 @@
+commit f8a46f3142444c854233a85f7a5ec7b91b5378a6
+Author: Malte Splietker <spliet...@users.noreply.github.com>
+Date:   Wed Oct 5 04:26:00 2016 +0200
+
+    Fixing build errors for boost >=1.60 (#226) (#250)
+    
+    Signed-off-by: Malte Splietker <malte...@mail.upb.de>
+
+diff --git a/rosserial_server/include/rosserial_server/session.h 
b/rosserial_server/include/rosserial_server/session.h
+index 86b9baa..ebd109a 100644
+--- a/rosserial_server/include/rosserial_server/session.h
++++ b/rosserial_server/include/rosserial_server/session.h
+@@ -499,7 +499,7 @@ private:
+   boost::asio::deadline_timer ros_spin_timer_;
+   std::string require_param_name_;
+ 
+-  std::map<uint16_t, boost::function<void(ros::serialization::IStream)> > 
callbacks_;
++  std::map<uint16_t, boost::function<void(ros::serialization::IStream&)> > 
callbacks_;
+   std::map<uint16_t, PublisherPtr> publishers_;
+   std::map<uint16_t, SubscriberPtr> subscribers_;
+   std::map<std::string, ServiceClientPtr> services_;
+diff --git a/rosserial_server/include/rosserial_server/topic_handlers.h 
b/rosserial_server/include/rosserial_server/topic_handlers.h
+index 666f3fc..2f367c3 100644
+--- a/rosserial_server/include/rosserial_server/topic_handlers.h
++++ b/rosserial_server/include/rosserial_server/topic_handlers.h
+@@ -93,7 +93,7 @@ typedef boost::shared_ptr<Publisher> PublisherPtr;
+ class Subscriber {
+ public:
+   Subscriber(ros::NodeHandle& nh, rosserial_msgs::TopicInfo& topic_info,
+-      boost::function<void(std::vector<uint8_t> buffer)> write_fn)
++      boost::function<void(std::vector<uint8_t>& buffer)> write_fn)
+     : write_fn_(write_fn) {
+     ros::SubscribeOptions opts;
+     opts.init<topic_tools::ShapeShifter>(
+@@ -119,7 +119,7 @@ private:
+   }
+ 
+   ros::Subscriber subscriber_;
+-  boost::function<void(std::vector<uint8_t> buffer)> write_fn_;
++  boost::function<void(std::vector<uint8_t>& buffer)> write_fn_;
+ };
+ 
+ typedef boost::shared_ptr<Subscriber> SubscriberPtr;
+@@ -127,7 +127,7 @@ typedef boost::shared_ptr<Subscriber> SubscriberPtr;
+ class ServiceClient {
+ public:
+   ServiceClient(ros::NodeHandle& nh, rosserial_msgs::TopicInfo& topic_info,
+-      boost::function<void(std::vector<uint8_t> buffer, const uint16_t 
topic_id)> write_fn)
++      boost::function<void(std::vector<uint8_t>& buffer, const uint16_t 
topic_id)> write_fn)
+     : write_fn_(write_fn) {
+     topic_id_ = -1;
+     if (!service_info_service_.isValid()) {
+@@ -185,7 +185,7 @@ private:
+   topic_tools::ShapeShifter response_message_;
+   ros::ServiceClient service_client_;
+   static ros::ServiceClient service_info_service_;
+-  boost::function<void(std::vector<uint8_t> buffer, const uint16_t topic_id)> 
write_fn_;
++  boost::function<void(std::vector<uint8_t>& buffer, const uint16_t 
topic_id)> write_fn_;
+   std::string service_md5_;
+   std::string request_message_md5_;
+   std::string response_message_md5_;

diff --git a/dev-ros/rosserial_server/rosserial_server-0.7.4.ebuild 
b/dev-ros/rosserial_server/rosserial_server-0.7.4.ebuild
index 5ff8dba..dcba1b4 100644
--- a/dev-ros/rosserial_server/rosserial_server-0.7.4.ebuild
+++ b/dev-ros/rosserial_server/rosserial_server-0.7.4.ebuild
@@ -21,3 +21,4 @@ RDEPEND="
        dev-libs/boost:=[threads]
 "
 DEPEND="${RDEPEND}"
+PATCHES=( "${FILESDIR}/boost162.patch" )

Reply via email to