commit:     116d6431c3830f6332bc67e1ec591fcbe6542bdc
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 31 04:22:03 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 31 04:22:03 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=116d6431

net-libs/libtorrent-rasterbar: add Boost 1.76(?) patch

Closes: https://bugs.gentoo.org/820836
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../libtorrent-rasterbar-2.0.4-boost-1.76.patch    | 58 ++++++++++++++++++++++
 .../libtorrent-rasterbar-2.0.4-r3.ebuild           |  1 +
 2 files changed, 59 insertions(+)

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 00000000000..5e8e04e940f
--- /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 <s...@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));
+             }
+         }
+ 
+

diff --git a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-2.0.4-r3.ebuild 
b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-2.0.4-r3.ebuild
index 787c4093411..9dc9cb50370 100644
--- a/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-2.0.4-r3.ebuild
+++ b/net-libs/libtorrent-rasterbar/libtorrent-rasterbar-2.0.4-r3.ebuild
@@ -39,6 +39,7 @@ BDEPEND="python? (
        )"
 
 PATCHES=(
+       "${FILESDIR}"/${PN}-2.0.4-boost-1.76.patch
        "${FILESDIR}"/${P}-boost-1.77.patch
 )
 

Reply via email to