mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-30 10:38:07 -07:00
dev-cpp/websocketpp: Fix building against boost 1.70
Closes: https://bugs.gentoo.org/683472 Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: David Seifert <soap@gentoo.org>
This commit is contained in:
139
dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch
Normal file
139
dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch
Normal file
@@ -0,0 +1,139 @@
|
||||
From c769c9238ad62178f506038178714a1c35aa2769 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
|
||||
Date: Tue, 16 Apr 2019 08:38:01 +0200
|
||||
Subject: [PATCH 1/2] Replace make_shared with new in some cases
|
||||
|
||||
Replace make_shared for asio types that take a lib::ref as a parameter.
|
||||
This should fix the ASIO change (boostorg/asio@59066d8) for 1.70,
|
||||
while keeping it backwards compatible to older boost versions.
|
||||
---
|
||||
websocketpp/transport/asio/connection.hpp | 7 ++++---
|
||||
websocketpp/transport/asio/endpoint.hpp | 3 +--
|
||||
websocketpp/transport/asio/security/none.hpp | 3 +--
|
||||
websocketpp/transport/asio/security/tls.hpp | 3 +--
|
||||
4 files changed, 7 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
|
||||
index 60f88a79..1ccda8f3 100644
|
||||
--- a/websocketpp/transport/asio/connection.hpp
|
||||
+++ b/websocketpp/transport/asio/connection.hpp
|
||||
@@ -311,9 +311,10 @@ class connection : public config::socket_type::socket_con_type {
|
||||
* needed.
|
||||
*/
|
||||
timer_ptr set_timer(long duration, timer_handler callback) {
|
||||
- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
|
||||
- lib::ref(*m_io_service),
|
||||
- lib::asio::milliseconds(duration)
|
||||
+ timer_ptr new_timer(
|
||||
+ new lib::asio::steady_timer(
|
||||
+ *m_io_service,
|
||||
+ lib::asio::milliseconds(duration))
|
||||
);
|
||||
|
||||
if (config::enable_multithreading) {
|
||||
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
|
||||
index ddab2c74..4b719a97 100644
|
||||
--- a/websocketpp/transport/asio/endpoint.hpp
|
||||
+++ b/websocketpp/transport/asio/endpoint.hpp
|
||||
@@ -195,8 +195,7 @@ class endpoint : public config::socket_type {
|
||||
|
||||
m_io_service = ptr;
|
||||
m_external_io_service = true;
|
||||
- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
|
||||
- lib::ref(*m_io_service));
|
||||
+ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
|
||||
|
||||
m_state = READY;
|
||||
ec = lib::error_code();
|
||||
diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
|
||||
index 5c8293db..6c7d3524 100644
|
||||
--- a/websocketpp/transport/asio/security/none.hpp
|
||||
+++ b/websocketpp/transport/asio/security/none.hpp
|
||||
@@ -168,8 +168,7 @@ class connection : public lib::enable_shared_from_this<connection> {
|
||||
return socket::make_error_code(socket::error::invalid_state);
|
||||
}
|
||||
|
||||
- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
|
||||
- lib::ref(*service));
|
||||
+ m_socket.reset(new lib::asio::ip::tcp::socket(*service));
|
||||
|
||||
if (m_socket_init_handler) {
|
||||
m_socket_init_handler(m_hdl, *m_socket);
|
||||
diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
|
||||
index c76fd9aa..04ac3790 100644
|
||||
--- a/websocketpp/transport/asio/security/tls.hpp
|
||||
+++ b/websocketpp/transport/asio/security/tls.hpp
|
||||
@@ -193,8 +193,7 @@ class connection : public lib::enable_shared_from_this<connection> {
|
||||
if (!m_context) {
|
||||
return socket::make_error_code(socket::error::invalid_tls_context);
|
||||
}
|
||||
- m_socket = lib::make_shared<socket_type>(
|
||||
- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
|
||||
+ m_socket.reset(new socket_type(*service, *m_context));
|
||||
|
||||
if (m_socket_init_handler) {
|
||||
m_socket_init_handler(m_hdl, get_socket());
|
||||
|
||||
From f810ca2e800e9b55be41c5911cf1d1185fcd516b Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
|
||||
Date: Wed, 17 Apr 2019 10:06:18 +0000
|
||||
Subject: [PATCH 2/2] Fix missed entries; fix testing
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
websocketpp/transport/asio/connection.hpp | 3 +--
|
||||
websocketpp/transport/asio/endpoint.hpp | 7 ++-----
|
||||
3 files changed, 4 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2786aba9..951de975 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
|
||||
endif ()
|
||||
|
||||
if (NOT Boost_USE_STATIC_LIBS)
|
||||
- add_definitions (/DBOOST_TEST_DYN_LINK)
|
||||
+ add_definitions (-DBOOST_TEST_DYN_LINK)
|
||||
endif ()
|
||||
|
||||
set (Boost_FIND_REQUIRED TRUE)
|
||||
diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
|
||||
index 1ccda8f3..57dda74a 100644
|
||||
--- a/websocketpp/transport/asio/connection.hpp
|
||||
+++ b/websocketpp/transport/asio/connection.hpp
|
||||
@@ -462,8 +462,7 @@ class connection : public config::socket_type::socket_con_type {
|
||||
m_io_service = io_service;
|
||||
|
||||
if (config::enable_multithreading) {
|
||||
- m_strand = lib::make_shared<lib::asio::io_service::strand>(
|
||||
- lib::ref(*io_service));
|
||||
+ m_strand.reset(new lib::asio::io_service::strand(*io_service));
|
||||
}
|
||||
|
||||
lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
|
||||
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
|
||||
index 4b719a97..94509adb 100644
|
||||
--- a/websocketpp/transport/asio/endpoint.hpp
|
||||
+++ b/websocketpp/transport/asio/endpoint.hpp
|
||||
@@ -687,9 +687,7 @@ class endpoint : public config::socket_type {
|
||||
* @since 0.3.0
|
||||
*/
|
||||
void start_perpetual() {
|
||||
- m_work = lib::make_shared<lib::asio::io_service::work>(
|
||||
- lib::ref(*m_io_service)
|
||||
- );
|
||||
+ m_work.reset(new lib::asio::io_service::work(*m_io_service));
|
||||
}
|
||||
|
||||
/// Clears the endpoint's perpetual flag, allowing it to exit when empty
|
||||
@@ -853,8 +851,7 @@ class endpoint : public config::socket_type {
|
||||
|
||||
// Create a resolver
|
||||
if (!m_resolver) {
|
||||
- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
|
||||
- lib::ref(*m_io_service));
|
||||
+ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
|
||||
}
|
||||
|
||||
tcon->set_uri(u);
|
||||
@@ -0,0 +1,46 @@
|
||||
--- a/test/transport/CMakeLists.txt
|
||||
+++ b/test/transport/CMakeLists.txt
|
||||
@@ -1,24 +1,24 @@
|
||||
if (OPENSSL_FOUND)
|
||||
|
||||
-# Test transport integration
|
||||
-file (GLOB SOURCE integration.cpp)
|
||||
-
|
||||
-init_target (test_transport)
|
||||
-build_test (${TARGET_NAME} ${SOURCE})
|
||||
-link_boost ()
|
||||
-link_openssl()
|
||||
-final_target ()
|
||||
-set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
|
||||
-
|
||||
-# Test transport asio timers
|
||||
-file (GLOB SOURCE asio/timers.cpp)
|
||||
-
|
||||
-init_target (test_transport_asio_timers)
|
||||
-build_test (${TARGET_NAME} ${SOURCE})
|
||||
-link_boost ()
|
||||
-link_openssl()
|
||||
-final_target ()
|
||||
-set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
|
||||
+## Test transport integration
|
||||
+#file (GLOB SOURCE integration.cpp)
|
||||
+#
|
||||
+#init_target (test_transport)
|
||||
+#build_test (${TARGET_NAME} ${SOURCE})
|
||||
+#link_boost ()
|
||||
+#link_openssl()
|
||||
+#final_target ()
|
||||
+#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
|
||||
+#
|
||||
+## Test transport asio timers
|
||||
+#file (GLOB SOURCE asio/timers.cpp)
|
||||
+#
|
||||
+#init_target (test_transport_asio_timers)
|
||||
+#build_test (${TARGET_NAME} ${SOURCE})
|
||||
+#link_boost ()
|
||||
+#link_openssl()
|
||||
+#final_target ()
|
||||
+#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
|
||||
|
||||
# Test transport asio security
|
||||
file (GLOB SOURCE asio/security.cpp)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
@@ -19,10 +19,13 @@ RDEPEND="${DEPEND}
|
||||
boost? ( dev-libs/boost )
|
||||
"
|
||||
|
||||
# bug 630450
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-0.7.0-cmake-install.patch" )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.7.0-cmake-install.patch
|
||||
"${FILESDIR}"/${PN}-0.8.1-boost-1.70.patch
|
||||
# disable tests that are timing sensitive
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1461069
|
||||
"${FILESDIR}"/${PN}-0.8.1-disable-test_transport-test_transport_asio_timers.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
|
||||
Reference in New Issue
Block a user