Import math/rstudio, the IDE for R.

ok feinerer@
Works; improvements in-tree to come.

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.
This commit is contained in:
bcallah 2020-07-01 18:10:07 +00:00
parent 3998996ee2
commit ab176a8906
22 changed files with 2522 additions and 0 deletions

102
math/rstudio/Makefile Normal file
View File

@ -0,0 +1,102 @@
# $OpenBSD: Makefile,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
# XXX: patches/patch-src_cpp_core_r_util_REnvironmentPosix_cpp
# must be kept in sync with math/R shlib bumps.
# Upstream says no more 32-bit support.
# Not really an issue because qtwebengine is a bigger problem.
ONLY_FOR_ARCHS = ${LP64_ARCHS}
V = 1.3.959
COMMENT = Integrated Development Environment (IDE) for R
PKGNAME = rstudio-${V}
CATEGORIES = math x11
HOMEPAGE = https://www.rstudio.com/
MAINTAINER = Brian Callahan <bcallah@openbsd.org>
# AGPLv3 only
PERMIT_PACKAGE = Yes
WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5DBus Qt5Gui Qt5Network
WANTLIB += Qt5OpenGL Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick
WANTLIB += Qt5QuickWidgets Qt5Sensors Qt5Sql Qt5Svg Qt5WebChannel
WANTLIB += Qt5WebEngine Qt5WebEngineCore Qt5WebEngineWidgets Qt5Widgets
WANTLIB += Qt5Xml Qt5XmlPatterns boost_atomic-mt boost_chrono-mt
WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
WANTLIB += boost_program_options-mt boost_random-mt boost_regex-mt
WANTLIB += boost_system-mt boost_thread-mt c crypto m pam ssl
WANTLIB += util uuid z lib/inotify/inotify
# XXX: Ports does not permit GH_* and MASTER_SITES together.
MASTER_SITES0 = https://github.com/rstudio/rstudio/archive/
MASTER_SITES1 = https://s3.amazonaws.com/rstudio-buildtools/dictionaries/
MASTER_SITES2 = https://s3.amazonaws.com/rstudio-buildtools/
DISTFILES = rstudio-${V}{v${V}}.tar.gz:0 \
core-dictionaries.zip:1 \
gin-${GIN_VERSION}.zip:2 \
gwt-${GWT_VERSION}.zip:2 \
mathjax-27.zip:2
# CMake looks for qmake-qt5 during configure...
MODULES = devel/cmake \
java \
x11/qt5
MODJAVA_VER = 1.8+
# Needed for gwt to build all the web pages.
# Not sure MODJAVA_BUILD=ant is appropriate here.
BUILD_DEPENDS = devel/apache-ant
LIB_DEPENDS = devel/boost \
devel/libinotify \
security/openpam \
sysutils/e2fsprogs \
x11/qt5/qtsensors \
x11/qt5/qtsvg \
x11/qt5/qtwebengine \
x11/qt5/qtxmlpatterns
RUN_DEPENDS = devel/desktop-file-utils \
misc/shared-mime-info \
x11/gtk+3,-guic
CONFIGURE_ARGS = -DBoost_INCLUDE_DIR="${LOCALBASE}/include" \
-DQT_QMAKE_EXECUTABLE="${LOCALBASE}/bin/qmake-qt5" \
-DQt5WebEngine_DIR="${LOCALBASE}/lib/qt5/cmake/Qt5WebEngine" \
-DQt5WebEngineWidgets_DIR="${LOCALBASE}/lib/qt5/cmake/Qt5WebEngineWidgets" \
-DCMAKE_EXE_LINKER_FLAGS="-L${LOCALBASE}/lib/inotify -linotify -rpath ${LOCALBASE}/lib/inotify"
NO_TEST = Yes
WRKDIST = ${WRKDIR}/rstudio-${V}
GIN_VERSION = 2.1.2
GWT_VERSION = 2.8.1
# Put everything where CMake expects it to be.
post-extract:
@mkdir -p ${WRKSRC}/dependencies/common/dictionaries
@mv ${WRKDIR}/en_* ${WRKSRC}/dependencies/common/dictionaries
@mv ${WRKDIR}/mathjax-* ${WRKSRC}/dependencies/common
@mkdir -p ${WRKSRC}/src/gwt/lib/gwt
@mv ${WRKDIR}/gwt-${GWT_VERSION} ${WRKSRC}/src/gwt/lib/gwt/${GWT_VERSION}
@mkdir -p ${WRKSRC}/src/gwt/lib/gin/${GIN_VERSION}
@mv ${WRKDIR}/*.jar ${WRKSRC}/src/gwt/lib/gin/${GIN_VERSION}
# desktop/CMakeLists.txt: too much for manual patching...
# core/system/PosixSystem.cpp: Unfortunate, but OpenBSD
# does not provide a way to get the path of an executable
# at runtime easily.
do-gen:
sed -i 's,/usr/share,${LOCALBASE}/share,g' \
${WRKSRC}/src/cpp/desktop/CMakeLists.txt
sed -i 's,LOCALBASE,${LOCALBASE},g' \
${WRKSRC}/src/cpp/core/system/PosixSystem.cpp
# No binary in ${LOCALBASE}/bin by default.
post-install:
${SUBST_CMD} -c -m 555 ${FILESDIR}/rstudio.sh ${PREFIX}/bin/rstudio
.include <bsd.port.mk>

10
math/rstudio/distinfo Normal file
View File

@ -0,0 +1,10 @@
SHA256 (core-dictionaries.zip) = Q0GpYw77nc9/IVwyQTZAfzs9YAPhyW8uXh+fFNV4dJQ=
SHA256 (gin-2.1.2.zip) = uY5wQWT1S+WWd5aWo/zRG+V4XJkHqZ7FNf9ulSWtX5o=
SHA256 (gwt-2.8.1.zip) = C3r4n9rbTsUc20AKzpRjfW/p/6QBsWjiw9NyOSoAoKc=
SHA256 (mathjax-27.zip) = xWy6psTOA8H8uusrXqPDEtL7diajYCVHcMvLiPsgQXY=
SHA256 (rstudio-1.3.959.tar.gz) = XIn+GOPV6tDnkhyI5ftC7YFoIyOOhBNfXp46Nk01/ME=
SIZE (core-dictionaries.zip) = 876339
SIZE (gin-2.1.2.zip) = 1341053
SIZE (gwt-2.8.1.zip) = 95650299
SIZE (mathjax-27.zip) = 3285230
SIZE (rstudio-1.3.959.tar.gz) = 89639419

View File

@ -0,0 +1,3 @@
#!/bin/sh
${TRUEPREFIX}/lib/rstudio/bin/rstudio "$@"

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-src_CMakeLists_txt,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
Need to build gwt.
Index: src/CMakeLists.txt
--- src/CMakeLists.txt.orig
+++ src/CMakeLists.txt
@@ -18,11 +18,7 @@ cmake_minimum_required(VERSION 3.4.3)
# we've already got it from the 64-bit build), for development mode
# (since we'll want to build it incrementally using superdevmode),
# or when building monitor only
-if ( (NOT RSTUDIO_SESSION_WIN32) AND
- (NOT RSTUDIO_DEVELOPMENT) AND
- (NOT RSTUDIO_CONFIG_MONITOR_ONLY) )
- add_subdirectory(gwt)
-endif()
+add_subdirectory(gwt)
add_subdirectory(cpp)

View File

@ -0,0 +1,43 @@
$OpenBSD: patch-src_cpp_CMakeLists_txt,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
We can get away with our older version of Boost.
Index: src/cpp/CMakeLists.txt
--- src/cpp/CMakeLists.txt.orig
+++ src/cpp/CMakeLists.txt
@@ -190,7 +190,7 @@ endif()
# default Boost versions
if(NOT RSTUDIO_BOOST_REQUESTED_VERSION)
- set(RSTUDIO_BOOST_REQUESTED_VERSION 1.69.0)
+ set(RSTUDIO_BOOST_REQUESTED_VERSION 1.66.0)
endif()
# disable system boost if we're not using it.
@@ -225,7 +225,7 @@ if(UNIX)
set(Boost_USE_STATIC_LIBS ON)
set(BOOST_INCLUDEDIR ${RSTUDIO_TOOLS_BOOST}/include)
find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} EXACT REQUIRED)
- if(NOT Boost_VERSION LESS 106900)
+ if(NOT Boost_VERSION LESS 106600)
list(REMOVE_ITEM BOOST_LIBS signals)
endif()
@@ -238,7 +238,7 @@ if(UNIX)
else()
add_definitions(-DRSTUDIO_BOOST_NAMESPACE=boost)
find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED)
- if(NOT Boost_VERSION LESS 106900)
+ if(NOT Boost_VERSION LESS 106600)
list(REMOVE_ITEM BOOST_LIBS signals)
endif()
find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} REQUIRED COMPONENTS ${BOOST_LIBS})
@@ -272,7 +272,7 @@ 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)
+ if (Boost_VERSION LESS 106600)
set(RSTUDIO_BOOST_SIGNALS_VERSION 1)
else()
set(RSTUDIO_BOOST_SIGNALS_VERSION 2)

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-src_cpp_core_CMakeLists_txt,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
No -lrt
Index: src/cpp/core/CMakeLists.txt
--- src/cpp/core/CMakeLists.txt.orig
+++ src/cpp/core/CMakeLists.txt
@@ -163,7 +163,6 @@ if (UNIX)
if(NOT APPLE)
find_library(UTIL_LIBRARIES util)
find_library(UUID_LIBRARIES uuid)
- find_library(RT_LIBRARIES rt)
endif()
find_package(ZLIB REQUIRED QUIET)
@@ -177,7 +176,6 @@ if (UNIX)
${PTHREAD_LIBRARIES}
${UTIL_LIBRARIES}
${UUID_LIBRARIES}
- ${RT_LIBRARIES}
${ZLIB_LIBRARIES}
${CORE_SERVICES_LIBRARY}
)

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_core_include_core_http_RequestParser_hpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
has_value() is only found in later Boost versions.
Index: src/cpp/core/include/core/http/RequestParser.hpp
--- src/cpp/core/include/core/http/RequestParser.hpp.orig
+++ src/cpp/core/include/core/http/RequestParser.hpp
@@ -66,7 +66,7 @@ class RequestParser (public)
{
InputIterator originalBegin = begin;
- if (bufferPos_.has_value())
+ if (bufferPos_)
{
if (parsingBody_)
{

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_core_include_core_r_util_RTokenizer_hpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
wchar_t is Unicode.
Index: src/cpp/core/include/core/r_util/RTokenizer.hpp
--- src/cpp/core/include/core/r_util/RTokenizer.hpp.orig
+++ src/cpp/core/include/core/r_util/RTokenizer.hpp
@@ -35,7 +35,7 @@
// On Linux confirm that wchar_t is Unicode
#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__STDC_ISO_10646__)
- #error "wchar_t is not Unicode"
+// #error "wchar_t is not Unicode"
#endif
namespace rstudio {

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_core_r_util_REnvironmentPosix_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
XXX: How to sync with R?
Index: src/cpp/core/r_util/REnvironmentPosix.cpp
--- src/cpp/core/r_util/REnvironmentPosix.cpp.orig
+++ src/cpp/core/r_util/REnvironmentPosix.cpp
@@ -194,7 +194,7 @@ bool detectRLocationsUsingFramework(FilePath* pHomePat
// Linux specific
#else
-#define kLibRFileName "libR.so"
+#define kLibRFileName "libR.so.37.0"
#define kLibraryPathEnvVariable "LD_LIBRARY_PATH"
FilePath systemDefaultRScript(std::string* pErrMsg)

View File

@ -0,0 +1,18 @@
$OpenBSD: patch-src_cpp_core_r_util_RSessionContext_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
This is what FreeBSD does.
Index: src/cpp/core/r_util/RSessionContext.cpp
--- src/cpp/core/r_util/RSessionContext.cpp.orig
+++ src/cpp/core/r_util/RSessionContext.cpp
@@ -186,8 +186,8 @@ bool isSharedPath(const std::string& projectPath,
// not shared if we're in any of the groups that own the directory
// (note that this checks supplementary group IDs only, so the check
// against the primary group ID above is still required)
- if (::group_member(st.st_gid))
- return false;
+// if (::group_member(st.st_gid))
+// return false;
#endif
// if we got this far, we likely have access due to project sharing

View File

@ -0,0 +1,52 @@
$OpenBSD: patch-src_cpp_core_system_PosixChildProcess_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
We're macOS in this scenario.
Index: src/cpp/core/system/PosixChildProcess.cpp
--- src/cpp/core/system/PosixChildProcess.cpp.orig
+++ src/cpp/core/system/PosixChildProcess.cpp
@@ -20,7 +20,7 @@
#include <signal.h>
#include <unistd.h>
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
#include <util.h>
#include <sys/ttycom.h>
#include <sys/ioctl.h>
@@ -350,7 +350,7 @@ Error ChildProcess::terminate()
// special code path for pseudoterminal
if (options_.pseudoterminal)
{
-#ifndef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
// On Linux only do this if dealing with a Terminal-pane process.
// This is to reduce scope of this change for 1.1
// TODO: review post 1.1
@@ -362,7 +362,7 @@ Error ChildProcess::terminate()
// require the signal)
pImpl_->closeAll(false, ERROR_LOCATION);
-#ifndef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
}
#endif
@@ -945,7 +945,7 @@ AsyncChildProcess::~AsyncChildProcess()
Error AsyncChildProcess::terminate()
{
-#ifndef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
// On Linux only do this if dealing with a Terminal-pane process.
// This is to reduce scope of this change for 1.1
// TODO: review post 1.1
@@ -957,7 +957,7 @@ Error AsyncChildProcess::terminate()
pAsyncImpl_->finishedStderr_ = true;
pAsyncImpl_->finishedStdout_ = true;
}
-#ifndef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
}
#endif
return ChildProcess::terminate();

View File

@ -0,0 +1,25 @@
$OpenBSD: patch-src_cpp_core_system_PosixSched_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
We're macOS in this scenario.
Index: src/cpp/core/system/PosixSched.cpp
--- src/cpp/core/system/PosixSched.cpp.orig
+++ src/cpp/core/system/PosixSched.cpp
@@ -41,7 +41,7 @@ bool isCpuAffinityEmpty(const CpuAffinity& cpus)
Error getCpuAffinity(CpuAffinity* pCpus)
{
-#ifndef __APPLE__
+#ifndef __OpenBSD__
cpu_set_t cs;
CPU_ZERO(&cs);
if (::sched_getaffinity(0, sizeof(cs), &cs) == -1)
@@ -66,7 +66,7 @@ Error getCpuAffinity(CpuAffinity* pCpus)
Error setCpuAffinity(const CpuAffinity& cpus)
{
-#ifndef __APPLE__
+#ifndef __OpenBSD__
cpu_set_t cs;
CPU_ZERO(&cs);

View File

@ -0,0 +1,97 @@
$OpenBSD: patch-src_cpp_core_system_PosixSystem_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
Adapted from FreeBSD.
No way to get the path of an executable at runtime.
Index: src/cpp/core/system/PosixSystem.cpp
--- src/cpp/core/system/PosixSystem.cpp.orig
+++ src/cpp/core/system/PosixSystem.cpp
@@ -47,13 +47,18 @@
#include <gsl/gsl>
#endif
-#ifndef __APPLE__
+#ifndef __OpenBSD__
#include <sys/prctl.h>
#include <sys/sysinfo.h>
#include <linux/kernel.h>
#include <dirent.h>
#endif
+#ifdef __OpenBSD__
+#include <netinet/in.h>
+#include <dirent.h>
+#endif
+
#include <boost/thread.hpp>
#include <boost/format.hpp>
#include <boost/lexical_cast.hpp>
@@ -926,9 +931,8 @@ Error executablePath(const char * argv0,
// need to also search the PATH for the exe name in argv[0]
//
- // use argv[0] and initial path
- FilePath initialPath = FilePath::initialPath();
- executablePath = initialPath.completePath(argv0).getAbsolutePath();
+ // XXX: OpenBSD: assume localbase
+ executablePath = std::string("LOCALBASE/lib/rstudio/bin/rstudio");
#endif
@@ -1405,9 +1409,11 @@ Error osResourceLimit(ResourceLimit limit, int* pLimit
{
switch(limit)
{
+#ifndef __OpenBSD__
case MemoryLimit:
*pLimit = RLIMIT_AS;
break;
+#endif
case FilesLimit:
*pLimit = RLIMIT_NOFILE;
break;
@@ -1426,7 +1432,7 @@ Error osResourceLimit(ResourceLimit limit, int* pLimit
case CpuLimit:
*pLimit = RLIMIT_CPU;
break;
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__OpenBSD__)
case NiceLimit:
*pLimit = RLIMIT_NICE;
break;
@@ -1499,7 +1505,7 @@ Error systemInformation(SysInfo* pSysInfo)
{
pSysInfo->cores = boost::thread::hardware_concurrency();
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__OpenBSD__)
struct sysinfo info;
if (::sysinfo(&info) == -1)
return systemError(errno, ERROR_LOCATION);
@@ -1939,7 +1945,7 @@ Error restrictCoreDumps()
return error;
// no ptrace core dumps permitted
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__OpenBSD__)
int res = ::prctl(PR_SET_DUMPABLE, 0);
if (res == -1)
return systemError(errno, ERROR_LOCATION);
@@ -1950,7 +1956,7 @@ Error restrictCoreDumps()
Error enableCoreDumps()
{
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__OpenBSD__)
int res = ::prctl(PR_SET_DUMPABLE, 1);
if (res == -1)
return systemError(errno, ERROR_LOCATION);
@@ -1976,7 +1982,7 @@ void printCoreDumpable(const std::string& context)
ostr << " hard limit: " << rLimitHard << std::endl;
// ptrace
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__OpenBSD__)
int dumpable = ::prctl(PR_GET_DUMPABLE, nullptr, nullptr, nullptr, nullptr);
if (dumpable == -1)
LOG_ERROR(systemError(errno, ERROR_LOCATION));

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_core_system_PosixUser_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
Don't use peercred.
Index: src/cpp/core/system/PosixUser.cpp
--- src/cpp/core/system/PosixUser.cpp.orig
+++ src/cpp/core/system/PosixUser.cpp
@@ -48,7 +48,7 @@ UserIdentity currentUserIdentity()
return userIdentity;
}
-#if defined(HAVE_SO_PEERCRED)
+#if defined(HAVE_SO_PEERCRED) && !defined(__OpenBSD__)
Error socketPeerIdentity(int socket, UserIdentity* pIdentity)
{

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_core_system_file_monitor_LinuxFileMonitor_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
RStudio requires inotify...
Index: src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp
--- src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp.orig
+++ src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp
@@ -19,7 +19,7 @@
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
-#include <sys/inotify.h>
+#include <inotify/sys/inotify.h>
#include <set>

View File

@ -0,0 +1,44 @@
$OpenBSD: patch-src_cpp_desktop_DesktopMain_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
Q_OS_LINUX needlessly excludes the BSDs.
has_value() only available in later Boost versions.
Index: src/cpp/desktop/DesktopMain.cpp
--- src/cpp/desktop/DesktopMain.cpp.orig
+++ src/cpp/desktop/DesktopMain.cpp
@@ -52,7 +52,7 @@
#include <Windows.h>
#endif
-#ifdef Q_OS_LINUX
+#ifdef Q_OS_UNIX
#include <core/system/PosixSystem.hpp>
#endif
@@ -372,7 +372,7 @@ QString inferDefaultRenderingEngine()
#endif
-#ifdef Q_OS_LINUX
+#ifdef Q_OS_UNIX
QString inferDefaultRenderingEngine()
{
@@ -639,7 +639,7 @@ int main(int argc, char* argv[])
}
#endif
-#if defined(Q_OS_LINUX)
+#if defined(Q_OS_UNIX)
static char noSandbox[] = "--no-sandbox";
@@ -1013,7 +1013,7 @@ int main(int argc, char* argv[])
options.cleanUpScratchTempDir();
boost::optional<SessionServer> pendingReconnect = sessionServers().getPendingSessionServerReconnect();
- if (pendingReconnect.has_value())
+ if (pendingReconnect)
{
// we need to reconnect to the specified session server
forceSessionServerLaunch = true;

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_r_session_REmbeddedPosix_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
R_Slave was renamed R_NoEcho in modern versions of R.
Index: src/cpp/r/session/REmbeddedPosix.cpp
--- src/cpp/r/session/REmbeddedPosix.cpp.orig
+++ src/cpp/r/session/REmbeddedPosix.cpp
@@ -104,7 +104,7 @@ void runEmbeddedR(const core::FilePath& /*rHome*/,
structRstart rp;
Rstart Rp = &rp;
R_DefParams(Rp) ;
- Rp->R_Slave = FALSE ;
+ Rp->R_NoEcho = FALSE ;
Rp->R_Quiet = quiet ? TRUE : FALSE;
Rp->R_Interactive = TRUE ;
Rp->SaveAction = defaultSaveAction ;

View File

@ -0,0 +1,24 @@
$OpenBSD: patch-src_cpp_server_CMakeLists_txt,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
No -ldl.
Index: src/cpp/server/CMakeLists.txt
--- src/cpp/server/CMakeLists.txt.orig
+++ src/cpp/server/CMakeLists.txt
@@ -104,12 +104,12 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/server-conf
${CMAKE_CURRENT_BINARY_DIR}/server-config.h)
# required on Fedora for dynamic library-related code to compile
-if(NOT APPLE)
- find_library(DL_LIBRARIES dl)
-endif()
+#if(NOT APPLE)
+# find_library(DL_LIBRARIES dl)
+#endif()
# include directories and libraries
-set(SERVER_SYSTEM_LIBRARIES ${DL_LIBRARIES})
+#set(SERVER_SYSTEM_LIBRARIES ${DL_LIBRARIES})
# handle El Capitan moving OpenSSL away
if(APPLE)

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-src_cpp_session_CMakeLists_txt,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
No pandoc. Don't need it. Don't try to find it.
Index: src/cpp/session/CMakeLists.txt
--- src/cpp/session/CMakeLists.txt.orig
+++ src/cpp/session/CMakeLists.txt
@@ -25,9 +25,9 @@ endif()
if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/mathjax-27")
message(FATAL_ERROR "Mathjax 2.7 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()
# verify embedded packages are available
foreach(PKG ${RSTUDIO_EMBEDDED_PACKAGES})

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-src_cpp_session_SessionMain_cpp,v 1.1.1.1 2020/07/01 18:10:07 bcallah Exp $
From FreeBSD.
Index: src/cpp/session/SessionMain.cpp
--- src/cpp/session/SessionMain.cpp.orig
+++ src/cpp/session/SessionMain.cpp
@@ -1692,7 +1692,7 @@ int main (int argc, char * const argv[])
// move to own process group
#ifndef _WIN32
- ::setpgrp();
+ ::setpgrp(0, 0);
#endif
// get main thread id (used to distinguish forks which occur

4
math/rstudio/pkg/DESCR Normal file
View File

@ -0,0 +1,4 @@
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.

1925
math/rstudio/pkg/PLIST Normal file

File diff suppressed because it is too large Load Diff