From c2a3d4a901ecd148eaf575a0d62b5b99b2ec23e1f6bfe7016bcc7e09ef8edb92 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Thu, 9 May 2019 17:53:50 +0000 Subject: [PATCH] Accepting request 701832 from home:wolfi323:branches:devel:libraries:c_c++ - Add Replace-make_shared-with-new-in-some-cases.patch to fix incompatibilities with Boost 1.70.0 (boo#1134611) OBS-URL: https://build.opensuse.org/request/show/701832 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/websocketpp?expand=0&rev=18 --- ...e-make_shared-with-new-in-some-cases.patch | 104 ++++++++++++++++++ websocketpp.changes | 6 + websocketpp.spec | 3 + 3 files changed, 113 insertions(+) create mode 100644 Replace-make_shared-with-new-in-some-cases.patch diff --git a/Replace-make_shared-with-new-in-some-cases.patch b/Replace-make_shared-with-new-in-some-cases.patch new file mode 100644 index 0000000..21e6823 --- /dev/null +++ b/Replace-make_shared-with-new-in-some-cases.patch @@ -0,0 +1,104 @@ +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 60f88a79..57dda74a 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::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 @@ class connection : public config::socket_type::socket_con_type { + 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 --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp +index ddab2c74..94509adb 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::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 @@ class endpoint : public config::socket_type { + * @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 @@ class endpoint : public config::socket_type { + + // 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); +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 { + 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); +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 { + 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()); diff --git a/websocketpp.changes b/websocketpp.changes index 372f1a3..3a4cc76 100644 --- a/websocketpp.changes +++ b/websocketpp.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu May 9 16:54:52 UTC 2019 - Wolfgang Bauer + +- Add Replace-make_shared-with-new-in-some-cases.patch to fix + incompatibilities with Boost 1.70.0 (boo#1134611) + ------------------------------------------------------------------- Thu Mar 28 15:30:30 UTC 2019 - manuel diff --git a/websocketpp.spec b/websocketpp.spec index 12e1ee3..b6b7a3f 100644 --- a/websocketpp.spec +++ b/websocketpp.spec @@ -25,6 +25,8 @@ Group: Development/Libraries/C and C++ URL: http://www.zaphoyd.com/websocketpp Source0: https://github.com/zaphoyd/websocketpp/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: websocketpp.pc +# PATCH-FIX-UPSTREAM -- https://github.com/zaphoyd/websocketpp/pull/814 +Patch0: Replace-make_shared-with-new-in-some-cases.patch BuildRequires: cmake >= 2.6 BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -55,6 +57,7 @@ iostreams and one based on Boost Asio. %prep %setup -q +%patch0 -p1 %build %if 0%{?suse_version} >= 1310