diff options
Diffstat (limited to 'sci-mathematics/rstudio/files')
3 files changed, 860 insertions, 0 deletions
diff --git a/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch new file mode 100644 index 000000000000..aa3db25f3c01 --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch @@ -0,0 +1,680 @@ +--- /dev/null 2018-11-10 15:32:26.332997437 +1100 ++++ rstudio-1.1.463/src/cpp/core/include/core/BoostSignals.hpp 2018-11-17 21:24:35.285976284 +1100 +@@ -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 <boost/signals.hpp> ++# 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 <boost/signals2.hpp> ++# 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 ++ +--- rstudio-1.1.463-orig/src/cpp/CMakeLists.txt 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/CMakeLists.txt 2018-11-17 21:24:35.285976284 +1100 +@@ -208,6 +208,18 @@ + message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}") + 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) ++ set(RSTUDIO_BOOST_SIGNALS_VERSION 1) ++ else() ++ set(RSTUDIO_BOOST_SIGNALS_VERSION 2) ++ endif() ++endif() ++ ++message(STATUS "Using Booost.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}) +--- rstudio-1.1.463-orig/src/cpp/r/include/r/session/RConsoleHistory.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/r/include/r/session/RConsoleHistory.hpp 2018-11-17 21:24:35.285976284 +1100 +@@ -20,8 +20,8 @@ + + #include <boost/utility.hpp> + #include <boost/circular_buffer.hpp> +-#include <boost/signal.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/json/Json.hpp> + + namespace rstudio { +@@ -44,7 +44,7 @@ + public: + typedef boost::circular_buffer<std::string>::value_type value_type; + typedef boost::circular_buffer<std::string>::const_iterator const_iterator; +- typedef boost::signal<void (const std::string&)> AddSignal; ++ typedef RSTUDIO_BOOST_SIGNAL<void (const std::string&)> AddSignal; + + private: + ConsoleHistory(); +@@ -86,8 +86,7 @@ + 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); + } +--- rstudio-1.1.463-orig/src/cpp/r/include/r/session/RGraphics.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/r/include/r/session/RGraphics.hpp 2018-11-17 21:24:35.286976293 +1100 +@@ -19,6 +19,8 @@ + #include <boost/system/error_code.hpp> + #include <boost/date_time/posix_time/ptime.hpp> + ++#include <core/BoostSignals.hpp> ++ + namespace rstudio { + namespace r { + namespace session { +@@ -56,8 +58,8 @@ + #include <vector> + + #include <boost/function.hpp> +-#include <boost/signal.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/Error.hpp> + #include <core/json/Json.hpp> + +@@ -162,7 +164,7 @@ + virtual void clear() = 0; + + // subscribe to showManipulator event +- virtual boost::signal<void ()>& onShowManipulator() = 0; ++ virtual RSTUDIO_BOOST_SIGNAL<void ()>& onShowManipulator() = 0; + + // set manipulator values + virtual void setPlotManipulatorValues(const core::json::Object& values) = 0; +--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2018-11-17 21:24:35.286976293 +1100 +@@ -540,7 +540,7 @@ + + + +-boost::signal<void ()>& PlotManager::onShowManipulator() ++RSTUDIO_BOOST_SIGNAL<void ()>& PlotManager::onShowManipulator() + { + return plotManipulatorManager().onShowManipulator(); + } +--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2018-11-17 21:24:35.287976303 +1100 +@@ -22,10 +22,10 @@ + #include <boost/utility.hpp> + #include <boost/shared_ptr.hpp> + #include <boost/function.hpp> +-#include <boost/signal.hpp> + #include <boost/regex.hpp> + #include <boost/circular_buffer.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/Error.hpp> + #include <core/FilePath.hpp> + +@@ -45,10 +45,10 @@ + + struct GraphicsDeviceEvents + { +- boost::signal<void (SEXP)> onNewPage; +- boost::signal<void ()> onDrawing; +- boost::signal<void ()> onResized; +- boost::signal<void ()> onClosed; ++ RSTUDIO_BOOST_SIGNAL<void (SEXP)> onNewPage; ++ RSTUDIO_BOOST_SIGNAL<void ()> onDrawing; ++ RSTUDIO_BOOST_SIGNAL<void ()> onResized; ++ RSTUDIO_BOOST_SIGNAL<void ()> onClosed; + }; + + class PlotManipulatorManager; +@@ -110,7 +110,7 @@ + + virtual void clear(); + +- virtual boost::signal<void ()>& onShowManipulator() ; ++ virtual RSTUDIO_BOOST_SIGNAL<void ()>& onShowManipulator() ; + virtual void setPlotManipulatorValues(const core::json::Object& values); + virtual void manipulatorPlotClicked(int x, int y); + +--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp 2018-11-17 21:24:35.287976303 +1100 +@@ -184,7 +184,7 @@ + } + + +-boost::signal<void ()>& PlotManipulatorManager::onShowManipulator() ++RSTUDIO_BOOST_SIGNAL<void ()>& PlotManipulatorManager::onShowManipulator() + { + return onShowManipulator_; + } +--- rstudio-1.1.463-orig/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2018-11-17 21:24:35.287976303 +1100 +@@ -16,8 +16,7 @@ + #ifndef R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP + #define R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP + +-#include <boost/signal.hpp> +- ++#include <core/BoostSignals.hpp> + #include <core/Error.hpp> + #include <core/json/Json.hpp> + +@@ -53,7 +52,7 @@ + public: + core::Error initialize(const UnitConversionFunctions& convert); + +- boost::signal<void ()>& onShowManipulator() ; ++ RSTUDIO_BOOST_SIGNAL<void ()>& onShowManipulator() ; + void setPlotManipulatorValues(const core::json::Object& values); + void manipulatorPlotClicked(int x, int y); + +@@ -85,7 +84,7 @@ + bool replayingManipulator_; + + // manipulator event hook +- boost::signal<void ()> onShowManipulator_; ++ RSTUDIO_BOOST_SIGNAL<void ()> onShowManipulator_; + + // unit conversion function + UnitConversionFunctions convert_; +--- rstudio-1.1.463-orig/src/cpp/server/include/server/ServerSessionManager.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/server/include/server/ServerSessionManager.hpp 2018-11-17 21:27:05.255436316 +1100 +@@ -20,9 +20,9 @@ + #include <vector> + #include <map> + +-#include <boost/signals.hpp> + #include <boost/asio/io_service.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/Thread.hpp> + + #include <core/system/PosixSystem.hpp> +--- rstudio-1.1.463-orig/src/cpp/session/SessionMain.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/SessionMain.cpp 2018-11-17 21:24:35.288976313 +1100 +@@ -33,12 +33,12 @@ + #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> + + #include <core/Error.hpp> ++#include <core/BoostSignals.hpp> + #include <core/BoostThread.hpp> + #include <core/ConfigUtils.hpp> + #include <core/FilePath.hpp> +--- rstudio-1.1.463-orig/src/cpp/session/SessionModuleContext.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/SessionModuleContext.cpp 2018-11-17 21:24:35.289976322 +1100 +@@ -19,10 +19,10 @@ + + #include <boost/assert.hpp> + #include <boost/utility.hpp> +-#include <boost/signal.hpp> + #include <boost/format.hpp> + #include <boost/numeric/conversion/cast.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/BoostThread.hpp> + #include <core/Error.hpp> + #include <core/FilePath.hpp> +@@ -586,13 +586,13 @@ + + int nextGroup_; + +- boost::signal<void(const r::session::RSuspendOptions&,Settings*), +- boost::last_value<void>, ++ RSTUDIO_BOOST_SIGNAL<void(const r::session::RSuspendOptions&,Settings*), ++ RSTUDIO_BOOST_LAST_VALUE<void>, + int, + std::less<int> > suspendSignal_; + +- boost::signal<void(const Settings&), +- boost::last_value<void>, ++ RSTUDIO_BOOST_SIGNAL<void(const Settings&), ++ RSTUDIO_BOOST_LAST_VALUE<void>, + int, + std::greater<int> > resumeSignal_; + }; +--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionConsoleProcess.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/include/session/SessionConsoleProcess.hpp 2018-11-17 21:24:35.290976332 +1100 +@@ -20,10 +20,10 @@ + #include <deque> + + #include <boost/regex.hpp> +-#include <boost/signals.hpp> + #include <boost/circular_buffer.hpp> + #include <boost/enable_shared_from_this.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/system/Process.hpp> + #include <core/terminal/PrivateCommand.hpp> + +@@ -146,7 +146,7 @@ + void setPromptHandler( + const boost::function<bool(const std::string&, Input*)>& onPrompt); + +- boost::signal<void(int)>& onExit() { return onExit_; } ++ RSTUDIO_BOOST_SIGNAL<void(int)>& onExit() { return onExit_; } + + std::string handle() const { return procInfo_->getHandle(); } + InteractionMode interactionMode() const { return procInfo_->getInteractionMode(); } +@@ -264,7 +264,7 @@ + boost::mutex inputOutputQueueMutex_; + + boost::function<bool(const std::string&, Input*)> onPrompt_; +- boost::signal<void(int)> onExit_; ++ RSTUDIO_BOOST_SIGNAL<void(int)> onExit_; + + // regex for prompt detection + boost::regex controlCharsPattern_; +--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionModuleContext.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/include/session/SessionModuleContext.hpp 2018-11-17 21:28:25.019212857 +1100 +@@ -21,9 +21,9 @@ + + #include <boost/utility.hpp> + #include <boost/function.hpp> +-#include <boost/signals.hpp> + #include <boost/shared_ptr.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/HtmlUtils.hpp> + #include <core/system/System.hpp> + #include <core/system/ShellUtils.hpp> +@@ -315,35 +315,35 @@ + // session events + struct Events : boost::noncopyable + { +- boost::signal<void (core::json::Object*)> onSessionInfo; +- boost::signal<void ()> onClientInit; +- boost::signal<void ()> onBeforeExecute; +- boost::signal<void(const std::string&)> onConsolePrompt; +- boost::signal<void(const std::string&)> onConsoleInput; +- boost::signal<void(const std::string&, const std::string&)> ++ RSTUDIO_BOOST_SIGNAL<void (core::json::Object*)> onSessionInfo; ++ RSTUDIO_BOOST_SIGNAL<void ()> onClientInit; ++ RSTUDIO_BOOST_SIGNAL<void ()> onBeforeExecute; ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&)> onConsolePrompt; ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&)> onConsoleInput; ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&)> + onActiveConsoleChanged; +- boost::signal<void (ConsoleOutputType, const std::string&)> ++ RSTUDIO_BOOST_SIGNAL<void (ConsoleOutputType, const std::string&)> + onConsoleOutput; +- boost::signal<void()> onUserInterrupt; +- boost::signal<void (ChangeSource)> onDetectChanges; +- boost::signal<void (core::FilePath)> onSourceEditorFileSaved; +- boost::signal<void(bool)> onDeferredInit; +- boost::signal<void(bool)> afterSessionInitHook; +- boost::signal<void(bool)> onBackgroundProcessing; +- boost::signal<void(bool)> onShutdown; +- boost::signal<void ()> onQuit; +- boost::signal<void ()> onDestroyed; +- boost::signal<void (const std::vector<std::string>&)> ++ RSTUDIO_BOOST_SIGNAL<void()> onUserInterrupt; ++ RSTUDIO_BOOST_SIGNAL<void (ChangeSource)> onDetectChanges; ++ RSTUDIO_BOOST_SIGNAL<void (core::FilePath)> onSourceEditorFileSaved; ++ RSTUDIO_BOOST_SIGNAL<void(bool)> onDeferredInit; ++ RSTUDIO_BOOST_SIGNAL<void(bool)> afterSessionInitHook; ++ RSTUDIO_BOOST_SIGNAL<void(bool)> onBackgroundProcessing; ++ RSTUDIO_BOOST_SIGNAL<void(bool)> onShutdown; ++ RSTUDIO_BOOST_SIGNAL<void ()> onQuit; ++ RSTUDIO_BOOST_SIGNAL<void ()> onDestroyed; ++ RSTUDIO_BOOST_SIGNAL<void (const std::vector<std::string>&)> + onLibPathsChanged; +- boost::signal<void (const std::string&)> onPackageLoaded; +- boost::signal<void ()> onPackageLibraryMutated; +- boost::signal<void ()> onPreferencesSaved; +- boost::signal<void (const core::DistributedEvent&)> ++ RSTUDIO_BOOST_SIGNAL<void (const std::string&)> onPackageLoaded; ++ RSTUDIO_BOOST_SIGNAL<void ()> onPackageLibraryMutated; ++ RSTUDIO_BOOST_SIGNAL<void ()> onPreferencesSaved; ++ RSTUDIO_BOOST_SIGNAL<void (const core::DistributedEvent&)> + onDistributedEvent; +- boost::signal<void (core::FilePath)> onPermissionsChanged; ++ RSTUDIO_BOOST_SIGNAL<void (core::FilePath)> onPermissionsChanged; + + // signal for detecting extended type of documents +- boost::signal<std::string(boost::shared_ptr<source_database::SourceDocument>), ++ RSTUDIO_BOOST_SIGNAL<std::string(boost::shared_ptr<source_database::SourceDocument>), + firstNonEmpty<std::string> > onDetectSourceExtendedType; + }; + +--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionSourceDatabase.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/include/session/SessionSourceDatabase.hpp 2018-11-17 21:24:35.291976342 +1100 +@@ -21,8 +21,8 @@ + + #include <boost/utility.hpp> + #include <boost/shared_ptr.hpp> +-#include <boost/signals.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/FilePath.hpp> + #include <core/json/Json.hpp> + +@@ -204,14 +204,14 @@ + // source database events + struct Events : boost::noncopyable + { +- boost::signal<void(boost::shared_ptr<SourceDocument>)> onDocUpdated; +- boost::signal<void(const std::string&, ++ RSTUDIO_BOOST_SIGNAL<void(boost::shared_ptr<SourceDocument>)> onDocUpdated; ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, + boost::shared_ptr<SourceDocument>)> onDocRenamed; +- boost::signal<void(const std::string&)> onDocAdded; +- boost::signal<void( ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&)> onDocAdded; ++ RSTUDIO_BOOST_SIGNAL<void( + boost::shared_ptr<source_database::SourceDocument>)> onDocPendingRemove; +- boost::signal<void(const std::string&, const std::string&)> onDocRemoved; +- boost::signal<void()> onRemoveAll; ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&)> onDocRemoved; ++ RSTUDIO_BOOST_SIGNAL<void()> onRemoveAll; + }; + + Events& events(); +--- rstudio-1.1.463-orig/src/cpp/session/include/session/SessionUserSettings.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/include/session/SessionUserSettings.hpp 2018-11-17 21:24:35.291976342 +1100 +@@ -20,8 +20,8 @@ + + #include <boost/utility.hpp> + #include <boost/scoped_ptr.hpp> +-#include <boost/signal.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/Settings.hpp> + #include <core/FilePath.hpp> + #include <core/StringUtils.hpp> +@@ -62,7 +62,7 @@ + friend UserSettings& userSettings(); + + public: +- boost::signal<void()> onChanged; ++ RSTUDIO_BOOST_SIGNAL<void()> onChanged; + + public: + // COPYING: boost::noncopyable +--- rstudio-1.1.463-orig/src/cpp/session/include/session/projects/SessionProjects.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/include/session/projects/SessionProjects.hpp 2018-11-17 21:24:35.291976342 +1100 +@@ -22,8 +22,8 @@ + #include <boost/utility.hpp> + #include <boost/shared_ptr.hpp> + #include <boost/foreach.hpp> +-#include <boost/signals.hpp> + ++#include <core/BoostSignals.hpp> + #include <core/FileInfo.hpp> + #include <core/FilePath.hpp> + #include <core/Settings.hpp> +@@ -220,10 +220,10 @@ + + bool hasFileMonitor_; + std::vector<std::string> monitorSubscribers_; +- boost::signal<void(const tree<core::FileInfo>&)> onMonitoringEnabled_; +- boost::signal<void(const std::vector<core::system::FileChangeEvent>&)> ++ RSTUDIO_BOOST_SIGNAL<void(const tree<core::FileInfo>&)> onMonitoringEnabled_; ++ RSTUDIO_BOOST_SIGNAL<void(const std::vector<core::system::FileChangeEvent>&)> + onFilesChanged_; +- boost::signal<void()> onMonitoringDisabled_; ++ RSTUDIO_BOOST_SIGNAL<void()> onMonitoringDisabled_; + }; + + ProjectContext& projectContext(); +--- rstudio-1.1.463-orig/src/cpp/session/modules/SessionPlots.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/SessionPlots.hpp 2018-11-17 21:24:35.292976352 +1100 +@@ -16,7 +16,7 @@ + #ifndef SESSION_PLOTS_HPP + #define SESSION_PLOTS_HPP + +-#include <boost/signals.hpp> ++#include <core/BoostSignals.hpp> + + namespace rstudio { + namespace core { +@@ -35,9 +35,9 @@ + + struct Events : boost::noncopyable + { +- boost::signal<void()> onBeforeNewPlot; +- boost::signal<void()> onBeforeNewGridPage; +- boost::signal<void()> onNewPlot; ++ RSTUDIO_BOOST_SIGNAL<void()> onBeforeNewPlot; ++ RSTUDIO_BOOST_SIGNAL<void()> onBeforeNewGridPage; ++ RSTUDIO_BOOST_SIGNAL<void()> onNewPlot; + }; + + Events& events(); +--- rstudio-1.1.463-orig/src/cpp/session/modules/build/SessionSourceCpp.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/build/SessionSourceCpp.cpp 2018-11-17 21:24:35.293976361 +1100 +@@ -15,11 +15,11 @@ + + #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> + ++#include <core/BoostSignals.hpp> + #include <core/Error.hpp> + #include <core/FilePath.hpp> + #include <core/StringUtils.hpp> +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2018-11-17 21:24:35.294976371 +1100 +@@ -142,7 +142,7 @@ + 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, +@@ -219,7 +219,7 @@ + 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, +@@ -363,7 +363,7 @@ + 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, +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2018-11-17 21:24:35.294976371 +1100 +@@ -16,6 +16,8 @@ + #include "SessionRmdNotebook.hpp" + #include "NotebookCapture.hpp" + ++#include <boost/make_shared.hpp> ++ + namespace rstudio { + namespace session { + namespace modules { +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2018-11-17 21:24:35.295976381 +1100 +@@ -441,7 +441,7 @@ + } + + // unhook all our event handlers +- BOOST_FOREACH(const boost::signals::connection connection, connections_) ++ BOOST_FOREACH(const RSTUDIO_BOOST_CONNECTION connection, connections_) + { + connection.disconnect(); + } +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2018-11-17 21:24:35.295976381 +1100 +@@ -18,8 +18,7 @@ + + #include <session/SessionModuleContext.hpp> + +-#include <boost/signal.hpp> +- ++#include <core/BoostSignals.hpp> + #include <core/json/Json.hpp> + + #include <r/RSexp.hpp> +@@ -99,7 +98,7 @@ + bool hasErrors_; + + std::vector<boost::shared_ptr<NotebookCapture> > captures_; +- std::vector<boost::signals::connection> connections_; ++ std::vector<RSTUDIO_BOOST_CONNECTION> connections_; + }; + + } // namespace notebook +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2018-11-17 21:24:35.295976381 +1100 +@@ -20,11 +20,12 @@ + + #include <boost/format.hpp> + #include <boost/foreach.hpp> +-#include <boost/signals/connection.hpp> + +-#include <core/system/FileMonitor.hpp> +-#include <core/StringUtils.hpp> ++#include <core/BoostSignals.hpp> + #include <core/Exec.hpp> ++#include <core/StringUtils.hpp> ++ ++#include <core/system/FileMonitor.hpp> + + #include <session/SessionModuleContext.hpp> + +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2018-11-17 21:24:35.296976391 +1100 +@@ -18,8 +18,10 @@ + #define SESSION_NOTEBOOK_PLOTS_HPP + + #include <boost/function.hpp> +-#include <boost/signals/connection.hpp> ++ ++#include <core/BoostSignals.hpp> + #include <core/FilePath.hpp> ++ + #include <r/RSexp.hpp> + + #include "NotebookCapture.hpp" +@@ -80,9 +82,9 @@ + + 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_; +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2018-11-17 21:24:35.296976391 +1100 +@@ -87,7 +87,7 @@ + pInput_->enque(kThreadQuitCommand); + + // unregister handlers +- BOOST_FOREACH(boost::signals::connection connection, handlers_) ++ BOOST_FOREACH(RSTUDIO_BOOST_CONNECTION connection, handlers_) + { + connection.disconnect(); + } +@@ -651,7 +651,7 @@ + boost::shared_ptr<ChunkExecContext> execContext_; + + // registered signal handlers +- std::vector<boost::signals::connection> handlers_; ++ std::vector<RSTUDIO_BOOST_CONNECTION> handlers_; + + // the thread which submits console input, and the queue which feeds it + boost::thread console_; +--- rstudio-1.1.463-orig/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp 2018-11-17 21:24:35.296976391 +1100 +@@ -18,7 +18,8 @@ + #define SESSION_RMARKDOWN_NOTEBOOK_HPP + + #include <ctime> +-#include <boost/signals.hpp> ++ ++#include <core/BoostSignals.hpp> + #include <core/json/Json.hpp> + + #define kChunkLibDir "lib" +@@ -76,24 +77,24 @@ + struct Events : boost::noncopyable + { + // Document {0}, chunk {1} from context id {3} execution completed +- boost::signal<void(const std::string&, const std::string&, ++ RSTUDIO_BOOST_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, ++ RSTUDIO_BOOST_SIGNAL<void(const std::string&, const std::string&, int, + const std::string&)> + onChunkConsoleOutput; + +- boost::signal<void(const core::FilePath&, const core::FilePath&, ++ RSTUDIO_BOOST_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&, ++ RSTUDIO_BOOST_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&, ++ RSTUDIO_BOOST_SIGNAL<void(const core::json::Object&)> onErrorOutput; ++ RSTUDIO_BOOST_SIGNAL<void(const core::FilePath&, const core::FilePath&, + const core::json::Value& metadata)> onDataOutput; +- boost::signal<void(Condition condition, const std::string& message)> ++ RSTUDIO_BOOST_SIGNAL<void(Condition condition, const std::string& message)> + onCondition; + }; + diff --git a/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch new file mode 100644 index 000000000000..961723fd224f --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch @@ -0,0 +1,167 @@ +--- rstudio-1.1.463-orig/src/cpp/CMakeLists.txt 2018-11-17 21:24:35.285976284 +1100 ++++ rstudio-1.1.463/src/cpp/CMakeLists.txt 2018-11-17 21:41:02.712507842 +1100 +@@ -175,6 +175,9 @@ + set(Boost_USE_STATIC_LIBS ON) + set(BOOST_INCLUDEDIR ${RSTUDIO_TOOLS_BOOST}/include) + find_package(Boost ${BOOST_VERSION} REQUIRED) ++ if(NOT Boost_VERSION VERSION_LESS 1.69.0) ++ 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) +@@ -184,11 +187,15 @@ + message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}") + else() + add_definitions(-DRSTUDIO_BOOST_NAMESPACE=boost) ++ find_package(Boost ${BOOST_VERSION} REQUIRED) ++ if(NOT Boost_VERSION VERSION_LESS 1.69.0) ++ list(REMOVE_ITEM BOOST_LIBS signals) ++ endif() + find_package(Boost ${BOOST_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS}) + message(STATUS "Using system Boost ${BOOST_VERSION}") + endif() + +- # WIN32 BOOST ++# WIN32 BOOST + else() + # hard-code to our own prebuilt boost libs + add_definitions(-DRSTUDIO_BOOST_NAMESPACE=rstudio_boost) +@@ -211,14 +218,14 @@ + # 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 VERSION_LESS 1.69.0) + set(RSTUDIO_BOOST_SIGNALS_VERSION 1) + else() + set(RSTUDIO_BOOST_SIGNALS_VERSION 2) + endif() + endif() + +-message(STATUS "Using Booost.Signals version ${RSTUDIO_BOOST_SIGNALS_VERSION}") ++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 +--- rstudio-1.1.463-orig/src/cpp/core/include/core/r_util/RFunctionInformation.hpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/core/include/core/r_util/RFunctionInformation.hpp 2018-11-17 21:41:02.713507852 +1100 +@@ -75,9 +75,9 @@ + const std::string& name() const { return name_; } + const boost::optional<std::string>& defaultValue() const { return defaultValue_; } + boost::tribool hasDefault() const { return hasDefault_; } +- bool isUsed() const { return isUsed_; } ++ bool isUsed() const { return bool(isUsed_); } + void setIsUsed(bool value) { isUsed_ = value; } +- bool isMissingnessHandled() const { return isMissingnessHandled_; } ++ bool isMissingnessHandled() const { return bool(isMissingnessHandled_); } + void setMissingnessHandled(bool value) { isMissingnessHandled_ = value; } + + private: +@@ -130,7 +130,7 @@ + + bool isPrimitive() + { +- return isPrimitive_ == true; ++ return bool(isPrimitive_); + } + + void setIsPrimitive(bool isPrimitive) +--- rstudio-1.1.463-orig/src/cpp/session/modules/SessionRParser.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/session/modules/SessionRParser.cpp 2018-11-17 21:41:02.714507862 +1100 +@@ -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.463-orig/src/tools/clang-ubsan-build 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/tools/clang-ubsan-build 2018-11-17 21:41:02.714507862 +1100 +@@ -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 .. + +--- rstudio-1.1.463-orig/src/tools/gcc-ubsan-build 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/tools/gcc-ubsan-build 2018-11-17 21:41:02.715507871 +1100 +@@ -19,19 +19,19 @@ + # 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 .. + +--- rstudio-1.1.463-orig/src/tools/xcode-ubsan-build 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/tools/xcode-ubsan-build 2018-11-17 21:41:02.715507871 +1100 +@@ -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 .. diff --git a/sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch b/sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch new file mode 100644 index 000000000000..914cd942e8f4 --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch @@ -0,0 +1,13 @@ +--- rstudio-1.1.463-orig/src/cpp/server/ServerSecureKeyFile.cpp 2018-10-25 09:42:55.000000000 +1100 ++++ rstudio-1.1.463/src/cpp/server/ServerSecureKeyFile.cpp 2018-11-17 22:17:18.110012955 +1100 +@@ -79,8 +79,8 @@ + return error; + + // change mode it so it is only readable and writeable by this user +- if (changeFileMode(secureKeyPath, +- core::system::UserReadWriteMode) < 0) ++ if (!!changeFileMode(secureKeyPath, ++ core::system::UserReadWriteMode)) + { + return systemError(errno, ERROR_LOCATION); + } |