summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/libtorrent-rasterbar/files/libtorrent-rasterbar-2.0.4-boost-1.76.patch')
-rw-r--r--net-libs/libtorrent-rasterbar/files/libtorrent-rasterbar-2.0.4-boost-1.76.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/net-libs/libtorrent-rasterbar/files/libtorrent-rasterbar-2.0.4-boost-1.76.patch b/net-libs/libtorrent-rasterbar/files/libtorrent-rasterbar-2.0.4-boost-1.76.patch
new file mode 100644
index 000000000000..5e8e04e940fb
--- /dev/null
+++ b/net-libs/libtorrent-rasterbar/files/libtorrent-rasterbar-2.0.4-boost-1.76.patch
@@ -0,0 +1,58 @@
+https://github.com/paullouisageneau/boost-asio-gnutls/commit/895105972e5a9318d572b147c1872f64d23e2a8e
+https://bugs.gentoo.org/820836
+
+From 895105972e5a9318d572b147c1872f64d23e2a8e Mon Sep 17 00:00:00 2001
+From: Shantanu Singh <shsi@microsoft.com>
+Date: Fri, 18 Sep 2020 14:01:39 -0700
+Subject: [PATCH] Use fully qualified std::placeholders to prevent conflicts
+ with boost::placeholders
+
+--- a/deps/asio-gnutls/include/boost/asio/gnutls/stream.hpp
++++ b/deps/asio-gnutls/include/boost/asio/gnutls/stream.hpp
+@@ -244,8 +244,7 @@ template <typename NextLayer> class stream : public stream_base
+ return;
+ }
+
+- using namespace std::placeholders;
+- m_impl->read_handler = std::bind(callable, _1, _2);
++ m_impl->read_handler = std::bind(callable, std::placeholders::_1, std::placeholders::_2);
+ m_impl->bytes_read = 0;
+ m_impl->async_schedule();
+ return callable.get_completion_result();
+@@ -293,8 +292,7 @@ template <typename NextLayer> class stream : public stream_base
+ return;
+ }
+
+- using namespace std::placeholders;
+- m_impl->write_handler = std::bind(callable, _1, _2);
++ m_impl->write_handler = std::bind(callable, std::placeholders::_1, std::placeholders::_2);
+ m_impl->bytes_written = 0;
+ m_impl->async_schedule();
+ return callable.get_completion_result();
+@@ -568,8 +566,6 @@ template <typename NextLayer> class stream : public stream_base
+
+ void async_schedule()
+ {
+- using namespace std::placeholders;
+-
+ if (!parent) return;
+ auto& next_layer = parent->m_next_layer;
+
+@@ -581,14 +577,14 @@ template <typename NextLayer> class stream : public stream_base
+ else
+ next_layer.async_wait(
+ next_layer_type::wait_read,
+- std::bind(&impl::handle_read, this->shared_from_this(), _1));
++ std::bind(&impl::handle_read, this->shared_from_this(), std::placeholders::_1));
+ }
+
+ // Start a write operation if GnuTLS wants one
+ if (want_write() && !std::exchange(is_writing, true))
+ {
+ next_layer.async_wait(next_layer_type::wait_write,
+- std::bind(&impl::handle_write, this->shared_from_this(), _1));
++ std::bind(&impl::handle_write, this->shared_from_this(), std::placeholders::_1));
+ }
+ }
+
+