dev-ros/rosserial_server: backport upstream patch to build with boost 1.62, bug ...
authorAlexis Ballier <aballier@gentoo.org>
Fri, 14 Oct 2016 13:04:08 +0000 (15:04 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Fri, 14 Oct 2016 13:04:14 +0000 (15:04 +0200)
Package-Manager: portage-2.3.2

dev-ros/rosserial_server/files/boost162.patch [new file with mode: 0644]
dev-ros/rosserial_server/rosserial_server-0.7.4.ebuild

diff --git a/dev-ros/rosserial_server/files/boost162.patch b/dev-ros/rosserial_server/files/boost162.patch
new file mode 100644 (file)
index 0000000..d644d40
--- /dev/null
@@ -0,0 +1,61 @@
+commit f8a46f3142444c854233a85f7a5ec7b91b5378a6
+Author: Malte Splietker <splietker@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 <maltespl@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_;
index 5ff8dbaefb5a8a3bb6dd10f38db6be13b7e93226..dcba1b4181524ea390a573dbb5f430932dfdc0ab 100644 (file)
@@ -21,3 +21,4 @@ RDEPEND="
        dev-libs/boost:=[threads]
 "
 DEPEND="${RDEPEND}"
+PATCHES=( "${FILESDIR}/boost162.patch" )