commit:     e643269e35dcc9df63a6b042d0fefecbb4c0eb49
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  2 11:51:29 2019 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Sep  2 11:59:49 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e643269e

dev-ros/rosserial_server: fix build with boost 1.70.

Closes: https://bugs.gentoo.org/690706
Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ros/rosserial_server/files/boost170.patch      | 71 ++++++++++++++++++++++
 .../rosserial_server/rosserial_server-0.8.0.ebuild |  3 +-
 2 files changed, 73 insertions(+), 1 deletion(-)

diff --git a/dev-ros/rosserial_server/files/boost170.patch 
b/dev-ros/rosserial_server/files/boost170.patch
new file mode 100644
index 00000000000..cbf106fc9ac
--- /dev/null
+++ b/dev-ros/rosserial_server/files/boost170.patch
@@ -0,0 +1,71 @@
+Index: rosserial_server/include/rosserial_server/async_read_buffer.h
+===================================================================
+--- rosserial_server.orig/include/rosserial_server/async_read_buffer.h
++++ rosserial_server/include/rosserial_server/async_read_buffer.h
+@@ -166,7 +166,7 @@ private:
+ 
+     // Post the callback rather than executing it here so, so that we have a 
chance to do the cleanup
+     // below prior to it actually getting run, in the event that the callback 
queues up another read.
+-    stream_.get_io_service().post(boost::bind(read_success_callback_, 
stream));
++    
static_cast<boost::asio::io_service&>(stream_.get_executor().context()).post(boost::bind(read_success_callback_,
 stream));
+ 
+     // Resetting these values clears our state so that we know there isn't a 
callback pending.
+     read_requested_bytes_ = 0;
+Index: rosserial_server/include/rosserial_server/udp_stream.h
+===================================================================
+--- rosserial_server.orig/include/rosserial_server/udp_stream.h
++++ rosserial_server/include/rosserial_server/udp_stream.h
+@@ -48,7 +48,6 @@ namespace rosserial_server
+ {
+ 
+ using boost::asio::ip::udp;
+-using boost::asio::handler_type;
+ 
+ 
+ class UdpStream : public udp::socket
+@@ -62,9 +61,9 @@ public:
+   {
+     boost::system::error_code ec;
+     const protocol_type protocol = server_endpoint.protocol();
+-    this->get_service().open(this->get_implementation(), protocol, ec);
++    udp::socket::open(protocol, ec);
+     boost::asio::detail::throw_error(ec, "open");
+-    this->get_service().bind(this->get_implementation(), server_endpoint, ec);
++    bind(server_endpoint, ec);
+     boost::asio::detail::throw_error(ec, "bind");
+ 
+     client_endpoint_ = client_endpoint;
+@@ -76,6 +75,8 @@ public:
+   async_write_some(const ConstBufferSequence& buffers,
+       BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
+   {
++    return async_send(buffers, handler);
++#if 0
+     // If you get an error on the following line it means that your handler 
does
+     // not meet the documented type requirements for a WriteHandler.
+     BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
+@@ -94,6 +95,7 @@ public:
+         this->get_implementation(), buffers, client_endpoint_, 0,
+         BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
+ #endif
++#endif
+   }
+ 
+   template <typename MutableBufferSequence, typename ReadHandler>
+@@ -102,6 +104,8 @@ public:
+   async_read_some(const MutableBufferSequence& buffers,
+       BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
+   {
++    return async_receive(buffers, handler);
++#if 0
+     // If you get an error on the following line it means that your handler 
does
+     // not meet the documented type requirements for a ReadHandler.
+     BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
+@@ -119,6 +123,7 @@ public:
+         this->get_implementation(), buffers, client_endpoint_, 0,
+         BOOST_ASIO_MOVE_CAST(ReadHandler)(handler));
+ #endif
++#endif
+   }
+ 
+ private:

diff --git a/dev-ros/rosserial_server/rosserial_server-0.8.0.ebuild 
b/dev-ros/rosserial_server/rosserial_server-0.8.0.ebuild
index 93bba24008f..37c1c17be5d 100644
--- a/dev-ros/rosserial_server/rosserial_server-0.8.0.ebuild
+++ b/dev-ros/rosserial_server/rosserial_server-0.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=5
@@ -20,3 +20,4 @@ RDEPEND="
        dev-libs/boost:=[threads]
 "
 DEPEND="${RDEPEND}"
+PATCHES=( "${FILESDIR}/boost170.patch" )

Reply via email to