commit:     106c80f355df1a059a63ed600f60f9de004bfe21
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 19 11:17:43 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 11:19:05 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=106c80f3

net-libs/nghttp2: Fixed build against ~dev-libst/boost-1.70.0

Closes: https://bugs.gentoo.org/683368
Package-Manager: Portage-2.3.64, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/nghttp2-1.38.0-boost-1.70.0.patch        | 50 ++++++++++++++++++++++
 net-libs/nghttp2/nghttp2-1.38.0.ebuild             |  3 +-
 2 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/net-libs/nghttp2/files/nghttp2-1.38.0-boost-1.70.0.patch 
b/net-libs/nghttp2/files/nghttp2-1.38.0-boost-1.70.0.patch
new file mode 100644
index 00000000000..cc1100a0b0b
--- /dev/null
+++ b/net-libs/nghttp2/files/nghttp2-1.38.0-boost-1.70.0.patch
@@ -0,0 +1,50 @@
+From cbba1ebf8fcecb24392f0cc07b1235b17d0de9d8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= <[email protected]>
+Date: Thu, 18 Apr 2019 12:35:54 +0200
+Subject: [PATCH] asio: support boost-1.70
+
+In boost 1.70, deprecated get_io_context() has finally been removed.
+Introduce GET_IO_SERVICE macro that based on boost version uses
+old get_io_service() interface (boost < 1.70), or get_executor().context()
+for boost 1.70+.
+
+Commit based idea seen in 
monero-project/monero@17769db9462e5201befcb05f86ccbaeabf35caf8
+---
+ src/asio_server_connection.h | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/asio_server_connection.h b/src/asio_server_connection.h
+index 6be794060..56924c71a 100644
+--- a/src/asio_server_connection.h
++++ b/src/asio_server_connection.h
+@@ -51,6 +51,12 @@
+ #include "util.h"
+ #include "template.h"
+ 
++#if BOOST_VERSION >= 107000
++#define GET_IO_SERVICE(s) 
((boost::asio::io_context&)(s).get_executor().context())
++#else
++#define GET_IO_SERVICE(s) ((s).get_io_service())
++#endif
++
+ namespace nghttp2 {
+ 
+ namespace asio_http2 {
+@@ -71,7 +77,7 @@ class connection : public 
std::enable_shared_from_this<connection<socket_type>>,
+       SocketArgs &&... args)
+       : socket_(std::forward<SocketArgs>(args)...),
+         mux_(mux),
+-        deadline_(socket_.get_io_service()),
++        deadline_(GET_IO_SERVICE(socket_)),
+         tls_handshake_timeout_(tls_handshake_timeout),
+         read_timeout_(read_timeout),
+         writing_(false),
+@@ -82,7 +88,7 @@ class connection : public 
std::enable_shared_from_this<connection<socket_type>>,
+     boost::system::error_code ec;
+ 
+     handler_ = std::make_shared<http2_handler>(
+-        socket_.get_io_service(), socket_.lowest_layer().remote_endpoint(ec),
++        GET_IO_SERVICE(socket_), socket_.lowest_layer().remote_endpoint(ec),
+         [this]() { do_write(); }, mux_);
+     if (handler_->start() != 0) {
+       stop();

diff --git a/net-libs/nghttp2/nghttp2-1.38.0.ebuild 
b/net-libs/nghttp2/nghttp2-1.38.0.ebuild
index 1979bd70cc2..23ae1e8d57b 100644
--- a/net-libs/nghttp2/nghttp2-1.38.0.ebuild
+++ b/net-libs/nghttp2/nghttp2-1.38.0.ebuild
@@ -52,7 +52,8 @@ DEPEND="${RDEPEND}
        test? ( >=dev-util/cunit-2.1[${MULTILIB_USEDEP}] )"
 
 PATCHES=(
-       "${WORKDIR}/${PN}-1.38.0-unbundle_http_parser.patch"
+       "${WORKDIR}/${PN}-1.38.0-unbundle_http_parser.patch" # 675772
+       "${FILESDIR}/${P}-boost-1.70.0.patch" #683368
 )
 
 src_prepare() {

Reply via email to