diff --git a/srcpkgs/rstudio/patches/0005-boost-1.70.patch b/srcpkgs/rstudio/patches/0005-boost-1.70.patch index bc97306825..62582d3df4 100644 --- a/srcpkgs/rstudio/patches/0005-boost-1.70.patch +++ b/srcpkgs/rstudio/patches/0005-boost-1.70.patch @@ -1,8 +1,51 @@ -https://github.com/zaphoyd/websocketpp/issues/794 +From 33c2c42d40ad97d97ca3907df51059cd2ce76fe3 Mon Sep 17 00:00:00 2001 +From: Kevin Ushey +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 -@@ -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 new_timer = lib::make_shared( @@ -11,52 +54,52 @@ https://github.com/zaphoyd/websocketpp/issues/794 boost::posix_time::milliseconds(duration) ); -@@ -423,7 +423,7 @@ class connection : public config::socket_type::socket_ - - if (config::enable_multithreading) { - m_strand = lib::make_shared( -- 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 +diff --git a/src/cpp/ext/websocketpp/transport/asio/endpoint.hpp b/src/cpp/ext/websocketpp/transport/asio/endpoint.hpp +index ef3b07db46..b418060a85 100644 +--- 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_external_io_service = true; - m_acceptor = lib::make_shared( +- m_acceptor = lib::make_shared( - lib::ref(*m_io_service)); -+ *m_io_service); ++ m_acceptor = lib::make_shared(*m_io_service); m_state = READY; 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() { - m_work = lib::make_shared( +- m_work = lib::make_shared( - lib::ref(*m_io_service) -+ *m_io_service - ); +- ); ++ m_work = lib::make_shared(*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 if (!m_resolver) { - m_resolver = lib::make_shared( +- m_resolver = lib::make_shared( - lib::ref(*m_io_service)); -+ *m_io_service); ++ m_resolver = lib::make_shared(*m_io_service); } 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 -@@ -167,7 +167,7 @@ class connection : public lib::enable_shared_from_this +@@ -166,8 +166,7 @@ class connection : public lib::enable_shared_from_this { + return socket::make_error_code(socket::error::invalid_state); } - m_socket = lib::make_shared( +- m_socket = lib::make_shared( - lib::ref(*service)); -+ *service); ++ m_socket = lib::make_shared(*service); m_state = READY; diff --git a/srcpkgs/rstudio/template b/srcpkgs/rstudio/template index d99509d2ec..e643eb37f8 100644 --- a/srcpkgs/rstudio/template +++ b/srcpkgs/rstudio/template @@ -7,7 +7,7 @@ configure_args="-DRSTUDIO_TARGET=Desktop -DRSTUDIO_BOOST_SIGNALS_VERSION=2 -DQT_QMAKE_EXECUTABLE=/usr/lib/qt5/bin/qmake -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 boost-devel pango-devel hunspell-devel qt5-devel qt5-webkit-devel qt5-declarative-devel qt5-location-devel qt5-sensors-devel qt5-svg-devel