commit:     1ca93847092bdabc213f1631a295decdba82125c
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 19 12:25:51 2018 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Mon Nov 19 12:37:56 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ca93847

sci-mathematics/rstudio: Bump to 1.1.463

Signed-off-by: Mark Wright <gienah <AT> gentoo.org>

 sci-mathematics/rstudio/Manifest                   |   1 +
 .../files/rstudio-1.1.463-boost-1.69.0_p1.patch    | 680 +++++++++++++++++++++
 .../files/rstudio-1.1.463-boost-1.69.0_p2.patch    | 167 +++++
 .../rstudio-1.1.463-fix-ptr-int-compare.patch      |  13 +
 sci-mathematics/rstudio/rstudio-1.1.463.ebuild     | 253 ++++++++
 5 files changed, 1114 insertions(+)

diff --git a/sci-mathematics/rstudio/Manifest b/sci-mathematics/rstudio/Manifest
index 77cc3217237..79c6b60ad01 100644
--- a/sci-mathematics/rstudio/Manifest
+++ b/sci-mathematics/rstudio/Manifest
@@ -7,6 +7,7 @@ DIST rmarkdown-0.98.1000.tar.gz 1423820 BLAKE2B 
eac8c9cf438c9b44ddfe954602dd67a8
 DIST rsconnect_0.4.1.4_fcac892a69817febd7b655b189bf57193260cda0.tar.gz 197051 
BLAKE2B 
1f3f9fe71d7b50ab5108dfdbd3cc0b882bcc935ee58e8a9145b07a18bb86c39bc45e321a13add24df99492bc30548df716775c339bcbf4efc2bfe158299ae55a
 SHA512 
208dc349f4aa7613ecf94939aba60d22d3a06972344b526c9b6c951015571f5922927bca08db571a7b8a268e42609a4f558f01278c9685f6da2ffc66a1f95ade
 DIST rstudio-1.1.383.tar.gz 20196702 BLAKE2B 
5164230a92618e4252269ad0016b200294d1e7fa502cc49aa694486cda098ee7ffc65e6c74a87d891d0532f5cc15d1552aa86d04047d07b4f275cbc4d2758647
 SHA512 
3f637f9bce2c1ad1a4ed3e74287da722190a4e12b0cace6ffcca271977d49dcecca9365f2064366aad94e87851593cab83fa9361e9a9222a9f67fe9451f31ed2
 DIST rstudio-1.1.453.tar.gz 20200360 BLAKE2B 
560b89e53b04356ecf9a02dd8a7e72ad8d6c30bf406fbe7e22a82cc6d33d40e84bececf5ecda9cf086360b2bd2fa64d6b33c2dd675ef5f605f9e825d7ca2dc84
 SHA512 
f2be0866f645007a6f80959109928820c89480057c3660d23e790591797d4f4c371733f49290dae9c81bfc2715821528e2a105e7a66d4d9ffbfc7ee2a596976c
+DIST rstudio-1.1.463.tar.gz 20203779 BLAKE2B 
97f879539cbb7051af362a8469795a47feb42d18ff46dbbdffe36e0685d1cd5704848b3bf5a5611d482a09567722e35288527302cd521b18e2a48b347c919e17
 SHA512 
987347563a9726363c28d866e1372eae8eb19a5cbd0e33c7ee0e0c8f90471c4b69de0f559c00410523841b6c090b584652e01496f5db33c015a4554d2f4e179b
 DIST selenium-java-2.37.0.zip 24625928 BLAKE2B 
b369a805ae96f0d0913c4be42888d9c2a1e213ff982f9daefe73fadb705baa80ab0186ab50ed52609e83697cffaf8d617d06d75405cb8e1c3fe8e7c5b81dba25
 SHA512 
68624e82dbc751a25c50fad72702a98eb30d77fd4337d2a969f8e06bcc49e5f8c835cd27ec53772f3375014ddde1d5636936e966b75f3594a9f86aa18ba4e779
 DIST selenium-server-standalone-2.37.0.jar 34730734 BLAKE2B 
3899b1d4c5f9153c1f9f13bec66f7c1456ea2e0f34db7d8e54a1ce9063c33a05b3cf95216c2ae06bb40504f72f343a4b9ba6c8553fbbc340e7c18a5b612dde5c
 SHA512 
b215446d42d2d1f69664349b6ae6dc53a532d3624c91254f0f4183d0ad764648792e5cc1126a55a1e60d9687d55200fed01d6d2f46cc3d853b1fa6ee38111018
 DIST shinyapps-0.98.1000.tar.gz 910095 BLAKE2B 
4f9364692348bb52cbd12cc6ee447841cb0c805327f2518b2a9545920b602b954a98dea68ccb3daf32d2c3bab6464fb15402844d93277193315f1ae7b3ca5190
 SHA512 
3162317c4c20cfc1497e952a8235867084d629ae88407e6c465b3e208adb1dc97abfe6b9922e0374ddf4c8e38a76e112942bd312c54a66f74e6f2a3fe4c0a07c

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 00000000000..aa3db25f3c0
--- /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 00000000000..961723fd224
--- /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 00000000000..914cd942e8f
--- /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);
+       }

diff --git a/sci-mathematics/rstudio/rstudio-1.1.463.ebuild 
b/sci-mathematics/rstudio/rstudio-1.1.463.ebuild
new file mode 100644
index 00000000000..f2d6cf5a20f
--- /dev/null
+++ b/sci-mathematics/rstudio/rstudio-1.1.463.ebuild
@@ -0,0 +1,253 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils user cmake-utils gnome2-utils pam versionator xdg-utils 
java-pkg-2 pax-utils qmake-utils
+
+# TODO
+# * package gin and gwt
+# * use dict from tree, linguas
+# * do src_test (use junit from tree?)
+
+# update from scripts in dependencies/common
+# egrep '(GWT_SDK_VER=|GIN_VER=|SELENIUM_VER=|CHROMEDRIVER_VER=)' 
dependencies/common/install-gwt
+GWT_VER=2.7.0
+GIN_VER=1.5
+SELENIUM_VER=2.37.0
+CHROMEDRIVER_VER=2.7
+# grep 'PANDOC_VERSION=' dependencies/common/install-pandoc
+PANDOC_VER=1.19.2.1
+# ls dependencies/common/*.tar.gz
+PACKRAT_VER=0.98.1000
+RMARKDOWN_VER=0.98.1000
+SHINYAPPS_VER=0.98.1000
+RSCONNECT_VER=0.4.1.4_fcac892a69817febd7b655b189bf57193260cda0
+
+DESCRIPTION="IDE for the R language"
+HOMEPAGE="
+       http://www.rstudio.org
+       https://github.com/rstudio/rstudio/";
+SRC_URI="
+       https://github.com/rstudio/rstudio/archive/v${PV}.tar.gz -> ${P}.tar.gz
+       https://s3.amazonaws.com/rstudio-buildtools/gin-${GIN_VER}.zip
+       https://s3.amazonaws.com/rstudio-buildtools/gwt-${GWT_VER}.zip
+       
https://s3.amazonaws.com/rstudio-buildtools/selenium-java-${SELENIUM_VER}.zip
+       
https://s3.amazonaws.com/rstudio-buildtools/selenium-server-standalone-${SELENIUM_VER}.jar
+       https://s3.amazonaws.com/rstudio-buildtools/chromedriver-linux
+       https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip
+       https://dev.gentoo.org/~gienah/distfiles/packrat-${PACKRAT_VER}.tar.gz
+       
https://dev.gentoo.org/~gienah/distfiles/rmarkdown-${RMARKDOWN_VER}.tar.gz
+       
https://dev.gentoo.org/~gienah/distfiles/shinyapps-${SHINYAPPS_VER}.tar.gz
+       
https://dev.gentoo.org/~gienah/distfiles/rsconnect_${RSCONNECT_VER}.tar.gz
+"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="dedicated libressl server"
+
+QT_VER=5.4
+QT_SLOT=5
+RDEPEND="
+       >=app-text/pandoc-${PANDOC_VER}
+       dev-haskell/pandoc-citeproc
+       >=dev-lang/R-2.11.1
+       >=dev-libs/boost-1.63:=
+       >=dev-libs/mathjax-2.7.4
+       sys-apps/util-linux
+       >=sys-devel/clang-3.5.0:*
+       sys-libs/zlib
+       >=virtual/jre-1.8:=
+       x11-libs/pango
+       !dedicated? (
+               >=dev-qt/qtcore-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtdeclarative-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtdbus-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtgui-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtnetwork-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtopengl-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtpositioning-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtprintsupport-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtsingleapplication-2.6.1_p20150629[X,qt5(+)]
+               >=dev-qt/qtsensors-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtsql-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtsvg-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtwebchannel-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtwebkit-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtwidgets-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtxml-${QT_VER}:${QT_SLOT}
+               >=dev-qt/qtxmlpatterns-${QT_VER}:${QT_SLOT}
+               server? ( virtual/pam )
+       )
+       dedicated? ( virtual/pam )
+       !libressl? ( dev-libs/openssl:0 )
+       libressl? ( dev-libs/libressl:0 )"
+DEPEND="${RDEPEND}
+       app-arch/unzip
+       dev-java/ant-core
+       >=virtual/jdk-1.8:=
+       virtual/pkgconfig"
+#      test? ( dev-java/junit:4 )
+
+PATCHES=(
+               "${FILESDIR}/${PN}-0.99.879-prefs.patch"
+               "${FILESDIR}/${PN}-1.0.44-paths.patch"
+               "${FILESDIR}/${PN}-1.1.357-clang-pandoc.patch"
+               "${FILESDIR}/${PN}-0.98.490-linker_flags.patch"
+               "${FILESDIR}/${PN}-0.99.473-qtsingleapplication.patch"
+               "${FILESDIR}/${PN}-1.0.44-systemd.patch"
+               "${FILESDIR}/${PN}-1.1.453-boost-1.67.0.patch"
+               "${FILESDIR}/${PN}-1.1.453-core.patch"
+               "${FILESDIR}/${PN}-1.1.463-boost-1.69.0_p1.patch"
+               "${FILESDIR}/${PN}-1.1.463-boost-1.69.0_p2.patch"
+               "${FILESDIR}/${PN}-1.1.463-fix-ptr-int-compare.patch"
+)
+
+src_unpack() {
+       unpack ${P}.tar.gz gwt-${GWT_VER}.zip
+       cd "${S}" || die
+       mkdir -p src/gwt/lib/{gin,gwt} \
+               dependencies/common/dictionaries \
+               src/gwt/lib/selenium/${SELENIUM_VER} \
+               src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER} || die
+       mv ../gwt-${GWT_VER} src/gwt/lib/gwt/${GWT_VER} || die
+       unzip -qd src/gwt/lib/gin/${GIN_VER} \
+               "${DISTDIR}"/gin-${GIN_VER}.zip || die
+       unzip -qd dependencies/common/dictionaries \
+               "${DISTDIR}"/core-dictionaries.zip || die
+       unzip -qd src/gwt/lib/selenium/${SELENIUM_VER} \
+               "${DISTDIR}"/selenium-java-${SELENIUM_VER}.zip || die
+       cp "${DISTDIR}"/selenium-server-standalone-${SELENIUM_VER}.jar \
+               src/gwt/lib/selenium/${SELENIUM_VER}/ || die
+       cp "${DISTDIR}"/chromedriver-linux \
+               src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER}/ || die
+       cd dependencies/common || die
+       unpack packrat-${PACKRAT_VER}.tar.gz
+       unpack rmarkdown-${RMARKDOWN_VER}.tar.gz
+       unpack shinyapps-${SHINYAPPS_VER}.tar.gz
+       unpack rsconnect_${RSCONNECT_VER}.tar.gz
+       cp "${DISTDIR}"/rmarkdown-${RMARKDOWN_VER}.tar.gz \
+               . || die
+       cp "${DISTDIR}"/packrat-${PACKRAT_VER}.tar.gz \
+               . || die
+       cp "${DISTDIR}"/shinyapps-${SHINYAPPS_VER}.tar.gz \
+               . || die
+       cp "${DISTDIR}"/rsconnect_${RSCONNECT_VER}.tar.gz \
+               . || die
+}
+
+src_prepare() {
+       cmake-utils_src_prepare
+       java-pkg-2_src_prepare
+       egit_clean
+
+       # Enable CMake to install our .service file for systemd usage
+       mkdir -vp "${S}/src/cpp/server/lib/systemd/system" || die
+       cp -v "${FILESDIR}/rstudio-server.service.in" 
"${S}/src/cpp/server/lib/systemd/system/" || die
+
+       # Adding -DDISTRO_SHARE=... to append-flags breaks cmake so using
+       # this sed hack for now. ~RMH
+       sed -i \
+               -e "s|DISTRO_SHARE|\"share/${PN}\"|g" \
+               src/cpp/server/ServerOptions.cpp \
+               src/cpp/session/SessionOptions.cpp || die
+
+       # use mathjax from system
+       ln -sf "${EPREFIX}"/usr/share/mathjax dependencies/common/mathjax-26 || 
die
+
+       # make sure icons and mime stuff are with prefix
+       sed -i \
+               -e "s:/usr:${EPREFIX}/usr:g" \
+               CMakeGlobals.txt src/cpp/desktop/CMakeLists.txt || die
+
+       # On Gentoo the rstudio-server configuration file is 
/etc/conf.d/rstudio-server.conf
+       sed -e 
"s@/etc/rstudio/rserver.conf@${EROOT}etc/conf.d/rstudio-server.conf@" \
+               -i src/cpp/server/ServerOptions.cpp \
+               || die
+
+       # Set the rsession.conf file location for Gentoo prefix
+       sed -e 
"s@/etc/rstudio/rsession.conf@${EROOT}etc/rstudio/rsession.conf@" \
+               -i src/cpp/session/SessionOptions.cpp \
+               || die
+
+       # dev-qt/qtsingleapplication-2.6.1_p20150629 does not provide a cmake 
module.
+       # It provides a library that has its version number appended to the end,
+       # which is difficult to handle in cmake, as find_library does not 
support
+       # searching for wildcard library names. So I find the library name from 
the
+       # qmake spec, and then sed this into the patched 
src/cpp/desktop/CMakeLists.txt.
+       rm -rf "${S}"/src/cpp/desktop/3rdparty || die
+       local s=$(grep '\-lQt$${QT_MAJOR_VERSION}Solutions_SingleApplication' \
+                                  
$(qt5_get_mkspecsdir)/features/qtsingleapplication.prf \
+                                        | sed -e 's@\$\${QT_MAJOR_VERSION}@5@' 
\
+                                                  -e 's@LIBS \*= -l@@')
+       sed -e "s@Qt5Solutions_SingleApplication-2.6@${s}@g" \
+               -i "${S}"/src/cpp/desktop/CMakeLists.txt \
+               || die
+
+       # The git commit for tag: git rev-list -n 1 v${PV}
+       sed -e 's@git ARGS rev-parse HEAD@echo ARGS 
6871a99b32add885fe6fa3d50fe15f62346142e7@'\
+               -i "${S}"/CMakeLists.txt \
+               "${S}"/CMakeGlobals.txt \
+               || die
+}
+
+src_configure() {
+       export RSTUDIO_VERSION_MAJOR=$(get_version_component_range 1)
+       export RSTUDIO_VERSION_MINOR=$(get_version_component_range 2)
+       export RSTUDIO_VERSION_PATCH=$(get_version_component_range 3)
+
+       local mycmakeargs=(
+               -DDISTRO_SHARE=share/${PN}
+               -DRSTUDIO_INSTALL_FREEDESKTOP="$(usex !dedicated "ON" "OFF")"
+               -DRSTUDIO_TARGET=$(usex dedicated "Server" "$(usex server 
"Development" "Desktop")")
+               -DQT_QMAKE_EXECUTABLE=$(qt5_get_bindir)/qmake
+               -DRSTUDIO_VERIFY_R_VERSION=FALSE
+               )
+
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       # Avoid the rest of the oracle-jdk-bin-1.8.0.60 sandbox violations F: 
mkdir S: deny
+       # P: /root/.oracle_jre_usage.
+       export ANT_OPTS="-Duser.home=${T}"
+       cmake-utils_src_compile
+}
+
+src_install() {
+       export ANT_OPTS="-Duser.home=${T}"
+       cmake-utils_src_install
+       pax-mark m "${ED}usr/bin/rstudio"
+       doconfd "${FILESDIR}"/rstudio-server.conf
+       dodir /etc/rstudio
+       insinto /etc/rstudio
+       doins "${FILESDIR}"/rsession.conf
+       dosym "${ROOT}etc/conf.d/rstudio-server.conf" 
"${ROOT}etc/rstudio/rserver.conf"
+       if use dedicated || use server; then
+               dopamd src/cpp/server/extras/pam/rstudio
+               newinitd "${FILESDIR}"/rstudio-server.initd rstudio-server
+       fi
+}
+
+pkg_preinst() {
+       use dedicated || gnome2_icon_savelist
+       java-pkg-2_pkg_preinst
+}
+
+pkg_postinst() {
+       use dedicated || { xdg_desktop_database_update
+               xdg_mimeinfo_database_update
+               gnome2_icon_cache_update ;}
+
+       if use dedicated || use server; then
+               enewgroup rstudio-server
+               enewuser rstudio-server -1 -1 -1 rstudio-server
+       fi
+}
+
+pkg_postrm() {
+       use dedicated || { xdg_desktop_database_update
+               xdg_mimeinfo_database_update
+               gnome2_icon_cache_update ;}
+}

Reply via email to