rstudio: fix boost 1.70 patch

This commit is contained in:
John 2020-01-09 16:53:01 +01:00
parent 3300dcd7b3
commit 2f75f49faa
2 changed files with 71 additions and 28 deletions

View file

@ -1,8 +1,51 @@
https://github.com/zaphoyd/websocketpp/issues/794 From 33c2c42d40ad97d97ca3907df51059cd2ce76fe3 Mon Sep 17 00:00:00 2001
From: Kevin Ushey <kevinushey@gmail.com>
Date: Tue, 3 Sep 2019 13:23:23 -0700
Subject: [PATCH] first pass at Boost 1.70 support
--- src/cpp/ext/websocketpp/transport/asio/connection.hpp.orig 2019-03-05 23:41:04 UTC ---
src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp | 6 ++++--
src/cpp/ext/websocketpp/transport/asio/connection.hpp | 2 +-
src/cpp/ext/websocketpp/transport/asio/endpoint.hpp | 10 +++-------
.../ext/websocketpp/transport/asio/security/none.hpp | 3 +--
4 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp b/src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp
index 14e4114e15..334afb9790 100644
--- src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp
+++ src/cpp/core/include/core/http/TcpIpAsyncConnector.hpp
@@ -55,7 +55,8 @@ class TcpIpAsyncConnector :
public:
TcpIpAsyncConnector(boost::asio::io_service& ioService,
boost::asio::ip::tcp::socket* pSocket)
- : pSocket_(pSocket),
+ : service_(ioService),
+ pSocket_(pSocket),
resolver_(ioService),
isConnected_(false),
hasFailed_(false)
@@ -78,7 +79,7 @@ class TcpIpAsyncConnector :
{
// start a timer that will cancel any outstanding asynchronous operations
// when it elapses if the connection operation has not succeeded
- pConnectionTimer_.reset(new boost::asio::deadline_timer(resolver_.get_io_service(), timeout));
+ pConnectionTimer_.reset(new boost::asio::deadline_timer(service_, timeout));
pConnectionTimer_->async_wait(boost::bind(&TcpIpAsyncConnector::onConnectionTimeout,
TcpIpAsyncConnector::shared_from_this(),
boost::asio::placeholders::error));
@@ -233,6 +234,7 @@ class TcpIpAsyncConnector :
}
private:
+ boost::asio::io_service& service_;
boost::asio::ip::tcp::socket* pSocket_;
boost::asio::ip::tcp::resolver resolver_;
ConnectedHandler connectedHandler_;
diff --git a/src/cpp/ext/websocketpp/transport/asio/connection.hpp b/src/cpp/ext/websocketpp/transport/asio/connection.hpp
index 395632c3f3..ef35d295ac 100644
--- src/cpp/ext/websocketpp/transport/asio/connection.hpp
+++ src/cpp/ext/websocketpp/transport/asio/connection.hpp +++ src/cpp/ext/websocketpp/transport/asio/connection.hpp
@@ -296,7 +296,7 @@ class connection : public config::socket_type::socket_ @@ -296,7 +296,7 @@ class connection : public config::socket_type::socket_con_type {
*/ */
timer_ptr set_timer(long duration, timer_handler callback) { timer_ptr set_timer(long duration, timer_handler callback) {
timer_ptr new_timer = lib::make_shared<boost::asio::deadline_timer>( timer_ptr new_timer = lib::make_shared<boost::asio::deadline_timer>(
@ -11,52 +54,52 @@ https://github.com/zaphoyd/websocketpp/issues/794
boost::posix_time::milliseconds(duration) boost::posix_time::milliseconds(duration)
); );
@@ -423,7 +423,7 @@ class connection : public config::socket_type::socket_ diff --git a/src/cpp/ext/websocketpp/transport/asio/endpoint.hpp b/src/cpp/ext/websocketpp/transport/asio/endpoint.hpp
index ef3b07db46..b418060a85 100644
if (config::enable_multithreading) { --- src/cpp/ext/websocketpp/transport/asio/endpoint.hpp
m_strand = lib::make_shared<boost::asio::io_service::strand>(
- lib::ref(*io_service));
+ *io_service);
m_async_read_handler = m_strand->wrap(lib::bind(
&type::handle_async_read, get_shared(),lib::placeholders::_1,
--- src/cpp/ext/websocketpp/transport/asio/endpoint.hpp.orig 2019-03-05 23:41:04 UTC
+++ src/cpp/ext/websocketpp/transport/asio/endpoint.hpp +++ src/cpp/ext/websocketpp/transport/asio/endpoint.hpp
@@ -184,7 +184,7 @@ class endpoint : public config::socket_type { (public) @@ -183,8 +183,7 @@ class endpoint : public config::socket_type {
m_io_service = ptr; m_io_service = ptr;
m_external_io_service = true; m_external_io_service = true;
m_acceptor = lib::make_shared<boost::asio::ip::tcp::acceptor>( - m_acceptor = lib::make_shared<boost::asio::ip::tcp::acceptor>(
- lib::ref(*m_io_service)); - lib::ref(*m_io_service));
+ *m_io_service); + m_acceptor = lib::make_shared<boost::asio::ip::tcp::acceptor>(*m_io_service);
m_state = READY; m_state = READY;
ec = lib::error_code(); ec = lib::error_code();
@@ -610,7 +610,7 @@ class endpoint : public config::socket_type { (public) @@ -609,9 +608,7 @@ class endpoint : public config::socket_type {
* @since 0.3.0
*/ */
void start_perpetual() { void start_perpetual() {
m_work = lib::make_shared<boost::asio::io_service::work>( - m_work = lib::make_shared<boost::asio::io_service::work>(
- lib::ref(*m_io_service) - lib::ref(*m_io_service)
+ *m_io_service - );
); + m_work = lib::make_shared<boost::asio::io_service::work>(*m_io_service);
} }
@@ -776,7 +776,7 @@ class endpoint : public config::socket_type { (public) /// Clears the endpoint's perpetual flag, allowing it to exit when empty
@@ -775,8 +772,7 @@ class endpoint : public config::socket_type {
// Create a resolver // Create a resolver
if (!m_resolver) { if (!m_resolver) {
m_resolver = lib::make_shared<boost::asio::ip::tcp::resolver>( - m_resolver = lib::make_shared<boost::asio::ip::tcp::resolver>(
- lib::ref(*m_io_service)); - lib::ref(*m_io_service));
+ *m_io_service); + m_resolver = lib::make_shared<boost::asio::ip::tcp::resolver>(*m_io_service);
} }
std::string proxy = tcon->get_proxy(); std::string proxy = tcon->get_proxy();
--- src/cpp/ext/websocketpp/transport/asio/security/none.hpp.orig 2019-03-05 23:41:04 UTC diff --git a/src/cpp/ext/websocketpp/transport/asio/security/none.hpp b/src/cpp/ext/websocketpp/transport/asio/security/none.hpp
index 14b6f8b5f7..5876c981ce 100644
--- src/cpp/ext/websocketpp/transport/asio/security/none.hpp
+++ src/cpp/ext/websocketpp/transport/asio/security/none.hpp +++ src/cpp/ext/websocketpp/transport/asio/security/none.hpp
@@ -167,7 +167,7 @@ class connection : public lib::enable_shared_from_this @@ -166,8 +166,7 @@ class connection : public lib::enable_shared_from_this<connection> {
return socket::make_error_code(socket::error::invalid_state);
} }
m_socket = lib::make_shared<boost::asio::ip::tcp::socket>( - m_socket = lib::make_shared<boost::asio::ip::tcp::socket>(
- lib::ref(*service)); - lib::ref(*service));
+ *service); + m_socket = lib::make_shared<boost::asio::ip::tcp::socket>(*service);
m_state = READY; m_state = READY;

View file

@ -7,7 +7,7 @@ configure_args="-DRSTUDIO_TARGET=Desktop
-DRSTUDIO_BOOST_SIGNALS_VERSION=2 -DRSTUDIO_BOOST_SIGNALS_VERSION=2
-DQT_QMAKE_EXECUTABLE=/usr/lib/qt5/bin/qmake -DQT_QMAKE_EXECUTABLE=/usr/lib/qt5/bin/qmake
-DCMAKE_INSTALL_PREFIX=/usr/lib/rstudio" -DCMAKE_INSTALL_PREFIX=/usr/lib/rstudio"
hostmakedepends="unzip pandoc openjdk apache-ant qt5-qmake R mathjax" hostmakedepends="unzip pandoc openjdk apache-ant qt5-qmake R mathjax which"
makedepends="zlib-devel libuuid-devel libressl-devel pam-devel makedepends="zlib-devel libuuid-devel libressl-devel pam-devel
boost-devel pango-devel hunspell-devel qt5-devel qt5-webkit-devel boost-devel pango-devel hunspell-devel qt5-devel qt5-webkit-devel
qt5-declarative-devel qt5-location-devel qt5-sensors-devel qt5-svg-devel qt5-declarative-devel qt5-location-devel qt5-sensors-devel qt5-svg-devel