commit:     4f02b955d2b1f4d08d7699431fc22f827bc52b54
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  7 12:23:13 2019 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Dec  7 12:23:13 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f02b955

net-vpn/freelan: Fix building against >=boost-1.70

Closes: https://bugs.gentoo.org/688756
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../files/freelan-2.2-boost-1.70-asio.patch        | 25 +++++++++++
 net-vpn/freelan/files/freelan-2.2-boost-1.70.patch | 50 ++++++++++++++++++++++
 net-vpn/freelan/freelan-2.2.ebuild                 |  7 ++-
 3 files changed, 81 insertions(+), 1 deletion(-)

diff --git a/net-vpn/freelan/files/freelan-2.2-boost-1.70-asio.patch 
b/net-vpn/freelan/files/freelan-2.2-boost-1.70-asio.patch
new file mode 100644
index 00000000000..2410ad06f6c
--- /dev/null
+++ b/net-vpn/freelan/files/freelan-2.2-boost-1.70-asio.patch
@@ -0,0 +1,25 @@
+From a3e4150d6df690ea083a74f2e66894dc2af0cd9e Mon Sep 17 00:00:00 2001
+From: QuantumEntangledAndy <[email protected]>
+Date: Sat, 8 Jun 2019 10:10:10 +0700
+Subject: [PATCH] Fix for boost versions less than 1.66
+
+---
+ libs/fscp/include/fscp/server.hpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libs/fscp/include/fscp/server.hpp 
b/libs/fscp/include/fscp/server.hpp
+index 2b18a595..1f4b30ee 100644
+--- a/libs/fscp/include/fscp/server.hpp
++++ b/libs/fscp/include/fscp/server.hpp
+@@ -288,7 +288,11 @@ namespace fscp
+                        */
+                       boost::asio::io_service& get_io_service()
+                       {
++#if BOOST_ASIO_VERSION >= 101200 // Boost 1.66+
+                               return 
reinterpret_cast<boost::asio::io_context&>(get_socket().get_executor().context());
++#else
++                              return get_socket().get_io_service();
++#endif
+                       }
+ 
+                       /**

diff --git a/net-vpn/freelan/files/freelan-2.2-boost-1.70.patch 
b/net-vpn/freelan/files/freelan-2.2-boost-1.70.patch
new file mode 100644
index 00000000000..1fa2bb48d65
--- /dev/null
+++ b/net-vpn/freelan/files/freelan-2.2-boost-1.70.patch
@@ -0,0 +1,50 @@
+From d16490d00a47c8dcf008fa1b3219f54669716da3 Mon Sep 17 00:00:00 2001
+From: Sebastien Vincent <[email protected]>
+Date: Sun, 19 May 2019 17:57:07 +0200
+Subject: [PATCH] [build] Adds support for Boost >= 1.70.
+
+---
+ libs/freelan/src/core.cpp         | 2 +-
+ libs/fscp/include/fscp/server.hpp | 2 +-
+ libs/fscp/src/server.cpp          | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libs/freelan/src/core.cpp b/libs/freelan/src/core.cpp
+index 840a522a..969ae305 100644
+--- a/libs/freelan/src/core.cpp
++++ b/libs/freelan/src/core.cpp
+@@ -777,7 +777,7 @@ namespace freelan
+ 
+               boost::apply_visitor(
+                       asiotap::endpoint_async_resolve_visitor(
+-                              
boost::make_shared<resolver_type>(boost::ref(m_io_service)),
++                              boost::make_shared<resolver_type>(m_io_service),
+                               
to_protocol(m_configuration.fscp.hostname_resolution_protocol),
+                               resolver_query::address_configured,
+                               DEFAULT_SERVICE,
+diff --git a/libs/fscp/include/fscp/server.hpp 
b/libs/fscp/include/fscp/server.hpp
+index 3766b4a3..2b18a595 100644
+--- a/libs/fscp/include/fscp/server.hpp
++++ b/libs/fscp/include/fscp/server.hpp
+@@ -288,7 +288,7 @@ namespace fscp
+                        */
+                       boost::asio::io_service& get_io_service()
+                       {
+-                              return get_socket().get_io_service();
++                              return 
reinterpret_cast<boost::asio::io_context&>(get_socket().get_executor().context());
+                       }
+ 
+                       /**
+diff --git a/libs/fscp/src/server.cpp b/libs/fscp/src/server.cpp
+index cb717ec4..62b92dca 100644
+--- a/libs/fscp/src/server.cpp
++++ b/libs/fscp/src/server.cpp
+@@ -1106,7 +1106,7 @@ namespace fscp
+       template <typename WaitHandler>
+       void 
server::ep_hello_context_type::async_wait_reply(boost::asio::io_service& 
io_service, uint32_t hello_unique_number, const 
boost::posix_time::time_duration& timeout, WaitHandler handler)
+       {
+-              const boost::shared_ptr<boost::asio::deadline_timer> timer = 
boost::make_shared<boost::asio::deadline_timer>(boost::ref(io_service), 
timeout);
++              const boost::shared_ptr<boost::asio::deadline_timer> timer = 
boost::make_shared<boost::asio::deadline_timer>(io_service, timeout);
+ 
+               m_pending_requests[hello_unique_number] = 
pending_request_status(timer);
+ 

diff --git a/net-vpn/freelan/freelan-2.2.ebuild 
b/net-vpn/freelan/freelan-2.2.ebuild
index d286ce106e2..5230dbc4e9a 100644
--- a/net-vpn/freelan/freelan-2.2.ebuild
+++ b/net-vpn/freelan/freelan-2.2.ebuild
@@ -15,7 +15,7 @@ KEYWORDS="~amd64"
 IUSE="debug"
 
 DEPEND="
-       <dev-libs/boost-1.70:=[threads]
+       dev-libs/boost:=[threads]
        dev-libs/openssl:0=
        net-misc/curl:=
        virtual/libiconv
@@ -23,6 +23,11 @@ DEPEND="
 "
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.2-boost-1.70.patch
+       "${FILESDIR}"/${PN}-2.2-boost-1.70-asio.patch
+)
+
 src_prepare() {
        export FREELAN_NO_GIT=1
        export FREELAN_NO_GIT_VERSION=${PV}

Reply via email to