From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:47441) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1icCT4-000371-MF for guix-patches@gnu.org; Tue, 03 Dec 2019 13:00:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1icCSz-00051Q-51 for guix-patches@gnu.org; Tue, 03 Dec 2019 13:00:08 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:35051) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1icCSy-0004zF-Cm for guix-patches@gnu.org; Tue, 03 Dec 2019 13:00:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1icCSw-0002CU-A6 for guix-patches@gnu.org; Tue, 03 Dec 2019 13:00:02 -0500 Subject: [bug#38475] [PATCH 1/2] gnu: websocketpp: Add patch for Boost >= 1.70. Resent-Message-ID: From: Guillaume Le Vaillant Date: Tue, 3 Dec 2019 18:58:19 +0100 Message-Id: <20191203175820.18356-1-glv@posteo.net> In-Reply-To: <87blsp9u46.fsf@yamatai> References: <87blsp9u46.fsf@yamatai> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38475@debbugs.gnu.org Cc: Guillaume Le Vaillant * 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. --- gnu/local.mk | 1 + .../websocketpp-fix-for-boost-1.70.patch | 100 ++++++++++++++++++ gnu/packages/web.scm | 6 +- 3 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch diff --git a/gnu/local.mk b/gnu/local.mk index e2d922373e..c3a48b43e3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1442,6 +1442,7 @@ dist_patch_DATA = \ %D%/packages/patches/wavpack-CVE-2018-7253.patch \ %D%/packages/patches/wavpack-CVE-2018-7254.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ + %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \ 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..4f5f99fad4 --- /dev/null +++ b/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch @@ -0,0 +1,100 @@ +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::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::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::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::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::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::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( +- _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 e5f0639b8f..f2e8345b51 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1073,7 +1073,11 @@ other systems that want to manipulate WebAssembly files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy")))) + (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy")) + (patches + ;; This patch for Boost >= 1.70 was made by merging two patches that + ;; are in the 'develop' branch (c769c92 and f810ca2). + (search-patches "websocketpp-fix-for-boost-1.70.patch")))) (build-system cmake-build-system) (inputs `(("boost" ,boost) ("openssl" ,openssl))) -- 2.24.0