+ return Error(error_code(value, system_category()), cause, location);
}
- Error systemError(int value,
---- rstudio-1.1.143/src/cpp/core/Error.cpp.orig 2017-04-12 00:42:14.000000000 +0200
-+++ rstudio-1.1.143/src/cpp/core/Error.cpp 2019-04-30 18:50:13.489560404 +0200
-@@ -165,7 +165,7 @@
- Error systemError(int value, const ErrorLocation& location)
- {
- using namespace boost::system ;
-- return Error(error_code(value, get_system_category()), location);
-+ return Error(error_code(value, system_category()), location);
- }
-
- Error systemError(int value,
-@@ -173,7 +173,7 @@
- const ErrorLocation& location)
- {
- using namespace boost::system ;
-- return Error(error_code(value, get_system_category()), cause, location);
-+ return Error(error_code(value, system_category()), cause, location);
- }
-
Error systemError(int value,
--- rstudio-1.1.143/src/cpp/core/FilePath.cpp.orig 2017-04-12 00:42:14.000000000 +0200
+++ rstudio-1.1.143/src/cpp/core/FilePath.cpp 2019-04-30 19:08:36.191306900 +0200
}
void setIsPrimitive(bool isPrimitive)
---- rstudio-1.1.143/src/cpp/monitor/include/monitor/MonitorClient.hpp.orig 2017-04-12 00:42:14.000000000 +0200
-+++ rstudio-1.1.143/src/cpp/monitor/include/monitor/MonitorClient.hpp 2019-04-30 21:37:56.483122815 +0200
-@@ -27,14 +27,6 @@
-
- #include "MonitorConstants.hpp"
-
--// forward declaration; boost/asio/io_service may cause errors if included more
--// than once (Boost 1.50 on Win x64 only)
--namespace RSTUDIO_BOOST_NAMESPACE {
--namespace asio {
-- class io_service;
--}
--}
--
- namespace rstudio {
- namespace monitor {
-
--- rstudio-1.1.143/src/cpp/r/include/r/session/RConsoleHistory.hpp.orig 2017-04-12 00:42:14.000000000 +0200
+++ rstudio-1.1.143/src/cpp/r/include/r/session/RConsoleHistory.hpp 2019-04-30 21:38:32.871700755 +0200
@@ -20,7 +20,7 @@
#include <boost/regex.hpp>
-#include <boost/signals.hpp>
-+#include <boost/signals2/signals.hpp>
++#include <boost/signals2/signal.hpp>
#include <boost/circular_buffer.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/foreach.hpp>
-#include <boost/signals.hpp>
-+#include <boost/signals/signal.hpp>
++#include <boost/signals2/signal.hpp>
#include <core/FileInfo.hpp>
#include <core/FilePath.hpp>
std::vector<std::string> monitorSubscribers_;
- boost::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
- boost::signal<void(const std::vector<core::system::FileChangeEvent>&)>
-+ boost::signals::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
-+ boost::signals::signal<void(const std::vector<core::system::FileChangeEvent>&)>
++ boost::signals2::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_;
++ boost::signals2::signal<void(const std::vector<core::system::FileChangeEvent>&)>
onFilesChanged_;
- boost::signal<void()> onMonitoringDisabled_;
-+ boost::signals::signal<void()> onMonitoringDisabled_;
++ boost::signals2::signal<void()> onMonitoringDisabled_;
};
ProjectContext& projectContext();
{
// Document {0}, chunk {1} from context id {3} execution completed
- boost::signal<void(const std::string&, const std::string&,
-+ boost::signals::signal<void(const std::string&, const std::string&,
++ boost::signals2::signal<void(const std::string&, const std::string&,
const std::string&)>
onChunkExecCompleted;
// Document {0}, chunk {1} had console output of type {2} and text {3}
- boost::signal<void(const std::string&, const std::string&, int,
-+ boost::signals::signal<void(const std::string&, const std::string&, int,
++ boost::signals2::signal<void(const std::string&, const std::string&, int,
const std::string&)>
onChunkConsoleOutput;
- boost::signal<void(const core::FilePath&, const core::FilePath&,
-+ boost::signals::signal<void(const core::FilePath&, const core::FilePath&,
++ boost::signals2::signal<void(const core::FilePath&, const core::FilePath&,
const core::json::Value& metadata, unsigned ordinal)>
onPlotOutput;
- boost::signal<void(const core::FilePath&, const core::FilePath&,
-+ boost::signals::signal<void(const core::FilePath&, const core::FilePath&,
++ boost::signals2::signal<void(const core::FilePath&, const core::FilePath&,
const core::json::Value& metadata)> onHtmlOutput;
- boost::signal<void(const core::json::Object&)> onErrorOutput;
- boost::signal<void(const core::FilePath&, const core::FilePath&,
-+ boost::signals::signal<void(const core::json::Object&)> onErrorOutput;
-+ boost::signals::signal<void(const core::FilePath&, const core::FilePath&,
++ boost::signals2::signal<void(const core::json::Object&)> onErrorOutput;
++ boost::signals2::signal<void(const core::FilePath&, const core::FilePath&,
const core::json::Value& metadata)> onDataOutput;
- boost::signal<void(Condition condition, const std::string& message)>
-+ boost::signals::signal<void(Condition condition, const std::string& message)>
++ boost::signals2::signal<void(Condition condition, const std::string& message)>
onCondition;
};
--- rstudio-1.1.143/src/cpp/session/SessionModuleContext.cpp.orig 2017-04-12 00:42:14.000000000 +0200
+++ rstudio-1.1.143/src/cpp/session/SessionModuleContext.cpp 2019-05-01 08:21:14.344989539 +0200
-@@ -19,7 +19,7 @@
+@@ -19,7 +19,8 @@
#include <boost/assert.hpp>
#include <boost/utility.hpp>
-#include <boost/signal.hpp>
-+#include <boost/signals/signal.hpp>
++#include <boost/signals2/last_value.hpp>
++#include <boost/signals2/signal.hpp>
#include <boost/format.hpp>
#include <boost/numeric/conversion/cast.hpp>
-@@ -571,12 +571,12 @@
+@@ -571,13 +572,13 @@
int nextGroup_;
- boost::signal<void(const r::session::RSuspendOptions&,Settings*),
+- boost::last_value<void>,
+ boost::signals2::signal<void(const r::session::RSuspendOptions&,Settings*),
- boost::last_value<void>,
++ boost::signals2::last_value<void>,
int,
std::less<int> > suspendSignal_;
- boost::signal<void(const Settings&),
+- boost::last_value<void>,
+ boost::signals2::signal<void(const Settings&),
- boost::last_value<void>,
++ boost::signals2::last_value<void>,
int,
std::greater<int> > resumeSignal_;
+ };
+--- rstudio-1.1.143/src/cpp/session/SessionMain.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/SessionMain.cpp 2019-05-07 17:10:57.302926193 +0200
+@@ -33,7 +33,6 @@
+ #include <boost/lexical_cast.hpp>
+ #include <boost/format.hpp>
+
+-#include <boost/signals.hpp>
+ #include <boost/date_time/posix_time/posix_time.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/join.hpp>
+--- rstudio-1.1.143/src/cpp/session/modules/SessionRParser.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/SessionRParser.cpp 2019-05-07 18:07:34.070800364 +0200
+@@ -390,7 +390,7 @@
+ if (!failed)
+ {
+ DEBUG("--- Found function in pkgInfo index: " << *fnInfo.binding());
+- return fnInfo.performsNse();
++ return bool(fnInfo.performsNse());
+ }
+
+ // Handle some special cases first.
+--- rstudio-1.1.143/src/cpp/session/modules/build/SessionSourceCpp.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/build/SessionSourceCpp.cpp 2019-05-07 18:13:46.346942192 +0200
+@@ -15,7 +15,6 @@
+
+ #include "SessionSourceCpp.hpp"
+
+-#include <boost/signal.hpp>
+ #include <boost/algorithm/string/trim.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/join.hpp>
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2019-05-07 18:25:48.121369223 +0200
+@@ -18,7 +18,7 @@
+ #define SESSION_NOTEBOOK_PLOTS_HPP
+
+ #include <boost/function.hpp>
+-#include <boost/signals/connection.hpp>
++#include <boost/signals2/connection.hpp>
+ #include <core/FilePath.hpp>
+ #include <r/RSexp.hpp>
+
+@@ -80,9 +80,9 @@
+
+ unsigned lastOrdinal_;
+
+- boost::signals::connection onBeforeNewPlot_;
+- boost::signals::connection onBeforeNewGridPage_;
+- boost::signals::connection onNewPlot_;
++ boost::signals2::connection onBeforeNewPlot_;
++ boost::signals2::connection onBeforeNewGridPage_;
++ boost::signals2::connection onNewPlot_;
+
+ double width_;
+ double height_;
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.hpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2019-05-07 18:26:45.201022069 +0200
+@@ -18,7 +18,7 @@
+
+ #include <session/SessionModuleContext.hpp>
+
+-#include <boost/signal.hpp>
++#include <boost/signals2/signal.hpp>
+
+ #include <core/json/Json.hpp>
+
+@@ -99,7 +99,7 @@
+ bool hasErrors_;
+
+ std::vector<boost::shared_ptr<NotebookCapture> > captures_;
+- std::vector<boost::signals::connection> connections_;
++ std::vector<boost::signals2::connection> connections_;
+ };
+
+ } // namespace notebook
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2019-05-07 18:28:01.345005619 +0200
+@@ -142,7 +142,7 @@
+ LOG_ERROR(error);
+
+ // capture console output, error
+- boost::signals::scoped_connection consoleHandler =
++ boost::signals2::scoped_connection consoleHandler =
+ module_context::events().onConsoleOutput.connect(
+ boost::bind(chunkConsoleOutputHandler,
+ _1,
+@@ -219,7 +219,7 @@
+ LOG_ERROR(error);
+
+ // capture console output, error
+- boost::signals::scoped_connection consoleHandler =
++ boost::signals2::scoped_connection consoleHandler =
+ module_context::events().onConsoleOutput.connect(
+ boost::bind(chunkConsoleOutputHandler,
+ _1,
+@@ -363,7 +363,7 @@
+ LOG_ERROR(error);
+
+ // capture console output, error
+- boost::signals::scoped_connection consoleHandler =
++ boost::signals2::scoped_connection consoleHandler =
+ module_context::events().onConsoleOutput.connect(
+ boost::bind(chunkConsoleOutputHandler,
+ _1,
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2019-05-07 18:31:49.423604450 +0200
+@@ -13,6 +13,8 @@
+ *
+ */
+
++#include <boost/make_shared.hpp>
++
+ #include "SessionRmdNotebook.hpp"
+ #include "NotebookCapture.hpp"
+
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2019-05-07 18:41:06.369408303 +0200
+@@ -441,7 +441,7 @@
+ }
+
+ // unhook all our event handlers
+- BOOST_FOREACH(const boost::signals::connection connection, connections_)
++ BOOST_FOREACH(const boost::signals2::connection connection, connections_)
+ {
+ connection.disconnect();
+ }
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2019-05-07 18:52:17.788159856 +0200
+@@ -20,7 +20,6 @@
+
+ #include <boost/format.hpp>
+ #include <boost/foreach.hpp>
+-#include <boost/signals/connection.hpp>
+
+ #include <core/system/FileMonitor.hpp>
+ #include <core/StringUtils.hpp>
+--- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2019-05-07 18:53:26.498462556 +0200
+@@ -87,7 +87,7 @@
+ pInput_->enque(kThreadQuitCommand);
+
+ // unregister handlers
+- BOOST_FOREACH(boost::signals::connection connection, handlers_)
++ BOOST_FOREACH(boost::signals2::connection connection, handlers_)
+ {
+ connection.disconnect();
+ }
+@@ -638,7 +638,7 @@
+ boost::shared_ptr<ChunkExecContext> execContext_;
+
+ // registered signal handlers
+- std::vector<boost::signals::connection> handlers_;
++ std::vector<boost::signals2::connection> handlers_;
+
+ // the thread which submits console input, and the queue which feeds it
+ boost::thread console_;
+--- rstudio-1.1.143/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp.orig 2017-04-12 00:42:14.000000000 +0200
++++ rstudio-1.1.143/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp 2019-05-07 19:04:36.460299876 +0200
+@@ -77,7 +77,7 @@
+ if (permittedClients_.size() > 0)
+ {
+ // get socket
+- int socket = ptrConnection->socket().native();
++ int socket = ptrConnection->socket().native_handle();
+
+ // get client identity
+ core::system::user::UserIdentity userIdentity;
Summary(pl.UTF-8): IDE dla R
Name: rstudio
Version: 1.1.143
-Release: 1
-License: AGPLv3
-Group: Applications
-Source0: https://github.com/rstudio/rstudio/archive/v%{version}.tar.gz?/%{name}-%{version}.tar.gz
+Release: 2
+License: AGPL v3
+Group: Development/Tools
+Source0: https://github.com/rstudio/rstudio/archive/v%{version}/%{name}-%{version}.tar.gz
# Source0-md5: ae531eed17e70a6d4f2d8560696b466e
Source1: https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip
# Source1-md5: 0e03798b8e53096c4a906bde05e32378
Patch0: %{name}-includes.patch
Patch1: %{name}-openssl.patch
Patch2: %{name}-boost.patch
+Patch3: websocketpp-boost.patch
URL: http://rstudio.org/
-BuildRequires: Qt5WebKit-devel
-BuildRequires: Qt5XmlPatterns-devel
+BuildRequires: Qt5Core-devel >= 5.4.0
+BuildRequires: Qt5DBus-devel >= 5.4.0
+BuildRequires: Qt5Gui-devel >= 5.4.0
+BuildRequires: Qt5Network-devel >= 5.4.0
+BuildRequires: Qt5OpenGL-devel >= 5.4.0
+BuildRequires: Qt5Positioning-devel >= 5.4.0
+BuildRequires: Qt5PrintSupport-devel >= 5.4.0
+BuildRequires: Qt5Qml-devel >= 5.4.0
+BuildRequires: Qt5Quick-devel >= 5.4.0
+BuildRequires: Qt5Sensors-devel >= 5.4.0
+BuildRequires: Qt5Sql-devel >= 5.4.0
+BuildRequires: Qt5Svg-devel >= 5.4.0
+BuildRequires: Qt5WebKit-devel >= 5.4.0
+BuildRequires: Qt5Widgets-devel >= 5.4.0
+BuildRequires: Qt5Xml-devel >= 5.4.0
+BuildRequires: Qt5XmlPatterns-devel >= 5.4.0
BuildRequires: R >= 2.11.1
-BuildRequires: boost-devel >= 1.50
+BuildRequires: boost-devel >= 1.63.0
BuildRequires: clang-devel >= 3.5.0
-BuildRequires: cmake >= 2.8.0
+BuildRequires: cmake >= 2.8.8
BuildRequires: java-junit
+BuildRequires: jdk
+BuildRequires: libstdc++-devel
+BuildRequires: libuuid-devel
BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: pandoc
-BuildRequires: pango-devel
+BuildRequires: qt5-build >= 5.4.0
+BuildRequires: zlib-devel
+Requires: Qt5WebKit >= 5.4.0
+Requires: Qt5Widgets >= 5.4.0
Requires: R >= 2.11.1
Requires: pandoc
Requires: clang >= 3.5.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-RStudio(tm) is a free and open source integrated development
-environment (IDE) for R. You can run it on your desktop (Windows, Mac,
-or Linux) or even over the web using RStudio Server.
+RStudio is a free and open source integrated development environment
+(IDE) for R. You can run it on your desktop (Windows, Mac, or Linux)
+or even over the web using RStudio Server.
+
+%description -l pl.UTF-8
+RStudio to wolnodostępne, mające otwarte źródła zintegrowane
+środowisko programistyczne (IDE) dla języka R. Można je uruchamiać na
+własnym komputerze (w systemie Windows, Mac lub Linux), a także przez
+sieć przy użyciu serwera RStudio.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
+cd src/cpp/ext
+%patch3 -p1
+cd ../../..
+
mkdir -p dependencies/common/dictionaries
unzip -qq %{SOURCE1} -d dependencies/common/dictionaries
mkdir -p src/gwt/lib/gwt
%build
install -d build
cd build
-%cmake \
- -DQT_QMAKE_EXECUTABLE=/usr/bin/qt5-qmake \
- -DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS:-%{rpmcxxflags} -DNDEBUG -DQT_NO_DEBUG}" \
- -DCMAKE_C_FLAGS_RELEASE="${CFLAGS:-%{rpmcflags} -DNDEBUG -DQT_NO_DEBUG}" \
- -DRSTUDIO_TARGET=Desktop \
+%cmake .. \
-DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS_RELEASE="${CFLAGS:-%{rpmcflags} -DNDEBUG -DQT_NO_DEBUG}" \
+ -DCMAKE_CXX_FLAGS_RELEASE="${CXXFLAGS:-%{rpmcxxflags} -DNDEBUG -DQT_NO_DEBUG}" \
-DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \
- ../
+ -DQT_QMAKE_EXECUTABLE=/usr/bin/qt5-qmake \
+ -DRSTUDIO_TARGET=Desktop
%{__make}
%files
%defattr(644,root,root,755)
-%doc COPYING NOTICE README.md
-%attr(755,root,root) %{_bindir}/*
+%doc COPYING NEWS.md NOTICE README.md
+%attr(755,root,root) %{_bindir}/rstudio
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/R
%dir %{_libdir}/%{name}/bin
%{_libdir}/%{name}/www-symbolmaps
%{_libdir}/%{name}/rstudio.png
%{_desktopdir}/rstudio.desktop
-%{_iconsdir}/hicolor/*x*/apps/*
-%{_iconsdir}/hicolor/*x*/mimetypes/*
-%{_datadir}/mime/packages/*.xml
+%{_iconsdir}/hicolor/*x*/apps/rstudio.png*
+%{_iconsdir}/hicolor/*x*/mimetypes/application-x-r-data.png
+%{_iconsdir}/hicolor/*x*/mimetypes/application-x-r-project.png
+%{_datadir}/mime/packages/rstudio.xml
%{_pixmapsdir}/rstudio.png
--- /dev/null
+Backported from:
+
+From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
+Date: Tue, 16 Apr 2019 08:38:01 +0200
+Subject: [PATCH] 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<boost::asio::deadline_timer>(
+- lib::ref(*m_io_service),
+- boost::posix_time::milliseconds(duration)
++ timer_ptr new_timer(
++ new boost::asio::deadline_timer(
++ *m_io_service,
++ boost::posix_time::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<boost::asio::ip::tcp::acceptor>(
+- lib::ref(*m_io_service));
++ m_acceptor.reset(new boost::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<boost::asio::ip::tcp::socket>(
+- lib::ref(*service));
++ m_socket.reset(new boost::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());