diff options
author | Guillaume Le Vaillant <glv@posteo.net> | 2019-12-03 18:58:19 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-12-09 18:32:04 +0100 |
commit | 4427417bd74c369162aff3ca51b37bc6313a6438 (patch) | |
tree | beb5f7dd9d8c67f1ff60d5619e2ddfd9bf0f0050 /gnu/packages | |
parent | 054ff198e446ae7b0a0dd183caf69368b8b9f580 (diff) | |
download | guix-patches-4427417bd74c369162aff3ca51b37bc6313a6438.tar guix-patches-4427417bd74c369162aff3ca51b37bc6313a6438.tar.gz |
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>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch | 103 | ||||
-rw-r--r-- | gnu/packages/web.scm | 3 |
2 files changed, 105 insertions, 1 deletions
diff --git a/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch b/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch new file mode 100644 index 0000000000..ece414a1cb --- /dev/null +++ b/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch @@ -0,0 +1,103 @@ +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) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4c96422432..1fbd3dcb7a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1073,7 +1073,8 @@ other systems that want to manipulate WebAssembly files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy")))) + (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy")) + (patches (search-patches "websocketpp-fix-for-boost-1.70.patch")))) (build-system cmake-build-system) (inputs `(("boost" ,boost) ("openssl" ,openssl))) |