summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/nghttp2/files/nghttp2-1.38.0-boost-1.70.0.patch50
-rw-r--r--net-libs/nghttp2/nghttp2-1.38.0.ebuild3
2 files changed, 52 insertions, 1 deletions
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 000000000000..cc1100a0b0ba
--- /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?= <adamg@pld-linux.org>
+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 1979bd70cc2c..23ae1e8d57ba 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() {