guix/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch
Guillaume Le Vaillant 4427417bd7
gnu: websocketpp: Add patch for Boost >= 1.70.
* gnu/packages/patches/websocket-fix-for-boost-1.70.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/web.scm (websocketpp): Use it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-12-09 18:32:04 +01:00

103 lines
3.6 KiB
Diff

This patch for Boost >= 1.70 was made by merging two patches that
are in the 'develop' branch (c769c92 and f810ca2).
diff -u b/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
--- b/websocketpp/transport/asio/connection.hpp
+++ b/websocketpp/transport/asio/connection.hpp
@@ -311,9 +311,10 @@
* 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) {
@@ -461,8 +462,7 @@
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 -u b/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
--- b/websocketpp/transport/asio/endpoint.hpp
+++ b/websocketpp/transport/asio/endpoint.hpp
@@ -195,8 +195,7 @@
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();
@@ -688,9 +687,7 @@
* @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
@@ -854,8 +851,7 @@
// 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);
unchanged:
--- a/websocketpp/transport/asio/security/none.hpp
+++ b/websocketpp/transport/asio/security/none.hpp
@@ -168,8 +168,7 @@ protected:
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);
unchanged:
--- a/websocketpp/transport/asio/security/tls.hpp
+++ b/websocketpp/transport/asio/security/tls.hpp
@@ -193,8 +193,7 @@ protected:
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());
only in patch2:
unchanged:
--- 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)