diff options
author | David Seifert <soap@gentoo.org> | 2019-08-11 20:09:56 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2019-08-11 20:09:56 +0200 |
commit | 2b01e7caec293f9e124749610ebe13b51ebeed96 (patch) | |
tree | f40d0606ce73b6c28fb1b95c522c909ae038e619 /dev-cpp/websocketpp | |
parent | xfce-base/libxfce4util: Bump to 4.14.0 (no changes) (diff) | |
download | gentoo-2b01e7caec293f9e124749610ebe13b51ebeed96.tar.gz gentoo-2b01e7caec293f9e124749610ebe13b51ebeed96.tar.bz2 gentoo-2b01e7caec293f9e124749610ebe13b51ebeed96.zip |
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>
Diffstat (limited to 'dev-cpp/websocketpp')
3 files changed, 193 insertions, 5 deletions
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch new file mode 100644 index 000000000000..40ae155307d2 --- /dev/null +++ b/dev-cpp/websocketpp/files/websocketpp-0.8.1-boost-1.70.patch @@ -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); diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch new file mode 100644 index 000000000000..8d6c93fcec30 --- /dev/null +++ b/dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch @@ -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) diff --git a/dev-cpp/websocketpp/websocketpp-0.8.1.ebuild b/dev-cpp/websocketpp/websocketpp-0.8.1.ebuild index 6bf27e854c14..7a4b182f57c1 100644 --- a/dev-cpp/websocketpp/websocketpp-0.8.1.ebuild +++ b/dev-cpp/websocketpp/websocketpp-0.8.1.ebuild @@ -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=( |