Index: head/devel/RStudio/Makefile =================================================================== --- head/devel/RStudio/Makefile (revision 495053) +++ head/devel/RStudio/Makefile (revision 495054) @@ -1,98 +1,98 @@ # $FreeBSD$ # This port opens too many files during build, more than the default setting. # Its build is known to succeed with MAX_FILES_RStudio=2048 in poudriere.conf when ports-mgmt/poudriere-devel is used. PORTNAME= RStudio DISTVERSIONPREFIX= v -DISTVERSION= 1.2.679 -PORTREVISION= 8 +DISTVERSION= 1.2.1320 CATEGORIES= devel math java MASTER_SITES= https://s3.amazonaws.com/rstudio-dictionaries/:dictionaries \ https://s3.amazonaws.com/rstudio-buildtools/:buildtools DISTFILES= core-dictionaries.zip:dictionaries \ gin-${GIN_VERSION}.zip:buildtools \ gwt-${GWT_VERSION}.zip:buildtools \ mathjax-26.zip:buildtools MAINTAINER= yuri@FreeBSD.org COMMENT= Integrated development environment (IDE) for R LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ant:devel/apache-ant \ ${LOCALBASE}/include/sys/sysinfo.h:devel/libsysinfo \ pandoc:textproc/hs-pandoc LIB_DEPENDS= libR.so:math/R \ libboost_thread.so:devel/boost-libs \ libinotify.so:devel/libinotify \ libuuid.so:misc/e2fsprogs-libuuid USES= cmake desktop-file-utils fortran pkgconfig qt:5 shared-mime-info ssl USE_QT= core dbus declarative gui location network opengl printsupport sensors \ sql svg webchannel webengine webkit widgets xml xmlpatterns buildtools_build qmake_build USE_JAVA= yes JAVA_BUILD= yes USE_GITHUB= yes GH_PROJECT= ${PORTNAME:tl} GH_TUPLE= rstudio:r2d3:v0.2.0:r2d3/dependencies/common/r2d3 \ rstudio:rmarkdown:aed26ac:rmarkdown/dependencies/common/rmarkdown \ rstudio:rsconnect:03c379b:rsconnect/dependencies/common/rsconnect \ trestletech:plumber:v0.4.6:plumber/dependencies/common/plumber CMAKE_ARGS= -DRSTUDIO_TARGET=Desktop \ -DFREEBSD_RSTUDIO_VERSION:STRING=${PORTVERSION} \ -DFREEBSD_LIBDIR:STRING=${PREFIX}/lib CMAKE_ARGS+= -DRSTUDIO_BOOST_SIGNALS_VERSION=2 # until Boost 1.69 or RStudio 1.3 +CMAKE_ARGS+= -DQT_QMAKE_EXECUTABLE:STRING=${QMAKE} MAKE_ENV= HOME=${WRKDIR} \ ANT_OPTS="-Duser.home=${WRKDIR}" GWT_VERSION= 2.8.1 GIN_VERSION= 2.1.2 post-extract: @${MKDIR} ${WRKSRC}/dependencies/common/dictionaries && ${MV} ${WRKDIR}/en_* ${WRKSRC}/dependencies/common/dictionaries/ @${MV} ${WRKDIR}/mathjax-* ${WRKSRC}/dependencies/common/ @${MKDIR} ${WRKSRC}/src/gwt/lib/gwt && ${MV} ${WRKDIR}/gwt-${GWT_VERSION} ${WRKSRC}/src/gwt/lib/gwt/${GWT_VERSION} @${MKDIR} ${WRKSRC}/src/gwt/lib/gin/${GIN_VERSION} && ${MV} ${WRKDIR}/*.jar ${WRKDIR}/javadoc ${WRKSRC}/src/gwt/lib/gin/${GIN_VERSION}/ post-patch: @${REINPLACE_CMD} -e ' \ s|target_link_libraries(rstudio|target_link_libraries(rstudio procstat|; \ s|get_filename_component|#get_filename_component|; \ s|set(CMAKE_PREFIX_PATH "$${QT_BIN_DIR}//..//lib//cmake")|set(CMAKE_PREFIX_PATH "${LOCALBASE}/lib/cmake")|; \ s|/usr/share/|${PREFIX}/share/|g' \ ${WRKSRC}/src/cpp/desktop/CMakeLists.txt @${REINPLACE_CMD} -e ' \ s|||' \ ${WRKSRC}/src/gwt/build.xml @${REINPLACE_CMD} -e '\ s|rHomePaths.push_back|//rHomePaths.push_back|; \ s|//rHomePaths.push_back(FilePath("/usr/local/lib/|rHomePaths.push_back(FilePath("${PREFIX}/lib/|' \ ${WRKSRC}/src/cpp/core/r_util/RVersionsPosix.cpp pre-build: @${CP} ${FILESDIR}/global-setenv.h ${WRKSRC}/src/cpp/desktop/ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/src/cpp/desktop/global-setenv.h post-install: @(echo "#!/bin/sh"; \ echo ""; \ echo "if ! [ -d /proc/curproc ]; then"; \ echo " echo \"${PORTNAME} needs /proc to be mounted as procfs\" >&2"; \ echo " exit 1"; \ echo "fi"; \ echo ""; \ echo "# workaround for the problem that RStudio passes /lib with LD_LIBRARY_PATH that causes the /lib/libgcc_s.so.1 conflict with gcc"; \ echo "LD_PRELOAD=${PREFIX}/lib/gcc${GCC_DEFAULT}/libgcc_s.so ${PREFIX}/lib/rstudio/bin/rstudio \"$$@\"" \ ) > ${STAGEDIR}${PREFIX}/bin/rstudio @${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/rstudio @${REINPLACE_CMD} -e 's|^Exec=.*/rstudio|Exec=${PREFIX}/bin/rstudio|' ${STAGEDIR}${PREFIX}/share/applications/rstudio.desktop # Some functions expect the pandoc symlink. @${MKDIR} ${STAGEDIR}${PREFIX}/lib/rstudio/bin/pandoc @cd ${STAGEDIR}${PREFIX}/lib/rstudio/bin/pandoc && ${LN} -s ../../../../bin/pandoc # There is a variability in .js file names due to the use of random numbers, so we use the automatic plist. @${SETENV} ${CO_ENV} ${SH} ${SCRIPTSDIR}/check-stagedir.sh makeplist | ${GREP} -v ^\/ | ${SED} -e 's|%%WWWDIR%%|www/rstudio|' > ${TMPPLIST} .include Index: head/devel/RStudio/distinfo =================================================================== --- head/devel/RStudio/distinfo (revision 495053) +++ head/devel/RStudio/distinfo (revision 495054) @@ -1,19 +1,19 @@ -TIMESTAMP = 1528355181 +TIMESTAMP = 1552019950 SHA256 (core-dictionaries.zip) = 4341a9630efb9dcf7f215c324136407f3b3d6003e1c96f2e5e1f9f14d5787494 SIZE (core-dictionaries.zip) = 876339 SHA256 (gin-2.1.2.zip) = b98e704164f54be596779696a3fcd11be5785c9907a99ec535ff6e9525ad5f9a SIZE (gin-2.1.2.zip) = 1341053 SHA256 (gwt-2.8.1.zip) = 0b7af89fdadb4ec51cdb400ace94637d6fe9ffa401b168e2c3d372392a00a0a7 SIZE (gwt-2.8.1.zip) = 95650299 SHA256 (mathjax-26.zip) = 939a2d7f37e26287970be942df70f3e8f272bac2eb868ce1de18bb95d3c26c71 SIZE (mathjax-26.zip) = 3061588 -SHA256 (RStudio-rstudio-v1.2.679_GH0.tar.gz) = 23c22afd8451f6ab0f7d74310426f20a478d4f4daeaeeb6d74000b91330682fd -SIZE (RStudio-rstudio-v1.2.679_GH0.tar.gz) = 20143262 +SHA256 (RStudio-rstudio-v1.2.1320_GH0.tar.gz) = d896c2d89476ce1bed2207b3e218f44d0daedd482789e616fe7b4949117301c0 +SIZE (RStudio-rstudio-v1.2.1320_GH0.tar.gz) = 20439887 SHA256 (rstudio-r2d3-v0.2.0_GH0.tar.gz) = 6355a7632134c8c9487056019a9c458db2c98d10388cf66b018d5461d0a947af SIZE (rstudio-r2d3-v0.2.0_GH0.tar.gz) = 21977747 SHA256 (rstudio-rmarkdown-aed26ac_GH0.tar.gz) = b6f6f48dd9930514204739d8957c2737f0b1d110aebf9f89fa31de10598cb29b SIZE (rstudio-rmarkdown-aed26ac_GH0.tar.gz) = 2087615 SHA256 (rstudio-rsconnect-03c379b_GH0.tar.gz) = d24b6ee49f32f650f6d10bbfc7b2f61aee258f2fbf45a43c006f9e0a726bcea6 SIZE (rstudio-rsconnect-03c379b_GH0.tar.gz) = 220711 SHA256 (trestletech-plumber-v0.4.6_GH0.tar.gz) = 7bcbfdf5a8a2e3a051d2c673ac5ac51a483ed888afe73116cba7741dbb5f63a6 SIZE (trestletech-plumber-v0.4.6_GH0.tar.gz) = 83332 Index: head/devel/RStudio/files/patch-boost-1.69 =================================================================== --- head/devel/RStudio/files/patch-boost-1.69 (revision 495053) +++ head/devel/RStudio/files/patch-boost-1.69 (nonexistent) @@ -1,892 +0,0 @@ -https://github.com/rstudio/rstudio/commit/a60f97073561f638a9c986aef8d58f5cc4cdc6d6 -https://github.com/rstudio/rstudio/commit/48da00661644c5b17897ffebaf975f7b64c52164 -https://github.com/rstudio/rstudio/commit/667db539c925fa25176fe2b5cc0cab105a2eb071 - ---- src/cpp/CMakeLists.txt.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/CMakeLists.txt -@@ -157,17 +157,14 @@ if(APPLE OR WIN32 OR RSTUDIO_PACKAGE_BUILD) - endif() - - # default Boost versions --if (WIN32) -- set(BOOST_VERSION 1.65.1) --else() -- set(BOOST_VERSION 1.63.0) -+if(NOT RSTUDIO_BOOST_REQUESTED_VERSION) -+ if (WIN32) -+ set(RSTUDIO_BOOST_REQUESTED_VERSION 1.65.1) -+ else() -+ set(RSTUDIO_BOOST_REQUESTED_VERSION 1.63.0) -+ endif() - endif() - --# override if necessary --if (RSTUDIO_BOOST_VERSION) -- set(BOOST_VERSION "${RSTUDIO_BOOST_VERSION}") --endif() -- - # disable Boost Signals deprecation warning - add_definitions(-DBOOST_SIGNALS_NO_DEPRECATION_WARNING) - -@@ -195,21 +192,27 @@ if(UNIX) - # find headers - set(Boost_USE_STATIC_LIBS ON) - set(BOOST_INCLUDEDIR ${RSTUDIO_TOOLS_BOOST}/include) -- find_package(Boost ${BOOST_VERSION} REQUIRED) -+ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED) -+ if(NOT Boost_VERSION LESS 106900) -+ list(REMOVE_ITEM BOOST_LIBS signals) -+ endif() - - # define library list manually (find_package doesn't always pick them up) - set(BOOST_LIB_DIR ${RSTUDIO_TOOLS_BOOST}/lib) - foreach(BOOST_LIB ${BOOST_LIBS}) - list(APPEND Boost_LIBRARIES ${BOOST_LIB_DIR}/libboost_${BOOST_LIB}.a) - endforeach() -- message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}") -+ message(STATUS "Using RStudio-provided Boost ${RSTUDIO_BOOST_REQUESTED_VERSION}") - else() - add_definitions(-DRSTUDIO_BOOST_NAMESPACE=boost) -- find_package(Boost ${BOOST_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS}) -- message(STATUS "Using system Boost ${BOOST_VERSION}") -+ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED) -+ if(NOT Boost_VERSION LESS 106900) -+ list(REMOVE_ITEM BOOST_LIBS signals) -+ endif() -+ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS}) - endif() - -- # WIN32 BOOST -+# WIN32 BOOST - else() - # hard-code to our own prebuilt boost libs - add_definitions(-DRSTUDIO_BOOST_NAMESPACE=rstudio_boost) -@@ -226,14 +229,26 @@ else() - set(BOOST_ROOT "${RSTUDIO_WINDOWS_DEPENDENCIES_DIR}/boost-1.65.1-win-msvc14-debug-static/boost${BOOST_ARCH}") - endif() - set(BOOST_INCLUDEDIR "${BOOST_ROOT}/include/boost-1_65_1") -- find_package(Boost ${BOOST_VERSION} REQUIRED) -+ find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED) - set(BOOST_LIBRARYDIR "${BOOST_ROOT}/lib") - foreach(BOOST_LIB ${BOOST_LIBS}) - list(APPEND Boost_LIBRARIES "${BOOST_LIBRARYDIR}/librstudio_boost_${BOOST_LIB}-${BOOST_SUFFIX}") - endforeach() -- message(STATUS "Using RStudio-provided Boost ${BOOST_VERSION}: ${BOOST_ROOT}") -+ message(STATUS "Using RStudio-provided Boost ${RSTUDIO_BOOST_REQUESTED_VERSION}: ${BOOST_ROOT}") - endif() - -+# allow opt-in to using Boost.Signals2 -+# TODO: remove this in RStudio v1.3 and port to signals2 -+if(NOT RSTUDIO_BOOST_SIGNALS_VERSION) -+ if (Boost_VERSION LESS 106900) -+ set(RSTUDIO_BOOST_SIGNALS_VERSION 1) -+ else() -+ set(RSTUDIO_BOOST_SIGNALS_VERSION 2) -+ endif() -+endif() -+ -+message(STATUS "Using Boost.Signals version ${RSTUDIO_BOOST_SIGNALS_VERSION}") -+add_definitions(-DRSTUDIO_BOOST_SIGNALS_VERSION=${RSTUDIO_BOOST_SIGNALS_VERSION}) - - # add boost as system include directory - include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) ---- src/cpp/core/include/core/BoostSignals.hpp.orig 2018-11-02 10:50:59 UTC -+++ src/cpp/core/include/core/BoostSignals.hpp -@@ -0,0 +1,40 @@ -+/* -+ * BoostSignals.hpp -+ * -+ * Copyright (C) 2009-18 by RStudio, Inc. -+ * -+ * Unless you have received this program directly from RStudio pursuant -+ * to the terms of a commercial license agreement with RStudio, then -+ * this program is licensed to you under the terms of version 3 of the -+ * GNU Affero General Public License. This program is distributed WITHOUT -+ * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, -+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the -+ * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. -+ * -+ */ -+ -+#ifndef CORE_RSTUDIO_BOOST_SIGNALS_HPP -+#define CORE_RSTUDIO_BOOST_SIGNALS_HPP -+ -+#if RSTUDIO_BOOST_SIGNALS_VERSION == 1 -+ -+# include -+# define RSTUDIO_BOOST_SIGNAL boost::signal -+# define RSTUDIO_BOOST_CONNECTION boost::signals::connection -+# define RSTUDIO_BOOST_SCOPED_CONNECTION boost::signals::scoped_connection -+# define RSTUDIO_BOOST_LAST_VALUE boost::last_value -+ -+#elif RSTUDIO_BOOST_SIGNALS_VERSION == 2 -+ -+# include -+# define RSTUDIO_BOOST_SIGNAL boost::signals2::signal -+# define RSTUDIO_BOOST_CONNECTION boost::signals2::connection -+# define RSTUDIO_BOOST_SCOPED_CONNECTION boost::signals2::scoped_connection -+# define RSTUDIO_BOOST_LAST_VALUE boost::signals2::last_value -+ -+#else -+# error "Unrecognized RSTUDIO_BOOST_SIGNALS_VERSION" -+#endif -+ -+#endif // CORE_RSTUDIO_BOOST_SIGNALS_HPP -+ ---- src/cpp/core/include/core/r_util/RFunctionInformation.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/core/include/core/r_util/RFunctionInformation.hpp -@@ -75,9 +75,9 @@ class FormalInformation (public) - const std::string& name() const { return name_; } - const boost::optional& defaultValue() const { return defaultValue_; } - boost::tribool hasDefault() const { return hasDefault_; } -- bool isUsed() const { return isUsed_; } -+ bool isUsed() const { return bool(isUsed_); } - 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 @@ class FunctionInformation (public) - - bool isPrimitive() - { -- return isPrimitive_ == true; -+ return bool(isPrimitive_); - } - - void setIsPrimitive(bool isPrimitive) ---- src/cpp/r/include/r/session/RConsoleHistory.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/r/include/r/session/RConsoleHistory.hpp -@@ -20,8 +20,8 @@ - - #include - #include --#include - -+#include - #include - - namespace rstudio { -@@ -44,7 +44,7 @@ class ConsoleHistory : boost::noncopyable - public: - typedef boost::circular_buffer::value_type value_type; - typedef boost::circular_buffer::const_iterator const_iterator; -- typedef boost::signal AddSignal; -+ typedef RSTUDIO_BOOST_SIGNAL AddSignal; - - private: - ConsoleHistory(); -@@ -86,8 +86,7 @@ class ConsoleHistory : boost::noncopyable - core::Error loadFromFile(const core::FilePath& filePath, bool verifyFile); - core::Error saveToFile(const core::FilePath& filePath) const; - -- boost::signals::connection connectOnAdd( -- const AddSignal::slot_function_type& slot) -+ RSTUDIO_BOOST_CONNECTION connectOnAdd(const AddSignal::slot_function_type& slot) - { - return onAdd_.connect(slot); - } ---- src/cpp/r/include/r/session/RGraphics.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/r/include/r/session/RGraphics.hpp -@@ -19,6 +19,8 @@ - #include - #include - -+#include -+ - namespace rstudio { - namespace r { - namespace session { -@@ -56,8 +58,8 @@ struct is_error_code_enum - - #include --#include - -+#include - #include - #include - -@@ -162,7 +164,7 @@ class Display (public) - virtual void clear() = 0; - - // subscribe to showManipulator event -- virtual boost::signal& onShowManipulator() = 0; -+ virtual RSTUDIO_BOOST_SIGNAL& onShowManipulator() = 0; - - // set manipulator values - virtual void setPlotManipulatorValues(const core::json::Object& values) = 0; ---- src/cpp/r/session/graphics/RGraphicsPlotManager.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/r/session/graphics/RGraphicsPlotManager.cpp -@@ -540,7 +540,7 @@ void PlotManager::clear() - - - --boost::signal& PlotManager::onShowManipulator() -+RSTUDIO_BOOST_SIGNAL& PlotManager::onShowManipulator() - { - return plotManipulatorManager().onShowManipulator(); - } ---- src/cpp/r/session/graphics/RGraphicsPlotManager.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/r/session/graphics/RGraphicsPlotManager.hpp -@@ -22,10 +22,10 @@ - #include - #include - #include --#include - #include - #include - -+#include - #include - #include - -@@ -45,10 +45,10 @@ PlotManager& plotManager(); - - struct GraphicsDeviceEvents - { -- boost::signal onNewPage; -- boost::signal onDrawing; -- boost::signal onResized; -- boost::signal onClosed; -+ RSTUDIO_BOOST_SIGNAL onNewPage; -+ RSTUDIO_BOOST_SIGNAL onDrawing; -+ RSTUDIO_BOOST_SIGNAL onResized; -+ RSTUDIO_BOOST_SIGNAL onClosed; - }; - - class PlotManipulatorManager; -@@ -110,7 +110,7 @@ class PlotManager : boost::noncopyable, public r::sess - - virtual void clear(); - -- virtual boost::signal& onShowManipulator() ; -+ virtual RSTUDIO_BOOST_SIGNAL& onShowManipulator() ; - virtual void setPlotManipulatorValues(const core::json::Object& values); - virtual void manipulatorPlotClicked(int x, int y); - ---- src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp -@@ -184,7 +184,7 @@ Error PlotManipulatorManager::initialize( - } - - --boost::signal& PlotManipulatorManager::onShowManipulator() -+RSTUDIO_BOOST_SIGNAL& PlotManipulatorManager::onShowManipulator() - { - return onShowManipulator_; - } ---- src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp -@@ -16,8 +16,7 @@ - #ifndef R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP - #define R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP - --#include -- -+#include - #include - #include - -@@ -53,7 +52,7 @@ class PlotManipulatorManager : boost::noncopyable (pub - public: - core::Error initialize(const UnitConversionFunctions& convert); - -- boost::signal& onShowManipulator() ; -+ RSTUDIO_BOOST_SIGNAL& onShowManipulator() ; - void setPlotManipulatorValues(const core::json::Object& values); - void manipulatorPlotClicked(int x, int y); - -@@ -85,7 +84,7 @@ class PlotManipulatorManager : boost::noncopyable (pub - bool replayingManipulator_; - - // manipulator event hook -- boost::signal onShowManipulator_; -+ RSTUDIO_BOOST_SIGNAL onShowManipulator_; - - // unit conversion function - UnitConversionFunctions convert_; ---- src/cpp/server/include/server/ServerSessionManager.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/server/include/server/ServerSessionManager.hpp -@@ -20,9 +20,9 @@ - #include - #include - --#include - #include - -+#include - #include - #include - #include ---- src/cpp/session/SessionMain.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/SessionMain.cpp -@@ -33,12 +33,12 @@ - #include - #include - --#include - #include - #include - #include - - #include -+#include - #include - #include - #include ---- src/cpp/session/SessionModuleContext.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/SessionModuleContext.cpp -@@ -19,10 +19,10 @@ - - #include - #include --#include - #include - #include - -+#include - #include - #include - #include -@@ -652,13 +652,13 @@ class SuspendHandlers : boost::noncopyable (private) - - int nextGroup_; - -- boost::signal, -+ RSTUDIO_BOOST_SIGNAL, - int, - std::less > suspendSignal_; - -- boost::signal, -+ RSTUDIO_BOOST_SIGNAL, - int, - std::greater > resumeSignal_; - }; ---- src/cpp/session/include/session/SessionConsoleProcess.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/include/session/SessionConsoleProcess.hpp -@@ -20,10 +20,10 @@ - #include - - #include --#include - #include - #include - -+#include - #include - #include - -@@ -146,7 +146,7 @@ class ConsoleProcess : boost::noncopyable, (public) - void setPromptHandler( - const boost::function& onPrompt); - -- boost::signal& onExit() { return onExit_; } -+ RSTUDIO_BOOST_SIGNAL& onExit() { return onExit_; } - - std::string handle() const { return procInfo_->getHandle(); } - InteractionMode interactionMode() const { return procInfo_->getInteractionMode(); } -@@ -264,7 +264,7 @@ class ConsoleProcess : boost::noncopyable, (public) - boost::mutex inputOutputQueueMutex_; - - boost::function onPrompt_; -- boost::signal onExit_; -+ RSTUDIO_BOOST_SIGNAL onExit_; - - // regex for prompt detection - boost::regex controlCharsPattern_; ---- src/cpp/session/include/session/SessionModuleContext.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/include/session/SessionModuleContext.hpp -@@ -21,9 +21,9 @@ - - #include - #include --#include - #include - -+#include - #include - #include - #include -@@ -318,35 +318,35 @@ struct firstNonEmpty - // session events - struct Events : boost::noncopyable - { -- boost::signal onSessionInfo; -- boost::signal onClientInit; -- boost::signal onBeforeExecute; -- boost::signal onConsolePrompt; -- boost::signal onConsoleInput; -- boost::signal -+ RSTUDIO_BOOST_SIGNAL onSessionInfo; -+ RSTUDIO_BOOST_SIGNAL onClientInit; -+ RSTUDIO_BOOST_SIGNAL onBeforeExecute; -+ RSTUDIO_BOOST_SIGNAL onConsolePrompt; -+ RSTUDIO_BOOST_SIGNAL onConsoleInput; -+ RSTUDIO_BOOST_SIGNAL - onActiveConsoleChanged; -- boost::signal -+ RSTUDIO_BOOST_SIGNAL - onConsoleOutput; -- boost::signal onUserInterrupt; -- boost::signal onDetectChanges; -- boost::signal onSourceEditorFileSaved; -- boost::signal onDeferredInit; -- boost::signal afterSessionInitHook; -- boost::signal onBackgroundProcessing; -- boost::signal onShutdown; -- boost::signal onQuit; -- boost::signal onDestroyed; -- boost::signal&)> -+ RSTUDIO_BOOST_SIGNAL onUserInterrupt; -+ RSTUDIO_BOOST_SIGNAL onDetectChanges; -+ RSTUDIO_BOOST_SIGNAL onSourceEditorFileSaved; -+ RSTUDIO_BOOST_SIGNAL onDeferredInit; -+ RSTUDIO_BOOST_SIGNAL afterSessionInitHook; -+ RSTUDIO_BOOST_SIGNAL onBackgroundProcessing; -+ RSTUDIO_BOOST_SIGNAL onShutdown; -+ RSTUDIO_BOOST_SIGNAL onQuit; -+ RSTUDIO_BOOST_SIGNAL onDestroyed; -+ RSTUDIO_BOOST_SIGNAL&)> - onLibPathsChanged; -- boost::signal onPackageLoaded; -- boost::signal onPackageLibraryMutated; -- boost::signal onPreferencesSaved; -- boost::signal -+ RSTUDIO_BOOST_SIGNAL onPackageLoaded; -+ RSTUDIO_BOOST_SIGNAL onPackageLibraryMutated; -+ RSTUDIO_BOOST_SIGNAL onPreferencesSaved; -+ RSTUDIO_BOOST_SIGNAL - onDistributedEvent; -- boost::signal onPermissionsChanged; -+ RSTUDIO_BOOST_SIGNAL onPermissionsChanged; - - // signal for detecting extended type of documents -- boost::signal), -+ RSTUDIO_BOOST_SIGNAL), - firstNonEmpty > onDetectSourceExtendedType; - }; - ---- src/cpp/session/include/session/SessionSourceDatabase.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/include/session/SessionSourceDatabase.hpp -@@ -21,8 +21,8 @@ - - #include - #include --#include - -+#include - #include - #include - -@@ -212,14 +212,14 @@ core::Error rename(const core::FilePath& from, const c - // source database events - struct Events : boost::noncopyable - { -- boost::signal)> onDocUpdated; -- boost::signal)> onDocUpdated; -+ RSTUDIO_BOOST_SIGNAL)> onDocRenamed; -- boost::signal onDocAdded; -- boost::signal onDocAdded; -+ RSTUDIO_BOOST_SIGNAL)> onDocPendingRemove; -- boost::signal onDocRemoved; -- boost::signal onRemoveAll; -+ RSTUDIO_BOOST_SIGNAL onDocRemoved; -+ RSTUDIO_BOOST_SIGNAL onRemoveAll; - }; - - Events& events(); ---- src/cpp/session/include/session/SessionUserSettings.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/include/session/SessionUserSettings.hpp -@@ -20,8 +20,8 @@ - - #include - #include --#include - -+#include - #include - #include - #include -@@ -62,7 +62,7 @@ class UserSettings : boost::noncopyable (private) - friend UserSettings& userSettings(); - - public: -- boost::signal onChanged; -+ RSTUDIO_BOOST_SIGNAL onChanged; - - public: - // COPYING: boost::noncopyable ---- src/cpp/session/include/session/projects/SessionProjects.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/include/session/projects/SessionProjects.hpp -@@ -22,8 +22,8 @@ - #include - #include - #include --#include - -+#include - #include - #include - #include -@@ -220,10 +220,10 @@ class ProjectContext : boost::noncopyable (private) - - bool hasFileMonitor_; - std::vector monitorSubscribers_; -- boost::signal&)> onMonitoringEnabled_; -- boost::signal&)> -+ RSTUDIO_BOOST_SIGNAL&)> onMonitoringEnabled_; -+ RSTUDIO_BOOST_SIGNAL&)> - onFilesChanged_; -- boost::signal onMonitoringDisabled_; -+ RSTUDIO_BOOST_SIGNAL onMonitoringDisabled_; - }; - - ProjectContext& projectContext(); ---- src/cpp/session/modules/SessionPlots.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/SessionPlots.hpp -@@ -16,7 +16,7 @@ - #ifndef SESSION_PLOTS_HPP - #define SESSION_PLOTS_HPP - --#include -+#include - - namespace rstudio { - namespace core { -@@ -35,9 +35,9 @@ core::Error initialize(); - - struct Events : boost::noncopyable - { -- boost::signal onBeforeNewPlot; -- boost::signal onBeforeNewGridPage; -- boost::signal onNewPlot; -+ RSTUDIO_BOOST_SIGNAL onBeforeNewPlot; -+ RSTUDIO_BOOST_SIGNAL onBeforeNewGridPage; -+ RSTUDIO_BOOST_SIGNAL onNewPlot; - }; - - Events& events(); ---- src/cpp/session/modules/SessionRParser.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/SessionRParser.cpp -@@ -408,7 +408,7 @@ bool mightPerformNonstandardEvaluation(const RTokenCur - if (!failed) - { - DEBUG("--- Found function in pkgInfo index: " << *fnInfo.binding()); -- return fnInfo.performsNse(); -+ return bool(fnInfo.performsNse()); - } - - // Handle some special cases first. ---- src/cpp/session/modules/SessionWorkbench.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/SessionWorkbench.cpp -@@ -715,7 +715,7 @@ Error adaptToLanguage(const json::JsonRpcRequest& requ - // we screen out consecutive transition attempts (otherwise we can - // get multiple interleaved attempts to launch the REPL with console - // input) -- static boost::signals::connection conn; -+ static RSTUDIO_BOOST_CONNECTION conn; - if (conn.connected()) - return Success(); - ---- src/cpp/session/modules/build/SessionSourceCpp.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/build/SessionSourceCpp.cpp -@@ -15,11 +15,11 @@ - - #include "SessionSourceCpp.hpp" - --#include - #include - #include - #include - -+#include - #include - #include - #include ---- src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp -@@ -165,7 +165,7 @@ Error executeRcppEngineChunk(const std::string& docId, - LOG_ERROR(error); - - // capture console output, error -- boost::signals::scoped_connection consoleHandler = -+ RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler = - module_context::events().onConsoleOutput.connect( - boost::bind(chunkConsoleOutputHandler, - _1, -@@ -242,7 +242,7 @@ Error executeStanEngineChunk(const std::string& docId, - LOG_ERROR(error); - - // capture console output, error -- boost::signals::scoped_connection consoleHandler = -+ RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler = - module_context::events().onConsoleOutput.connect( - boost::bind(chunkConsoleOutputHandler, - _1, -@@ -386,7 +386,7 @@ Error executeSqlEngineChunk(const std::string& docId, - LOG_ERROR(error); - - // capture console output, error -- boost::signals::scoped_connection consoleHandler = -+ RSTUDIO_BOOST_SCOPED_CONNECTION consoleHandler = - module_context::events().onConsoleOutput.connect( - boost::bind(chunkConsoleOutputHandler, - _1, -@@ -591,7 +591,7 @@ Error runUserDefinedEngine(const std::string& docId, - } - }; - -- boost::signals::scoped_connection handler = -+ RSTUDIO_BOOST_SCOPED_CONNECTION handler = - module_context::events().onConsoleOutput.connect(consoleHandler); - - // run the user-defined engine ---- src/cpp/session/modules/rmarkdown/NotebookCapture.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookCapture.cpp -@@ -16,6 +16,8 @@ - #include "SessionRmdNotebook.hpp" - #include "NotebookCapture.hpp" - -+#include -+ - namespace rstudio { - namespace session { - namespace modules { ---- src/cpp/session/modules/rmarkdown/NotebookExec.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookExec.cpp -@@ -458,7 +458,7 @@ void ChunkExecContext::disconnect() - } - - // unhook all our event handlers -- BOOST_FOREACH(const boost::signals::connection connection, connections_) -+ BOOST_FOREACH(const RSTUDIO_BOOST_CONNECTION connection, connections_) - { - connection.disconnect(); - } ---- src/cpp/session/modules/rmarkdown/NotebookExec.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookExec.hpp -@@ -18,8 +18,7 @@ - - #include - --#include -- -+#include - #include - - #include -@@ -103,7 +102,7 @@ class ChunkExecContext : public NotebookCapture (priva - bool hasErrors_; - - std::vector > captures_; -- std::vector connections_; -+ std::vector connections_; - }; - - } // namespace notebook ---- src/cpp/session/modules/rmarkdown/NotebookPlots.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookPlots.cpp -@@ -20,11 +20,12 @@ - - #include - #include --#include - --#include --#include -+#include - #include -+#include -+ -+#include - - #include - ---- src/cpp/session/modules/rmarkdown/NotebookPlots.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookPlots.hpp -@@ -18,8 +18,10 @@ - #define SESSION_NOTEBOOK_PLOTS_HPP - - #include --#include -+ -+#include - #include -+ - #include - - #include "NotebookCapture.hpp" -@@ -80,9 +82,9 @@ class PlotCapture : public NotebookCapture (private) - - unsigned lastOrdinal_; - -- boost::signals::connection onBeforeNewPlot_; -- boost::signals::connection onBeforeNewGridPage_; -- boost::signals::connection onNewPlot_; -+ RSTUDIO_BOOST_CONNECTION onBeforeNewPlot_; -+ RSTUDIO_BOOST_CONNECTION onBeforeNewGridPage_; -+ RSTUDIO_BOOST_CONNECTION onNewPlot_; - - double width_; - double height_; ---- src/cpp/session/modules/rmarkdown/NotebookQueue.cpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/NotebookQueue.cpp -@@ -87,7 +87,7 @@ class NotebookQueue : boost::noncopyable (public) - pInput_->enque(kThreadQuitCommand); - - // unregister handlers -- BOOST_FOREACH(boost::signals::connection connection, handlers_) -+ BOOST_FOREACH(RSTUDIO_BOOST_CONNECTION connection, handlers_) - { - connection.disconnect(); - } -@@ -652,7 +652,7 @@ class NotebookQueue : boost::noncopyable (public) - boost::shared_ptr execContext_; - - // registered signal handlers -- std::vector handlers_; -+ std::vector handlers_; - - // the thread which submits console input, and the queue which feeds it - boost::thread console_; ---- src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp.orig 2018-05-31 21:11:21 UTC -+++ src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp -@@ -18,7 +18,8 @@ - #define SESSION_RMARKDOWN_NOTEBOOK_HPP - - #include --#include -+ -+#include - #include - - #define kChunkLibDir "lib" -@@ -76,24 +77,24 @@ std::string notebookCtxId(); - struct Events : boost::noncopyable - { - // Document {0}, chunk {1} from context id {3} execution completed -- boost::signal - onChunkExecCompleted; - - // Document {0}, chunk {1} had console output of type {2} and text {3} -- boost::signal - onChunkConsoleOutput; - -- boost::signal - onPlotOutput; -- boost::signal onHtmlOutput; -- boost::signal onErrorOutput; -- boost::signal onErrorOutput; -+ RSTUDIO_BOOST_SIGNAL onDataOutput; -- boost::signal -+ RSTUDIO_BOOST_SIGNAL - onCondition; - }; - ---- src/tools/clang-ubsan-build.orig 2018-05-31 21:11:21 UTC -+++ src/tools/clang-ubsan-build -@@ -10,19 +10,19 @@ - - : ${RSTUDIO_USE_LIBCXX="Yes"} - : ${RSTUDIO_USE_SYSTEM_BOOST="Yes"} --: ${RSTUDIO_BOOST_VERSION="1.56.0"} -+: ${RSTUDIO_BOOST_REQUESTED_VERSION="1.56.0"} - - mkdir -p "${BUILD_DIR}" - cd "${BUILD_DIR}" --cmake ../cpp \ -- -DLIBR_HOME="${R_HOME}" \ -- -DCMAKE_C_COMPILER="${CC}" \ -- -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -- -DCMAKE_CXX_COMPILER="${CXX}" \ -- -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -- -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ -- -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ -- -DRSTUDIO_BOOST_VERSION="${RSTUDIO_BOOST_VERSION}" \ -+cmake ../cpp \ -+ -DLIBR_HOME="${R_HOME}" \ -+ -DCMAKE_C_COMPILER="${CC}" \ -+ -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -+ -DCMAKE_CXX_COMPILER="${CXX}" \ -+ -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -+ -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ -+ -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ -+ -DRSTUDIO_BOOST_REQUESTED_VERSION="${RSTUDIO_BOOST_REQUESTED_VERSION}" \ - "$@" - cd .. - ---- src/tools/gcc-ubsan-build.orig 2018-05-31 21:11:21 UTC -+++ src/tools/gcc-ubsan-build -@@ -19,19 +19,19 @@ DEFAULT_ASANFLAGS="$(echo ${DEFAULT_ASANFLAGS} | tr '\ - # NOTE: Boost 1.50.0 not compatible with gcc-6 - : ${RSTUDIO_USE_LIBCXX="No"} - : ${RSTUDIO_USE_SYSTEM_BOOST="Yes"} --: ${RSTUDIO_BOOST_VERSION="1.54.0"} -+: ${RSTUDIO_BOOST_REQUESTED_VERSION="1.54.0"} - - mkdir -p "${BUILD_DIR}" - cd "${BUILD_DIR}" --cmake ../cpp \ -- -DLIBR_HOME="${R_HOME}" \ -- -DCMAKE_C_COMPILER="${CC}" \ -- -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -- -DCMAKE_CXX_COMPILER="${CXX}" \ -- -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -- -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ -- -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ -- -DRSTUDIO_BOOST_VERSION="${RSTUDIO_BOOST_VERSION}" \ -+cmake ../cpp \ -+ -DLIBR_HOME="${R_HOME}" \ -+ -DCMAKE_C_COMPILER="${CC}" \ -+ -DCMAKE_C_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -+ -DCMAKE_CXX_COMPILER="${CXX}" \ -+ -DCMAKE_CXX_FLAGS="${ASANFLAGS} ${LDFLAGS}" \ -+ -DRSTUDIO_USE_LIBCXX="${RSTUDIO_USE_LIBCXX}" \ -+ -DRSTUDIO_USE_SYSTEM_BOOST="${RSTUDIO_USE_SYSTEM_BOOST}" \ -+ -DRSTUDIO_BOOST_REQUESTED_VERSION="${RSTUDIO_BOOST_REQUESTED_VERSION}" \ - "$@" - cd .. - ---- src/tools/xcode-ubsan-build.orig 2018-05-31 21:11:21 UTC -+++ src/tools/xcode-ubsan-build -@@ -15,13 +15,13 @@ - # sanitizers released with newer versions of clang) - mkdir -p "${BUILD_DIR}" - cd "${BUILD_DIR}" --cmake ../cpp -GXcode \ -- -DLIBR_HOME="${R_HOME}" \ -- -DLIBR_INCLUDE_DIRS="${R_INCL}" \ -- -DLIBR_DOC_DIR="${R_DOCS}" \ -- -DRSTUDIO_USE_LIBCXX="Yes" \ -- -DRSTUDIO_USE_SYSTEM_BOOST="Yes" \ -- -DRSTUDIO_BOOST_VERSION="1.56.0" \ -+cmake ../cpp -GXcode \ -+ -DLIBR_HOME="${R_HOME}" \ -+ -DLIBR_INCLUDE_DIRS="${R_INCL}" \ -+ -DLIBR_DOC_DIR="${R_DOCS}" \ -+ -DRSTUDIO_USE_LIBCXX="Yes" \ -+ -DRSTUDIO_USE_SYSTEM_BOOST="Yes" \ -+ -DRSTUDIO_BOOST_REQUESTED_VERSION="1.56.0" \ - "$@" - cmake ../cpp -DLIBR_LIBRARIES="${R_LIBS}/libR.dylib" - cd .. Property changes on: head/devel/RStudio/files/patch-boost-1.69 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/devel/RStudio/files/patch-CMakeGlobals.txt =================================================================== --- head/devel/RStudio/files/patch-CMakeGlobals.txt (revision 495053) +++ head/devel/RStudio/files/patch-CMakeGlobals.txt (revision 495054) @@ -1,27 +1,33 @@ ---- CMakeGlobals.txt.orig 2018-06-07 06:50:17 UTC +--- CMakeGlobals.txt.orig 2019-02-18 00:38:08 UTC +++ CMakeGlobals.txt -@@ -84,14 +84,16 @@ endif() +@@ -74,17 +74,19 @@ endif() # record git revision hash (cache it since we don't use this in development # mode and we don't want it to force rebuilds there) --if(NOT RSTUDIO_SESSION_WIN64 AND NOT RSTUDIO_GIT_REVISION_HASH) +-if(NOT RSTUDIO_GIT_REVISION_HASH) - find_program(GIT_EXECUTABLE git) - if(GIT_EXECUTABLE) -- exec_program(git ARGS rev-parse HEAD -- OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH) +- execute_process( +- COMMAND git rev-parse HEAD +- WORKING_DIRECTORY "${ROOT_SRC_DIR}" +- OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH +- OUTPUT_STRIP_TRAILING_WHITESPACE) - SET(RSTUDIO_GIT_REVISION_HASH "${RSTUDIO_GIT_REVISION_HASH}" CACHE STRING "Git Revision Hash") - endif() -endif() -+#if(NOT RSTUDIO_SESSION_WIN64 AND NOT RSTUDIO_GIT_REVISION_HASH) ++#if(NOT RSTUDIO_GIT_REVISION_HASH) +# find_program(GIT_EXECUTABLE git) +# if(GIT_EXECUTABLE) -+# exec_program(git ARGS rev-parse HEAD -+# OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH) ++# execute_process( ++# COMMAND git rev-parse HEAD ++# WORKING_DIRECTORY "${ROOT_SRC_DIR}" ++# OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH ++# OUTPUT_STRIP_TRAILING_WHITESPACE) +# SET(RSTUDIO_GIT_REVISION_HASH "${RSTUDIO_GIT_REVISION_HASH}" CACHE STRING "Git Revision Hash") +# endif() +#endif() + +SET(RSTUDIO_VERSION "${FREEBSD_RSTUDIO_VERSION}" CACHE STRING "FreeBSD RStudio version") # record these from Jenkins if available if("$ENV{GIT_COMMIT}" STREQUAL "") Index: head/devel/RStudio/files/patch-CMakeLists.txt =================================================================== --- head/devel/RStudio/files/patch-CMakeLists.txt (revision 495053) +++ head/devel/RStudio/files/patch-CMakeLists.txt (revision 495054) @@ -1,21 +1,28 @@ ---- CMakeLists.txt.orig 2017-11-16 21:40:37 UTC +--- CMakeLists.txt.orig 2019-02-16 02:00:24 UTC +++ CMakeLists.txt -@@ -31,8 +31,7 @@ endif() - if (NOT RSTUDIO_SESSION_WIN64) - # dynamically configure SOURCE with the git revision hash - INSTALL(CODE " -- exec_program(git ARGS rev-parse HEAD +@@ -29,13 +29,18 @@ endif() + + # install root docs + # dynamically configure SOURCE with the git revision hash +-INSTALL(CODE " +- execute_process(COMMAND git rev-parse HEAD +- WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\" - OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH) -+ set(RSTUDIO_VERSION ${FREEBSD_RSTUDIO_VERSION}) - configure_file (\"${CMAKE_CURRENT_SOURCE_DIR}/SOURCE.in\" - \"${CMAKE_CURRENT_BINARY_DIR}/SOURCE\") - ") -@@ -57,8 +56,6 @@ add_subdirectory(package) +- configure_file (\"${CMAKE_CURRENT_SOURCE_DIR}/SOURCE.in\" +- \"${CMAKE_CURRENT_BINARY_DIR}/SOURCE\") +-") ++#INSTALL(CODE " ++# execute_process(COMMAND git rev-parse HEAD ++# WORKING_DIRECTORY \"${CMAKE_CURRENT_SOURCE_DIR}\" ++# OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH) ++# configure_file (\"${CMAKE_CURRENT_SOURCE_DIR}/SOURCE.in\" ++# \"${CMAKE_CURRENT_BINARY_DIR}/SOURCE\") ++#") ++ ++configure_file (${CMAKE_CURRENT_SOURCE_DIR}/SOURCE.in ++ ${CMAKE_CURRENT_BINARY_DIR}/SOURCE) ++ ++set(RSTUDIO_VERSION ${FREEBSD_RSTUDIO_VERSION}) - - -- -- - - - + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/VERSION.in + ${CMAKE_CURRENT_BINARY_DIR}/VERSION) Index: head/devel/RStudio/files/patch-src_cpp_core_CMakeLists.txt =================================================================== --- head/devel/RStudio/files/patch-src_cpp_core_CMakeLists.txt (revision 495053) +++ head/devel/RStudio/files/patch-src_cpp_core_CMakeLists.txt (revision 495054) @@ -1,23 +1,19 @@ ---- src/cpp/core/CMakeLists.txt.orig 2017-11-16 21:40:37 UTC +--- src/cpp/core/CMakeLists.txt.orig 2019-02-16 02:00:24 UTC +++ src/cpp/core/CMakeLists.txt -@@ -143,16 +143,17 @@ if (UNIX) - } - " - HAVE_SCANDIR_POSIX) -- +@@ -156,12 +156,14 @@ if (UNIX) # platform introspection check_symbol_exists(SA_NOCLDWAIT "signal.h" HAVE_SA_NOCLDWAIT) check_symbol_exists(SO_PEERCRED "sys/socket.h" HAVE_SO_PEERCRED) + set(CMAKE_REQUIRED_LIBRARIES ${FREEBSD_LIBDIR}/libinotify.so) check_function_exists(inotify_init1 HAVE_INOTIFY_INIT1) + set(CMAKE_REQUIRED_LIBRARIES "") check_function_exists(getpeereid HAVE_GETPEEREID) check_function_exists(setresuid HAVE_SETRESUID) - if(EXISTS "/proc/self") + #if(EXISTS "/proc/self") set(HAVE_PROCSELF TRUE) - endif() + #endif() - configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/config.h) + # find packages and libraries + find_library(PTHREAD_LIBRARIES pthread) Index: head/devel/RStudio/files/patch-src_cpp_core_system_PosixSystem.cpp =================================================================== --- head/devel/RStudio/files/patch-src_cpp_core_system_PosixSystem.cpp (revision 495053) +++ head/devel/RStudio/files/patch-src_cpp_core_system_PosixSystem.cpp (revision 495054) @@ -1,137 +1,137 @@ ---- src/cpp/core/system/PosixSystem.cpp.orig 2018-05-16 18:21:36 UTC +--- src/cpp/core/system/PosixSystem.cpp.orig 2019-02-16 02:00:24 UTC +++ src/cpp/core/system/PosixSystem.cpp -@@ -36,6 +36,7 @@ +@@ -37,6 +37,7 @@ #include #include #include +#include #include -@@ -45,13 +46,22 @@ +@@ -46,13 +47,22 @@ #include #endif -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) #include #include #include #include #endif +#if defined(__FreeBSD__) +#include +#include +#include +#include +#include +#include +#endif + #include #include #include -@@ -569,7 +579,35 @@ Error getOpenFds(std::vector* return getOpenFds(getpid(), pFds); } -#ifndef __APPLE__ +#if defined(__FreeBSD__) +Error getOpenFds(pid_t pid, std::vector* pFds) +{ + struct procstat *prstat; + struct kinfo_proc *kipp, *p; + struct filestat_list *head; + struct filestat *fst; + unsigned i, cnt; + + prstat = procstat_open_sysctl(); + p = procstat_getprocs(prstat, KERN_PROC_PROC, pid, &cnt); + + for (i = 0; i < cnt; i++) { + kipp = &p[i]; + if (kipp->ki_pid == pid) { + head = procstat_getfiles(prstat, kipp, 0); + if (head != NULL) + STAILQ_FOREACH(fst, head, next) + if (fst->fs_fd >= 0) + pFds->push_back(fst->fs_fd); + } + } + + procstat_freeprocs(prstat, p); + procstat_close(prstat); + + return Success(); +} +#elif !defined(__APPLE__) - Error getOpenFds(pid_t pid, std::vector* pFds) + Error getOpenFds(pid_t pid, std::vector* pFds) { std::string pidStr = safe_convert::numberToString(pid); -@@ -859,7 +897,11 @@ Error executablePath(const char * argv0, +@@ -920,7 +958,11 @@ Error executablePath(const char * argv0, #elif defined(HAVE_PROCSELF) +#if defined(__FreeBSD__) + executablePath = std::string("/proc/curproc/file"); +#else executablePath = std::string("/proc/self/exe"); +#endif #else -@@ -1296,7 +1338,7 @@ Error osResourceLimit(ResourceLimit limi +@@ -1395,7 +1437,7 @@ Error osResourceLimit(ResourceLimit limi case CpuLimit: *pLimit = RLIMIT_CPU; break; -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) case NiceLimit: *pLimit = RLIMIT_NICE; break; -@@ -1369,7 +1411,7 @@ Error systemInformation(SysInfo* pSysInf +@@ -1468,7 +1510,7 @@ Error systemInformation(SysInfo* pSysInf { pSysInfo->cores = boost::thread::hardware_concurrency(); -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) struct sysinfo info; if (::sysinfo(&info) == -1) return systemError(errno, ERROR_LOCATION); -@@ -1402,7 +1444,7 @@ void toPids(const std::vector* pPids) { // use pidof to capture pids -@@ -1711,7 +1753,7 @@ Error restrictCoreDumps() +@@ -1908,7 +1950,7 @@ Error restrictCoreDumps() return error; // no ptrace core dumps permitted -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) int res = ::prctl(PR_SET_DUMPABLE, 0); if (res == -1) return systemError(errno, ERROR_LOCATION); -@@ -1722,7 +1764,7 @@ Error restrictCoreDumps() +@@ -1919,7 +1961,7 @@ Error restrictCoreDumps() Error enableCoreDumps() { -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) int res = ::prctl(PR_SET_DUMPABLE, 1); if (res == -1) return systemError(errno, ERROR_LOCATION); -@@ -1748,7 +1790,7 @@ void printCoreDumpable(const std::string +@@ -1945,7 +1987,7 @@ void printCoreDumpable(const std::string ostr << " hard limit: " << rLimitHard << std::endl; // ptrace -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__OpenBSD__) && !defined(__NetBSD__) int dumpable = ::prctl(PR_GET_DUMPABLE, NULL, NULL, NULL, NULL); if (dumpable == -1) LOG_ERROR(systemError(errno, ERROR_LOCATION)); Index: head/devel/RStudio/files/patch-src_cpp_desktop_DesktopMain.cpp =================================================================== --- head/devel/RStudio/files/patch-src_cpp_desktop_DesktopMain.cpp (revision 495053) +++ head/devel/RStudio/files/patch-src_cpp_desktop_DesktopMain.cpp (revision 495054) @@ -1,18 +1,27 @@ ---- src/cpp/desktop/DesktopMain.cpp.orig 2018-05-16 18:21:36 UTC +--- src/cpp/desktop/DesktopMain.cpp.orig 2019-02-16 02:00:24 UTC +++ src/cpp/desktop/DesktopMain.cpp -@@ -40,6 +40,7 @@ +@@ -41,6 +41,7 @@ #include "DesktopProgressActivator.hpp" #include "DesktopNetworkProxyFactory.hpp" #include "DesktopActivationOverlay.hpp" +#include "global-setenv.h" - QProcess* pRSessionProcess; - QString sharedSecret; -@@ -262,6 +263,7 @@ bool useChromiumDevtools() + #ifdef _WIN32 + #include +@@ -324,7 +325,7 @@ QString inferDefaultRenderingEngine() + + #endif + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + + QString inferDefaultRenderingEngine() + { +@@ -383,6 +384,7 @@ void initializeRenderingEngine(std::vect int main(int argc, char* argv[]) { + GLOBAL_SETENV core::system::initHook(); try Index: head/devel/RStudio/files/patch-src_cpp_desktop_DesktopWebView.cpp =================================================================== --- head/devel/RStudio/files/patch-src_cpp_desktop_DesktopWebView.cpp (nonexistent) +++ head/devel/RStudio/files/patch-src_cpp_desktop_DesktopWebView.cpp (revision 495054) @@ -0,0 +1,29 @@ +--- src/cpp/desktop/DesktopWebView.cpp.orig 2019-02-18 00:53:59 UTC ++++ src/cpp/desktop/DesktopWebView.cpp +@@ -257,7 +257,7 @@ void WebView::contextMenuEvent(QContextM + + case QWebEngineContextMenuData::MediaTypeAudio: + +-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) ++#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) && !defined(__FreeBSD__) // FreeBSD stayed with qt5-webengine-5.9.5_14 while Qt advanced to 5.12.0 + if (data.mediaFlags().testFlag(QWebEngineContextMenuData::MediaPaused)) + menu->addAction(label(tr("&Play")), [&]() { triggerPageAction(QWebEnginePage::ToggleMediaPlayPause); }); + else +@@ -274,7 +274,7 @@ void WebView::contextMenuEvent(QContextM + + case QWebEngineContextMenuData::MediaTypeVideo: + +-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) ++#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) && !defined(__FreeBSD__) // FreeBSD stayed with qt5-webengine-5.9.5_14 while Qt advanced to 5.12.0 + if (data.mediaFlags().testFlag(QWebEngineContextMenuData::MediaPaused)) + menu->addAction(label(tr("&Play")), [&]() { triggerPageAction(QWebEnginePage::ToggleMediaPlayPause); }); + else +@@ -332,7 +332,7 @@ void WebView::contextMenuEvent(QContextM + menu->addAction(selectAll); + } + +-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) ++#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0) && !defined(__FreeBSD__) // FreeBSD stayed with qt5-webengine-5.9.5_14 while Qt advanced to 5.12.0 + menu->addSeparator(); + menu->addAction(label(tr("&Reload")), [&]() { triggerPageAction(QWebEnginePage::Reload); }); + menu->addAction(label(tr("I&nspect element")), [&]() { Property changes on: head/devel/RStudio/files/patch-src_cpp_desktop_DesktopWebView.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/RStudio/files/patch-src_cpp_diagnostics_CMakeLists.txt =================================================================== --- head/devel/RStudio/files/patch-src_cpp_diagnostics_CMakeLists.txt (revision 495053) +++ head/devel/RStudio/files/patch-src_cpp_diagnostics_CMakeLists.txt (revision 495054) @@ -1,10 +1,10 @@ ---- src/cpp/diagnostics/CMakeLists.txt.orig 2018-05-30 06:20:49 UTC +--- src/cpp/diagnostics/CMakeLists.txt.orig 2019-02-16 02:00:24 UTC +++ src/cpp/diagnostics/CMakeLists.txt @@ -62,6 +62,7 @@ endif() # set link dependencies target_link_libraries(diagnostics rstudio-core + procstat ) - if(NOT RSTUDIO_SESSION_WIN64) - install(TARGETS diagnostics DESTINATION ${RSTUDIO_INSTALL_BIN}) + install(TARGETS diagnostics DESTINATION ${RSTUDIO_INSTALL_BIN}) + Index: head/devel/RStudio/files/patch-src_cpp_session_CMakeLists.txt =================================================================== --- head/devel/RStudio/files/patch-src_cpp_session_CMakeLists.txt (revision 495053) +++ head/devel/RStudio/files/patch-src_cpp_session_CMakeLists.txt (revision 495054) @@ -1,95 +1,73 @@ ---- src/cpp/session/CMakeLists.txt.orig 2018-05-16 18:21:36 UTC +--- src/cpp/session/CMakeLists.txt.orig 2019-02-16 02:00:24 UTC +++ src/cpp/session/CMakeLists.txt @@ -25,9 +25,9 @@ endif() if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/mathjax-26") message(FATAL_ERROR "Mathjax 2.6 not found (re-run install-dependencies script to install)") endif() -if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc") - message(FATAL_ERROR "pandoc not found (re-run install-dependencies script to install)") -endif() +#if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc") +# message(FATAL_ERROR "pandoc not found (re-run install-dependencies script to install)") +#endif() # we often install embedded versions of these packages but don't do so currently -@@ -42,19 +42,19 @@ if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DI - endif() +@@ -39,18 +39,18 @@ endif() + # endif() - # verify libclang is installed + # verify libclang is installed (Windows only) -if(WIN32) -- set(LIBCLANG_VERSION "3.4") --else() -- set(LIBCLANG_VERSION "3.5") +- set(LIBCLANG_VERSION "5.0.2") +- set(LIBCLANG_DIR "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/${LIBCLANG_VERSION}") +- if(NOT EXISTS "${LIBCLANG_DIR}") +- message(FATAL_ERROR "libclang ${LIBCLANG_VERSION} not found (re-run install-dependencies script to install)") +- endif() +- +- set(LIBCLANG_HEADERS_DIR "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/builtin-headers") +- if(NOT EXISTS "${LIBCLANG_HEADERS_DIR}") +- message(FATAL_ERROR "libclang builtin-headers not found (re-run install-dependencies script to install)") +- endif() -endif() --set(LIBCLANG_DIR "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/${LIBCLANG_VERSION}") --if(NOT EXISTS "${LIBCLANG_DIR}") -- message(FATAL_ERROR "libclang ${LIBCLANG_VERSION} not found (re-run install-dependencies script to install)") --endif() --set(LIBCLANG_HEADERS_DIR "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/builtin-headers") --if(NOT EXISTS "${LIBCLANG_HEADERS_DIR}") -- message(FATAL_ERROR "libclang builtin-headers not found (re-run install-dependencies script to install)") --endif() +#if(WIN32) -+# set(LIBCLANG_VERSION "3.4") -+#else() -+# set(LIBCLANG_VERSION "3.5") ++# set(LIBCLANG_VERSION "5.0.2") ++# set(LIBCLANG_DIR "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/${LIBCLANG_VERSION}") ++# if(NOT EXISTS "${LIBCLANG_DIR}") ++# message(FATAL_ERROR "libclang ${LIBCLANG_VERSION} not found (re-run install-dependencies script to install)") ++# endif() ++# ++# set(LIBCLANG_HEADERS_DIR "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/builtin-headers") ++# if(NOT EXISTS "${LIBCLANG_HEADERS_DIR}") ++# message(FATAL_ERROR "libclang builtin-headers not found (re-run install-dependencies script to install)") ++# endif() +#endif() -+set(LIBCLANG_DIR ${CMAKE_INSTALL_PREFIX}) -+#if(NOT EXISTS "${LIBCLANG_DIR}") -+# message(FATAL_ERROR "libclang ${LIBCLANG_VERSION} not found (re-run install-dependencies script to install)") -+#endif() -+set(LIBCLANG_HEADERS_DIR "${CMAKE_INSTALL_PREFIX}/include") -+#if(NOT EXISTS "${LIBCLANG_HEADERS_DIR}") -+# message(FATAL_ERROR "libclang builtin-headers not found (re-run install-dependencies script to install)") -+#endif() - # include files -@@ -362,6 +362,9 @@ endif() + file(GLOB_RECURSE SESSION_HEADER_FILES "*.h*") +@@ -364,6 +364,9 @@ endif() # define executable add_executable(rsession ${SESSION_SOURCE_FILES} ${SESSION_HEADER_FILES}) +# additional libraries +target_link_libraries(rsession -L${FREEBSD_LIBDIR} -linotify -lprocstat) + # skip libR RPATH at development time if(RSTUDIO_DEVELOPMENT OR RSTUDIO_RUN_IN_PLACE) set_target_properties(rsession PROPERTIES SKIP_BUILD_RPATH TRUE) -@@ -474,11 +477,11 @@ if (NOT RSTUDIO_SESSION_WIN64) - DESTINATION ${RSTUDIO_INSTALL_SUPPORTING}/resources) +@@ -486,11 +489,11 @@ else() + set(PANDOC_VERSION "2.3.1" CACHE INTERNAL "Pandoc version") + endif() - # install pandoc -- set(PANDOC_BIN "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc/2.2.1") -- file(GLOB PANDOC_FILES "${PANDOC_BIN}/pandoc*") -- install(FILES ${PANDOC_FILES} -- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE -- DESTINATION ${RSTUDIO_INSTALL_BIN}/pandoc) -+ #set(PANDOC_BIN "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc/2.2.1") -+ #file(GLOB PANDOC_FILES "${PANDOC_BIN}/pandoc*") -+ #install(FILES ${PANDOC_FILES} -+ # PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE -+ # DESTINATION ${RSTUDIO_INSTALL_BIN}/pandoc) +-set(PANDOC_BIN "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc/${PANDOC_VERSION}") +-file(GLOB PANDOC_FILES "${PANDOC_BIN}/pandoc*") +-install(FILES ${PANDOC_FILES} +- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE +- DESTINATION ${RSTUDIO_INSTALL_BIN}/pandoc) ++#set(PANDOC_BIN "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc/${PANDOC_VERSION}") ++#file(GLOB PANDOC_FILES "${PANDOC_BIN}/pandoc*") ++#install(FILES ${PANDOC_FILES} ++# PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ++# DESTINATION ${RSTUDIO_INSTALL_BIN}/pandoc) - # install rmarkdown package - # file(GLOB RMARKDOWN_PACKAGE "${RSTUDIO_DEPENDENCIES_DIR}/common/rmarkdown*.tar.gz") -@@ -524,14 +527,14 @@ if (NOT RSTUDIO_SESSION_WIN64) - install(PROGRAMS ${LIBCLANG_64_FILES} - DESTINATION ${RSTUDIO_INSTALL_BIN}/rsclang/x86_64) - else() -- file(GLOB_RECURSE LIBCLANG_FILES "${LIBCLANG_DIR}/libclang.*") -- install(PROGRAMS ${LIBCLANG_FILES} -- DESTINATION ${RSTUDIO_INSTALL_BIN}/rsclang) -+ #file(GLOB_RECURSE LIBCLANG_FILES "${LIBCLANG_DIR}/libclang.*") -+ #install(PROGRAMS ${LIBCLANG_FILES} -+ # DESTINATION ${RSTUDIO_INSTALL_BIN}/rsclang) - endif() - - # install libclang builtin-headers -- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/builtin-headers" -- DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources/libclang") -+ #install(DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/libclang/builtin-headers" -+ # DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources/libclang") - - # install winpty on windows - if(WIN32) + # install rmarkdown package + # file(GLOB RMARKDOWN_PACKAGE "${RSTUDIO_DEPENDENCIES_DIR}/common/rmarkdown*.tar.gz") Index: head/devel/RStudio/files/patch-src_cpp_session_SessionMain.cpp =================================================================== --- head/devel/RStudio/files/patch-src_cpp_session_SessionMain.cpp (nonexistent) +++ head/devel/RStudio/files/patch-src_cpp_session_SessionMain.cpp (revision 495054) @@ -0,0 +1,15 @@ +--- src/cpp/session/SessionMain.cpp.orig 2019-02-18 01:05:52 UTC ++++ src/cpp/session/SessionMain.cpp +@@ -1620,8 +1620,12 @@ int main (int argc, char * const argv[]) + + // move to own process group + #ifndef _WIN32 ++#if defined(__FreeBSD__) ++ ::setpgrp(0, 0); ++#else + ::setpgrp(); + #endif ++#endif + + // get main thread id (used to distinguish forks which occur + // from the main thread vs. child threads) Property changes on: head/devel/RStudio/files/patch-src_cpp_session_SessionMain.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/RStudio/pkg-descr =================================================================== --- head/devel/RStudio/pkg-descr (revision 495053) +++ head/devel/RStudio/pkg-descr (revision 495054) @@ -1,6 +1,6 @@ RStudio is an integrated development environment (IDE) for R. It includes a console, syntax-highlighting editor that supports direct code execution, as well as tools for plotting, history, debugging and workspace management. -WWW: https://www.rstudio.org +WWW: https://www.rstudio.com/