Index: head/devel/RStudio/files/patch-boost-1.69 =================================================================== --- head/devel/RStudio/files/patch-boost-1.69 (revision 483875) +++ head/devel/RStudio/files/patch-boost-1.69 (revision 483876) @@ -1,744 +1,892 @@ https://github.com/rstudio/rstudio/commit/a60f97073561f638a9c986aef8d58f5cc4cdc6d6 +https://github.com/rstudio/rstudio/commit/48da00661644c5b17897ffebaf975f7b64c52164 +https://github.com/rstudio/rstudio/commit/667db539c925fa25176fe2b5cc0cab105a2eb071 --- src/cpp/CMakeLists.txt.orig 2018-05-31 21:11:21 UTC +++ src/cpp/CMakeLists.txt -@@ -180,7 +180,6 @@ list(APPEND BOOST_LIBS - program_options - random - regex -- signals - system - thread - ) -@@ -234,6 +233,18 @@ else() - message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}: ${BOOST_ROOT}") +@@ -157,17 +157,14 @@ if(APPLE OR WIN32 OR RSTUDIO_PACKAGE_BUILD) endif() + # default Boost versions +-if (WIN32) +- set(BOOST_VERSION 1.65.1) +-else() +- set(BOOST_VERSION 1.63.0) ++if(NOT RSTUDIO_BOOST_REQUESTED_VERSION) ++ if (WIN32) ++ set(RSTUDIO_BOOST_REQUESTED_VERSION 1.65.1) ++ else() ++ set(RSTUDIO_BOOST_REQUESTED_VERSION 1.63.0) ++ endif() + endif() + +-# override if necessary +-if (RSTUDIO_BOOST_VERSION) +- set(BOOST_VERSION "${RSTUDIO_BOOST_VERSION}") +-endif() +- + # disable Boost Signals deprecation warning + add_definitions(-DBOOST_SIGNALS_NO_DEPRECATION_WARNING) + +@@ -195,21 +192,27 @@ if(UNIX) + # find headers + set(Boost_USE_STATIC_LIBS ON) + set(BOOST_INCLUDEDIR ${RSTUDIO_TOOLS_BOOST}/include) +- find_package(Boost ${BOOST_VERSION} REQUIRED) ++ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED) ++ if(NOT Boost_VERSION LESS 106900) ++ list(REMOVE_ITEM BOOST_LIBS signals) ++ endif() + + # define library list manually (find_package doesn't always pick them up) + set(BOOST_LIB_DIR ${RSTUDIO_TOOLS_BOOST}/lib) + foreach(BOOST_LIB ${BOOST_LIBS}) + list(APPEND Boost_LIBRARIES ${BOOST_LIB_DIR}/libboost_${BOOST_LIB}.a) + endforeach() +- message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}") ++ message(STATUS "Using RStudio-provided Boost ${RSTUDIO_BOOST_REQUESTED_VERSION}") + else() + add_definitions(-DRSTUDIO_BOOST_NAMESPACE=boost) +- find_package(Boost ${BOOST_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS}) +- message(STATUS "Using system Boost ${BOOST_VERSION}") ++ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED) ++ if(NOT Boost_VERSION LESS 106900) ++ list(REMOVE_ITEM BOOST_LIBS signals) ++ endif() ++ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS}) + endif() + +- # WIN32 BOOST ++# WIN32 BOOST + else() + # hard-code to our own prebuilt boost libs + add_definitions(-DRSTUDIO_BOOST_NAMESPACE=rstudio_boost) +@@ -226,14 +229,26 @@ else() + set(BOOST_ROOT "${RSTUDIO_WINDOWS_DEPENDENCIES_DIR}/boost-1.65.1-win-msvc14-debug-static/boost${BOOST_ARCH}") + endif() + set(BOOST_INCLUDEDIR "${BOOST_ROOT}/include/boost-1_65_1") +- find_package(Boost ${BOOST_VERSION} REQUIRED) ++ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED) + set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib") + foreach(BOOST_LIB ${BOOST_LIBS}) + list(APPEND Boost_LIBRARIES "${BOOST_LIBRARYDIR}/librstudio_boost_${BOOST_LIB}-${BOOST_SUFFIX}") + endforeach() +- message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}: ${BOOST_ROOT}") ++ message(STATUS "Using RStudio-provided Boost ${RSTUDIO_BOOST_REQUESTED_VERSION}: ${BOOST_ROOT}") + endif() + +# allow opt-in to using Boost.Signals2 +# TODO: remove this in RStudio v1.3 and port to signals2 +if(NOT RSTUDIO_BOOST_SIGNALS_VERSION) -+ if (Boost_VERSION VERSION_LESS 1.69.0) ++ if (Boost_VERSION LESS 106900) + set(RSTUDIO_BOOST_SIGNALS_VERSION 1) + else() + set(RSTUDIO_BOOST_SIGNALS_VERSION 2) + endif() +endif() + +message(STATUS "Using Boost.Signals version ${RSTUDIO_BOOST_SIGNALS_VERSION}") +add_definitions(-DRSTUDIO_BOOST_SIGNALS_VERSION=${RSTUDIO_BOOST_SIGNALS_VERSION}) # add boost as system include directory include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) --- src/cpp/core/include/core/BoostSignals.hpp.orig 2018-11-02 10:50:59 UTC +++ src/cpp/core/include/core/BoostSignals.hpp @@ -0,0 +1,40 @@ +/* + * BoostSignals.hpp + * + * Copyright (C) 2009-18 by RStudio, Inc. + * + * Unless you have received this program directly from RStudio pursuant + * to the terms of a commercial license agreement with RStudio, then + * this program is licensed to you under the terms of version 3 of the + * GNU Affero General Public License. This program is distributed WITHOUT + * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the + * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. + * + */ + +#ifndef CORE_RSTUDIO_BOOST_SIGNALS_HPP +#define CORE_RSTUDIO_BOOST_SIGNALS_HPP + +#if RSTUDIO_BOOST_SIGNALS_VERSION == 1 + +# include +# define RSTUDIO_BOOST_SIGNAL boost::signal +# define RSTUDIO_BOOST_CONNECTION boost::signals::connection +# define RSTUDIO_BOOST_SCOPED_CONNECTION boost::signals::scoped_connection +# define RSTUDIO_BOOST_LAST_VALUE boost::last_value + +#elif RSTUDIO_BOOST_SIGNALS_VERSION == 2 + +# include +# define RSTUDIO_BOOST_SIGNAL boost::signals2::signal +# define RSTUDIO_BOOST_CONNECTION boost::signals2::connection +# define RSTUDIO_BOOST_SCOPED_CONNECTION boost::signals2::scoped_connection +# define RSTUDIO_BOOST_LAST_VALUE boost::signals2::last_value + +#else +# error "Unrecognized RSTUDIO_BOOST_SIGNALS_VERSION" +#endif + +#endif // CORE_RSTUDIO_BOOST_SIGNALS_HPP + --- src/cpp/core/include/core/r_util/RFunctionInformation.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/core/include/core/r_util/RFunctionInformation.hpp @@ -75,9 +75,9 @@ class FormalInformation (public) const std::string& name() const { return name_; } const boost::optional& defaultValue() const { return defaultValue_; } boost::tribool hasDefault() const { return hasDefault_; } - bool isUsed() const { return isUsed_; } -+ bool isUsed() const { return bool{isUsed_}; } ++ bool isUsed() const { return bool(isUsed_); } void setIsUsed(bool value) { isUsed_ = value; } - bool isMissingnessHandled() const { return isMissingnessHandled_; } -+ bool isMissingnessHandled() const { return bool{isMissingnessHandled_}; } ++ bool isMissingnessHandled() const { return bool(isMissingnessHandled_); } void setMissingnessHandled(bool value) { isMissingnessHandled_ = value; } private: @@ -130,7 +130,7 @@ class FunctionInformation (public) bool isPrimitive() { - return isPrimitive_ == true; -+ return bool{isPrimitive_}; ++ return bool(isPrimitive_); } void setIsPrimitive(bool isPrimitive) --- src/cpp/r/include/r/session/RConsoleHistory.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/r/include/r/session/RConsoleHistory.hpp @@ -20,8 +20,8 @@ #include #include -#include +#include #include namespace rstudio { @@ -44,7 +44,7 @@ class ConsoleHistory : boost::noncopyable public: typedef boost::circular_buffer::value_type value_type; typedef boost::circular_buffer::const_iterator const_iterator; - typedef boost::signal AddSignal; + typedef RSTUDIO_BOOST_SIGNAL AddSignal; private: ConsoleHistory(); @@ -86,8 +86,7 @@ class ConsoleHistory : boost::noncopyable core::Error loadFromFile(const core::FilePath& filePath, bool verifyFile); core::Error saveToFile(const core::FilePath& filePath) const; - boost::signals::connection connectOnAdd( - const AddSignal::slot_function_type& slot) + RSTUDIO_BOOST_CONNECTION connectOnAdd(const AddSignal::slot_function_type& slot) { return onAdd_.connect(slot); } --- src/cpp/r/include/r/session/RGraphics.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/r/include/r/session/RGraphics.hpp @@ -19,6 +19,8 @@ #include #include +#include + namespace rstudio { namespace r { namespace session { @@ -56,8 +58,8 @@ struct is_error_code_enum #include -#include +#include #include #include @@ -162,7 +164,7 @@ class Display (public) virtual void clear() = 0; // subscribe to showManipulator event - virtual boost::signal& onShowManipulator() = 0; + virtual RSTUDIO_BOOST_SIGNAL& onShowManipulator() = 0; // set manipulator values virtual void setPlotManipulatorValues(const core::json::Object& values) = 0; --- src/cpp/r/session/graphics/RGraphicsPlotManager.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/r/session/graphics/RGraphicsPlotManager.cpp @@ -540,7 +540,7 @@ void PlotManager::clear() -boost::signal& PlotManager::onShowManipulator() +RSTUDIO_BOOST_SIGNAL& PlotManager::onShowManipulator() { return plotManipulatorManager().onShowManipulator(); } --- src/cpp/r/session/graphics/RGraphicsPlotManager.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/r/session/graphics/RGraphicsPlotManager.hpp @@ -22,10 +22,10 @@ #include #include #include -#include #include #include +#include #include #include @@ -45,10 +45,10 @@ PlotManager& plotManager(); struct GraphicsDeviceEvents { - boost::signal onNewPage; - boost::signal onDrawing; - boost::signal onResized; - boost::signal onClosed; + RSTUDIO_BOOST_SIGNAL onNewPage; + RSTUDIO_BOOST_SIGNAL onDrawing; + RSTUDIO_BOOST_SIGNAL onResized; + RSTUDIO_BOOST_SIGNAL onClosed; }; class PlotManipulatorManager; @@ -110,7 +110,7 @@ class PlotManager : boost::noncopyable, public r::sess virtual void clear(); - virtual boost::signal& onShowManipulator() ; + virtual RSTUDIO_BOOST_SIGNAL& onShowManipulator() ; virtual void setPlotManipulatorValues(const core::json::Object& values); virtual void manipulatorPlotClicked(int x, int y); --- src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp @@ -184,7 +184,7 @@ Error PlotManipulatorManager::initialize( } -boost::signal& PlotManipulatorManager::onShowManipulator() +RSTUDIO_BOOST_SIGNAL& PlotManipulatorManager::onShowManipulator() { return onShowManipulator_; } --- src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp @@ -16,8 +16,7 @@ #ifndef R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP #define R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP -#include - +#include #include #include @@ -53,7 +52,7 @@ class PlotManipulatorManager : boost::noncopyable (pub public: core::Error initialize(const UnitConversionFunctions& convert); - boost::signal& onShowManipulator() ; + RSTUDIO_BOOST_SIGNAL& onShowManipulator() ; void setPlotManipulatorValues(const core::json::Object& values); void manipulatorPlotClicked(int x, int y); @@ -85,7 +84,7 @@ class PlotManipulatorManager : boost::noncopyable (pub bool replayingManipulator_; // manipulator event hook - boost::signal onShowManipulator_; + RSTUDIO_BOOST_SIGNAL onShowManipulator_; // unit conversion function UnitConversionFunctions convert_; --- src/cpp/server/include/server/ServerSessionManager.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/server/include/server/ServerSessionManager.hpp @@ -20,9 +20,9 @@ #include #include -#include #include +#include #include #include #include --- src/cpp/session/SessionMain.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/SessionMain.cpp @@ -33,12 +33,12 @@ #include #include -#include #include #include #include #include +#include #include #include #include --- src/cpp/session/SessionModuleContext.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/SessionModuleContext.cpp @@ -19,10 +19,10 @@ #include #include -#include #include #include +#include #include #include #include @@ -652,13 +652,13 @@ class SuspendHandlers : boost::noncopyable (private) int nextGroup_; - boost::signal, + RSTUDIO_BOOST_SIGNAL, int, std::less > suspendSignal_; - boost::signal, + RSTUDIO_BOOST_SIGNAL, int, std::greater > resumeSignal_; }; --- src/cpp/session/include/session/SessionConsoleProcess.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/include/session/SessionConsoleProcess.hpp @@ -20,10 +20,10 @@ #include #include -#include #include #include +#include #include #include @@ -146,7 +146,7 @@ class ConsoleProcess : boost::noncopyable, (public) void setPromptHandler( const boost::function& onPrompt); - boost::signal& onExit() { return onExit_; } + RSTUDIO_BOOST_SIGNAL& onExit() { return onExit_; } std::string handle() const { return procInfo_->getHandle(); } InteractionMode interactionMode() const { return procInfo_->getInteractionMode(); } @@ -264,7 +264,7 @@ class ConsoleProcess : boost::noncopyable, (public) boost::mutex inputOutputQueueMutex_; boost::function onPrompt_; - boost::signal onExit_; + RSTUDIO_BOOST_SIGNAL onExit_; // regex for prompt detection boost::regex controlCharsPattern_; --- src/cpp/session/include/session/SessionModuleContext.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/include/session/SessionModuleContext.hpp @@ -21,9 +21,9 @@ #include #include -#include #include +#include #include #include #include @@ -318,35 +318,35 @@ struct firstNonEmpty // session events struct Events : boost::noncopyable { - boost::signal onSessionInfo; - boost::signal onClientInit; - boost::signal onBeforeExecute; - boost::signal onConsolePrompt; - boost::signal onConsoleInput; - boost::signal + RSTUDIO_BOOST_SIGNAL onSessionInfo; + RSTUDIO_BOOST_SIGNAL onClientInit; + RSTUDIO_BOOST_SIGNAL onBeforeExecute; + RSTUDIO_BOOST_SIGNAL onConsolePrompt; + RSTUDIO_BOOST_SIGNAL onConsoleInput; + RSTUDIO_BOOST_SIGNAL onActiveConsoleChanged; - boost::signal + RSTUDIO_BOOST_SIGNAL onConsoleOutput; - boost::signal onUserInterrupt; - boost::signal onDetectChanges; - boost::signal onSourceEditorFileSaved; - boost::signal onDeferredInit; - boost::signal afterSessionInitHook; - boost::signal onBackgroundProcessing; - boost::signal onShutdown; - boost::signal onQuit; - boost::signal onDestroyed; - boost::signal&)> + RSTUDIO_BOOST_SIGNAL onUserInterrupt; + RSTUDIO_BOOST_SIGNAL onDetectChanges; + RSTUDIO_BOOST_SIGNAL onSourceEditorFileSaved; + RSTUDIO_BOOST_SIGNAL onDeferredInit; + RSTUDIO_BOOST_SIGNAL afterSessionInitHook; + RSTUDIO_BOOST_SIGNAL onBackgroundProcessing; + RSTUDIO_BOOST_SIGNAL onShutdown; + RSTUDIO_BOOST_SIGNAL onQuit; + RSTUDIO_BOOST_SIGNAL onDestroyed; + RSTUDIO_BOOST_SIGNAL&)> onLibPathsChanged; - boost::signal onPackageLoaded; - boost::signal onPackageLibraryMutated; - boost::signal onPreferencesSaved; - boost::signal + RSTUDIO_BOOST_SIGNAL onPackageLoaded; + RSTUDIO_BOOST_SIGNAL onPackageLibraryMutated; + RSTUDIO_BOOST_SIGNAL onPreferencesSaved; + RSTUDIO_BOOST_SIGNAL onDistributedEvent; - boost::signal onPermissionsChanged; + RSTUDIO_BOOST_SIGNAL onPermissionsChanged; // signal for detecting extended type of documents - boost::signal), + RSTUDIO_BOOST_SIGNAL), firstNonEmpty > onDetectSourceExtendedType; }; --- src/cpp/session/include/session/SessionSourceDatabase.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/include/session/SessionSourceDatabase.hpp @@ -21,8 +21,8 @@ #include #include -#include +#include #include #include @@ -212,14 +212,14 @@ core::Error rename(const core::FilePath& from, const c // source database events struct Events : boost::noncopyable { - boost::signal)> onDocUpdated; - boost::signal)> onDocUpdated; + RSTUDIO_BOOST_SIGNAL)> onDocRenamed; - boost::signal onDocAdded; - boost::signal onDocAdded; + RSTUDIO_BOOST_SIGNAL)> onDocPendingRemove; - boost::signal onDocRemoved; - boost::signal onRemoveAll; + RSTUDIO_BOOST_SIGNAL onDocRemoved; + RSTUDIO_BOOST_SIGNAL onRemoveAll; }; Events& events(); --- src/cpp/session/include/session/SessionUserSettings.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/include/session/SessionUserSettings.hpp @@ -20,8 +20,8 @@ #include #include -#include +#include #include #include #include @@ -62,7 +62,7 @@ class UserSettings : boost::noncopyable (private) friend UserSettings& userSettings(); public: - boost::signal onChanged; + RSTUDIO_BOOST_SIGNAL onChanged; public: // COPYING: boost::noncopyable --- src/cpp/session/include/session/projects/SessionProjects.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/include/session/projects/SessionProjects.hpp @@ -22,8 +22,8 @@ #include #include #include -#include +#include #include #include #include @@ -220,10 +220,10 @@ class ProjectContext : boost::noncopyable (private) bool hasFileMonitor_; std::vector monitorSubscribers_; - boost::signal&)> onMonitoringEnabled_; - boost::signal&)> + RSTUDIO_BOOST_SIGNAL&)> onMonitoringEnabled_; + RSTUDIO_BOOST_SIGNAL&)> onFilesChanged_; - boost::signal onMonitoringDisabled_; + RSTUDIO_BOOST_SIGNAL onMonitoringDisabled_; }; ProjectContext& projectContext(); --- src/cpp/session/modules/SessionPlots.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/SessionPlots.hpp @@ -16,7 +16,7 @@ #ifndef SESSION_PLOTS_HPP #define SESSION_PLOTS_HPP -#include +#include namespace rstudio { namespace core { @@ -35,9 +35,9 @@ core::Error initialize(); struct Events : boost::noncopyable { - boost::signal onBeforeNewPlot; - boost::signal onBeforeNewGridPage; - boost::signal onNewPlot; + RSTUDIO_BOOST_SIGNAL onBeforeNewPlot; + RSTUDIO_BOOST_SIGNAL onBeforeNewGridPage; + RSTUDIO_BOOST_SIGNAL onNewPlot; }; Events& events(); --- src/cpp/session/modules/SessionRParser.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/SessionRParser.cpp @@ -408,7 +408,7 @@ bool mightPerformNonstandardEvaluation(const RTokenCur if (!failed) { DEBUG("--- Found function in pkgInfo index: " << *fnInfo.binding()); - return fnInfo.performsNse(); -+ return bool{fnInfo.performsNse()}; ++ return bool(fnInfo.performsNse()); } // Handle some special cases first. --- src/cpp/session/modules/SessionWorkbench.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/SessionWorkbench.cpp @@ -715,7 +715,7 @@ Error adaptToLanguage(const json::JsonRpcRequest& requ // we screen out consecutive transition attempts (otherwise we can // get multiple interleaved attempts to launch the REPL with console // input) - static boost::signals::connection conn; + static RSTUDIO_BOOST_CONNECTION conn; if (conn.connected()) return Success(); --- src/cpp/session/modules/build/SessionSourceCpp.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/build/SessionSourceCpp.cpp @@ -15,11 +15,11 @@ #include "SessionSourceCpp.hpp" -#include #include #include #include +#include #include #include #include --- src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp @@ -165,7 +165,7 @@ Error executeRcppEngineChunk(const std::string& docId, LOG_ERROR(error); // capture console output, error - boost::signals::scoped_connection consoleHandler = + RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler = module_context::events().onConsoleOutput.connect( boost::bind(chunkConsoleOutputHandler, _1, @@ -242,7 +242,7 @@ Error executeStanEngineChunk(const std::string& docId, LOG_ERROR(error); // capture console output, error - boost::signals::scoped_connection consoleHandler = + RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler = module_context::events().onConsoleOutput.connect( boost::bind(chunkConsoleOutputHandler, _1, @@ -386,7 +386,7 @@ Error executeSqlEngineChunk(const std::string& docId, LOG_ERROR(error); // capture console output, error - boost::signals::scoped_connection consoleHandler = + RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler = module_context::events().onConsoleOutput.connect( boost::bind(chunkConsoleOutputHandler, _1, @@ -591,7 +591,7 @@ Error runUserDefinedEngine(const std::string& docId, } }; - boost::signals::scoped_connection handler = + RSTUDIO_BOOST_SCOPED_CONNECTION handler = module_context::events().onConsoleOutput.connect(consoleHandler); // run the user-defined engine --- src/cpp/session/modules/rmarkdown/NotebookCapture.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookCapture.cpp @@ -16,6 +16,8 @@ #include "SessionRmdNotebook.hpp" #include "NotebookCapture.hpp" +#include + namespace rstudio { namespace session { namespace modules { --- src/cpp/session/modules/rmarkdown/NotebookExec.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookExec.cpp @@ -458,7 +458,7 @@ void ChunkExecContext::disconnect() } // unhook all our event handlers - BOOST_FOREACH(const boost::signals::connection connection, connections_) + BOOST_FOREACH(const RSTUDIO_BOOST_CONNECTION connection, connections_) { connection.disconnect(); } --- src/cpp/session/modules/rmarkdown/NotebookExec.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookExec.hpp @@ -18,8 +18,7 @@ #include -#include - +#include #include #include @@ -103,7 +102,7 @@ class ChunkExecContext : public NotebookCapture (priva bool hasErrors_; std::vector > captures_; - std::vector connections_; + std::vector connections_; }; } // namespace notebook --- src/cpp/session/modules/rmarkdown/NotebookPlots.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookPlots.cpp @@ -20,11 +20,12 @@ #include #include -#include -#include -#include +#include #include +#include + +#include #include --- src/cpp/session/modules/rmarkdown/NotebookPlots.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookPlots.hpp @@ -18,8 +18,10 @@ #define SESSION_NOTEBOOK_PLOTS_HPP #include -#include + +#include #include + #include #include "NotebookCapture.hpp" @@ -80,9 +82,9 @@ class PlotCapture : public NotebookCapture (private) unsigned lastOrdinal_; - boost::signals::connection onBeforeNewPlot_; - boost::signals::connection onBeforeNewGridPage_; - boost::signals::connection onNewPlot_; + RSTUDIO_BOOST_CONNECTION onBeforeNewPlot_; + RSTUDIO_BOOST_CONNECTION onBeforeNewGridPage_; + RSTUDIO_BOOST_CONNECTION onNewPlot_; double width_; double height_; --- src/cpp/session/modules/rmarkdown/NotebookQueue.cpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/NotebookQueue.cpp @@ -87,7 +87,7 @@ class NotebookQueue : boost::noncopyable (public) pInput_->enque(kThreadQuitCommand); // unregister handlers - BOOST_FOREACH(boost::signals::connection connection, handlers_) + BOOST_FOREACH(RSTUDIO_BOOST_CONNECTION connection, handlers_) { connection.disconnect(); } @@ -652,7 +652,7 @@ class NotebookQueue : boost::noncopyable (public) boost::shared_ptr execContext_; // registered signal handlers - std::vector handlers_; + std::vector handlers_; // the thread which submits console input, and the queue which feeds it boost::thread console_; --- src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp.orig 2018-05-31 21:11:21 UTC +++ src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp @@ -18,7 +18,8 @@ #define SESSION_RMARKDOWN_NOTEBOOK_HPP #include -#include + +#include #include #define kChunkLibDir "lib" @@ -76,24 +77,24 @@ std::string notebookCtxId(); struct Events : boost::noncopyable { // Document {0}, chunk {1} from context id {3} execution completed - boost::signal onChunkExecCompleted; // Document {0}, chunk {1} had console output of type {2} and text {3} - boost::signal onChunkConsoleOutput; - boost::signal onPlotOutput; - boost::signal onHtmlOutput; - boost::signal onErrorOutput; - boost::signal onErrorOutput; + RSTUDIO_BOOST_SIGNAL onDataOutput; - boost::signal + RSTUDIO_BOOST_SIGNAL onCondition; }; +--- src/tools/clang-ubsan-build.orig 2018-05-31 21:11:21 UTC ++++ src/tools/clang-ubsan-build +@@ -10,19 +10,19 @@ + + : ${RSTUDIO_USE_LIBCXX="Yes"} + : ${RSTUDIO_USE_SYSTEM_BOOST="Yes"} +-: ${RSTUDIO_BOOST_VERSION="1.56.0"} ++: ${RSTUDIO_BOOST_REQUESTED_VERSION="1.56.0"} + + mkdir -p "${BUILD_DIR}" + cd "${BUILD_DIR}" +-cmake ../cpp \ +- -DLIBR_HOME="${R_HOME}" \ +- -DCMAKE_C_COMPILER="${CC}" \ +- -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ +- -DCMAKE_CXX_COMPILER="${CXX}" \ +- -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ +- -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ +- -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ +- -DRSTUDIO_BOOST_VERSION="${RSTUDIO_BOOST_VERSION}" \ ++cmake ../cpp \ ++ -DLIBR_HOME="${R_HOME}" \ ++ -DCMAKE_C_COMPILER="${CC}" \ ++ -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ ++ -DCMAKE_CXX_COMPILER="${CXX}" \ ++ -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ ++ -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ ++ -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ ++ -DRSTUDIO_BOOST_REQUESTED_VERSION="${RSTUDIO_BOOST_REQUESTED_VERSION}" \ + "$@" + cd .. + +--- src/tools/gcc-ubsan-build.orig 2018-05-31 21:11:21 UTC ++++ src/tools/gcc-ubsan-build +@@ -19,19 +19,19 @@ DEFAULT_ASANFLAGS="$(echo ${DEFAULT_ASANFLAGS} | tr '\ + # NOTE: Boost 1.50.0 not compatible with gcc-6 + : ${RSTUDIO_USE_LIBCXX="No"} + : ${RSTUDIO_USE_SYSTEM_BOOST="Yes"} +-: ${RSTUDIO_BOOST_VERSION="1.54.0"} ++: ${RSTUDIO_BOOST_REQUESTED_VERSION="1.54.0"} + + mkdir -p "${BUILD_DIR}" + cd "${BUILD_DIR}" +-cmake ../cpp \ +- -DLIBR_HOME="${R_HOME}" \ +- -DCMAKE_C_COMPILER="${CC}" \ +- -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ +- -DCMAKE_CXX_COMPILER="${CXX}" \ +- -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ +- -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ +- -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ +- -DRSTUDIO_BOOST_VERSION="${RSTUDIO_BOOST_VERSION}" \ ++cmake ../cpp \ ++ -DLIBR_HOME="${R_HOME}" \ ++ -DCMAKE_C_COMPILER="${CC}" \ ++ -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ ++ -DCMAKE_CXX_COMPILER="${CXX}" \ ++ -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ ++ -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ ++ -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ ++ -DRSTUDIO_BOOST_REQUESTED_VERSION="${RSTUDIO_BOOST_REQUESTED_VERSION}" \ + "$@" + cd .. + +--- src/tools/xcode-ubsan-build.orig 2018-05-31 21:11:21 UTC ++++ src/tools/xcode-ubsan-build +@@ -15,13 +15,13 @@ + # sanitizers released with newer versions of clang) + mkdir -p "${BUILD_DIR}" + cd "${BUILD_DIR}" +-cmake ../cpp -GXcode \ +- -DLIBR_HOME="${R_HOME}" \ +- -DLIBR_INCLUDE_DIRS="${R_INCL}" \ +- -DLIBR_DOC_DIR="${R_DOCS}" \ +- -DRSTUDIO_USE_LIBCXX="Yes" \ +- -DRSTUDIO_USE_SYSTEM_BOOST="Yes" \ +- -DRSTUDIO_BOOST_VERSION="1.56.0" \ ++cmake ../cpp -GXcode \ ++ -DLIBR_HOME="${R_HOME}" \ ++ -DLIBR_INCLUDE_DIRS="${R_INCL}" \ ++ -DLIBR_DOC_DIR="${R_DOCS}" \ ++ -DRSTUDIO_USE_LIBCXX="Yes" \ ++ -DRSTUDIO_USE_SYSTEM_BOOST="Yes" \ ++ -DRSTUDIO_BOOST_REQUESTED_VERSION="1.56.0" \ + "$@" + cmake ../cpp -DLIBR_LIBRARIES="${R_LIBS}/libR.dylib" + cd ..