summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wright <gienah@gentoo.org>2018-11-19 23:25:51 +1100
committerMark Wright <gienah@gentoo.org>2018-11-19 23:37:56 +1100
commit1ca93847092bdabc213f1631a295decdba82125c (patch)
tree1f31bd0a22077f0a631687ca6b7cff7c2200220f /sci-mathematics/rstudio/files
parentnet-p2p/qbittorrent: Drop old (diff)
downloadgentoo-1ca93847092bdabc213f1631a295decdba82125c.tar.gz
gentoo-1ca93847092bdabc213f1631a295decdba82125c.tar.bz2
gentoo-1ca93847092bdabc213f1631a295decdba82125c.zip
sci-mathematics/rstudio: Bump to 1.1.463
Signed-off-by: Mark Wright <gienah@gentoo.org>
Diffstat (limited to 'sci-mathematics/rstudio/files')
-rw-r--r--sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p1.patch680
-rw-r--r--sci-mathematics/rstudio/files/rstudio-1.1.463-boost-1.69.0_p2.patch167
-rw-r--r--sci-mathematics/rstudio/files/rstudio-1.1.463-fix-ptr-int-compare.patch13
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);
+ }