Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Dec 2017 03:32:17 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r455332 - in head/devel: . RStudio RStudio/files
Message-ID:  <201712020332.vB23WH1x020347@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Sat Dec  2 03:32:16 2017
New Revision: 455332
URL: https://svnweb.freebsd.org/changeset/ports/455332

Log:
  New port: devel/rstudio: Integrated development environment (IDE) for R
  
  PR:		220359
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D13139

Added:
  head/devel/RStudio/
  head/devel/RStudio/Makefile   (contents, props changed)
  head/devel/RStudio/distinfo   (contents, props changed)
  head/devel/RStudio/files/
  head/devel/RStudio/files/global-setenv.h   (contents, props changed)
  head/devel/RStudio/files/patch-CMakeGlobals.txt   (contents, props changed)
  head/devel/RStudio/files/patch-CMakeLists.txt   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_CMakeLists.txt   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_Backtrace.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_CMakeLists.txt   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_include_core_r__util_RTokenizer.hpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_r__util_RSessionContext.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_system_PosixChildProcess.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_system_PosixSched.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_core_system_PosixSystem.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_desktop_DesktopMain.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_server_CMakeLists.txt   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_session_CMakeLists.txt   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_session_SessionHttpMethods.cpp   (contents, props changed)
  head/devel/RStudio/files/patch-src_cpp_session_session-config.h.in   (contents, props changed)
  head/devel/RStudio/pkg-descr   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Sat Dec  2 02:25:11 2017	(r455331)
+++ head/devel/Makefile	Sat Dec  2 03:32:16 2017	(r455332)
@@ -65,6 +65,7 @@
     SUBDIR += R-cran-tidyr
     SUBDIR += R-cran-tidyselect
     SUBDIR += R-cran-withr
+    SUBDIR += RStudio
     SUBDIR += SpecTcl
     SUBDIR += aap
     SUBDIR += aarch64-binutils

Added: head/devel/RStudio/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/Makefile	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,79 @@
+# $FreeBSD$
+
+# This port opens too many files during build, more than the default setting. Its build is known to succeed with kern.maxfiles="25000" (in /boot/loader.conf).
+
+PORTNAME=	RStudio
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.1.385
+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:outsource desktop-file-utils fortran pkgconfig shared-mime-info
+USE_QT5=	core dbus gui location network opengl printsupport qml quick sensors \
+		sql svg webchannel webkit widgets xml xmlpatterns buildtools_build qmake_build
+USE_JAVA=	yes
+JAVA_BUILD=	yes
+USE_GITHUB=	yes
+GH_TUPLE=	rstudio:rmarkdown:aed26ac:rmarkdown/dependencies/common/rmarkdown \
+		rstudio:rsconnect:03c379b:rsconnect/dependencies/common/rsconnect
+
+CMAKE_ARGS=	-DRSTUDIO_TARGET=Desktop \
+		-DFREEBSD_RSTUDIO_VERSION:STRING=${PORTVERSION} \
+		-DFREEBSD_LIBDIR:STRING=${PREFIX}/lib
+MAKE_ENV=	HOME=${WRKDIR} \
+		ANT_OPTS="-Duser.home=${WRKDIR}"
+WRKSRC=		${WRKDIR}/${PORTNAME:tl}-${PORTVERSION}
+
+GWT_VERSION=	2.7.0
+GIN_VERSION=	1.5
+
+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|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|</java>|<jvmarg value="-Duser.home=${WRKDIR}"/></java>|' \
+		${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:
+	@${LN} -s ${PREFIX}/lib/rstudio/bin/rstudio ${STAGEDIR}${PREFIX}/bin/rstudio
+	@${REINPLACE_CMD} -e 's|^Exec=.*/rstudio|Exec=${PREFIX}/bin/rstudio|' ${STAGEDIR}${PREFIX}/share/applications/rstudio.desktop
+	# 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 <bsd.port.mk>

Added: head/devel/RStudio/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/distinfo	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,15 @@
+TIMESTAMP = 1511035341
+SHA256 (core-dictionaries.zip) = 4341a9630efb9dcf7f215c324136407f3b3d6003e1c96f2e5e1f9f14d5787494
+SIZE (core-dictionaries.zip) = 876339
+SHA256 (gin-1.5.zip) = f561f4eb5d5fe1cff95c881e6aed53a86e9f0de8a52863295a8600375f96ab94
+SIZE (gin-1.5.zip) = 1055663
+SHA256 (gwt-2.7.0.zip) = aa65061b73836190410720bea422eb8e787680d7bc0c2b244ae6c9a0d24747b3
+SIZE (gwt-2.7.0.zip) = 108818328
+SHA256 (mathjax-26.zip) = 939a2d7f37e26287970be942df70f3e8f272bac2eb868ce1de18bb95d3c26c71
+SIZE (mathjax-26.zip) = 3061588
+SHA256 (RStudio-RStudio-v1.1.385_GH0.tar.gz) = d4e8dd4106c85ae6352e4399667de7eccde0e6aa018f08711a8c4aad404eff3c
+SIZE (RStudio-RStudio-v1.1.385_GH0.tar.gz) = 20197003
+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

Added: head/devel/RStudio/files/global-setenv.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/global-setenv.h	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,7 @@
+
+#define GLOBAL_SETENV \
+  setenv("R_USER", ::getenv("HOME"), 0); \
+  setenv("R_HOME", "%%PREFIX%%/lib/R", 0); \
+  setenv("R_INCLUDE_DIR", "%%PREFIX%%/lib/R/include", 0); \
+  setenv("R_LIBS", "%%PREFIX%%/lib/R", 0); \
+  setenv("R_DOC_DIR", "%%PREFIX%%/share/doc/R", 0);

Added: head/devel/RStudio/files/patch-CMakeGlobals.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-CMakeGlobals.txt	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,19 @@
+--- CMakeGlobals.txt.orig	2017-11-16 21:40:37 UTC
++++ CMakeGlobals.txt
+@@ -65,15 +65,7 @@ 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)
+-   find_program(GIT_EXECUTABLE git)
+-   if(GIT_EXECUTABLE)
+-      exec_program(git ARGS rev-parse HEAD
+-                   OUTPUT_VARIABLE RSTUDIO_GIT_REVISION_HASH)
+-      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")
+ 
+ # required R version
+ set(RSTUDIO_R_MAJOR_VERSION_REQUIRED 2)

Added: head/devel/RStudio/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-CMakeLists.txt	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,21 @@
+--- CMakeLists.txt.orig	2017-11-16 21:40:37 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
+-                   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)
+ 
+ 
+ 
+-
+-
+    
+ 
+ 

Added: head/devel/RStudio/files/patch-src_cpp_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_CMakeLists.txt	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,10 @@
+--- src/cpp/CMakeLists.txt.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/CMakeLists.txt
+@@ -101,7 +101,6 @@ if(UNIX)
+       add_definitions(-Wformat -Wformat-security)
+       add_definitions(-D_FORTIFY_SOURCE=2)
+       add_definitions(-fstack-protector --param ssp-buffer-size=4)
+-      add_definitions(-pie -fPIE)
+       set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now")
+    endif()
+ 

Added: head/devel/RStudio/files/patch-src_cpp_core_Backtrace.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_Backtrace.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,11 @@
+--- src/cpp/core/Backtrace.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/core/Backtrace.cpp
+@@ -46,7 +46,7 @@ std::string demangle(const std::string& 
+ 
+ void printBacktrace(std::ostream& os)
+ {
+-#ifndef _WIN32
++#if !defined(_WIN32) && !defined(__FreeBSD__)
+    
+    os << "Backtrace (most recent calls first):" << std::endl << std::endl;
+    

Added: head/devel/RStudio/files/patch-src_cpp_core_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_CMakeLists.txt	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,23 @@
+--- src/cpp/core/CMakeLists.txt.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/core/CMakeLists.txt
+@@ -143,16 +143,17 @@ if (UNIX)
+    }
+    "
+    HAVE_SCANDIR_POSIX)
+-
+    # 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)
+ 

Added: head/devel/RStudio/files/patch-src_cpp_core_include_core_r__util_RTokenizer.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_include_core_r__util_RTokenizer.hpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,11 @@
+--- src/cpp/core/include/core/r_util/RTokenizer.hpp.orig	2017-11-16 21:40:37 UTC
++++ 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 {

Added: head/devel/RStudio/files/patch-src_cpp_core_r__util_RSessionContext.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_r__util_RSessionContext.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,13 @@
+--- src/cpp/core/r_util/RSessionContext.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/core/r_util/RSessionContext.cpp
+@@ -138,8 +138,8 @@ bool isSharedPath(const std::string& pro
+       // 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

Added: head/devel/RStudio/files/patch-src_cpp_core_system_PosixChildProcess.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_system_PosixChildProcess.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,23 @@
+--- src/cpp/core/system/PosixChildProcess.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/core/system/PosixChildProcess.cpp
+@@ -19,14 +19,18 @@
+ #include <fcntl.h>
+ #include <signal.h>
+ #include <unistd.h>
++#include <termios.h>
+ 
+ #ifdef __APPLE__
+ #include <util.h>
+ #include <sys/ttycom.h>
+ #include <sys/ioctl.h>
+ #else
+-#include <pty.h>
+-#include <asm/ioctls.h>
++//#include <pty.h>
++//#include <asm/ioctls.h>
++#include <sys/tty.h>
++#include <sys/ttycom.h>
++#include <libutil.h>
+ #endif
+ 
+ #include <sys/wait.h>

Added: head/devel/RStudio/files/patch-src_cpp_core_system_PosixSched.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_system_PosixSched.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,55 @@
+--- src/cpp/core/system/PosixSched.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/core/system/PosixSched.cpp
+@@ -15,7 +15,11 @@
+ 
+ #include <core/system/PosixSched.hpp>
+ 
++#define _GNU_SOURCE
+ #include <sched.h>
++#include <sys/types.h>
++#include <sys/param.h> // w/out this fails on i386 with error: use of undeclared identifier 'NBBY'
++#include <sys/cpuset.h>
+ 
+ #include <core/Error.hpp>
+ 
+@@ -41,9 +45,10 @@ bool isCpuAffinityEmpty(const CpuAffinit
+ Error getCpuAffinity(CpuAffinity* pCpus)
+ {
+ #ifndef __APPLE__
+-   cpu_set_t cs;
++/*
++   cpuset_t cs;
+    CPU_ZERO(&cs);
+-   if (::sched_getaffinity(0, sizeof(cs), &cs) == -1)
++   if (sched_getaffinity(0, sizeof(cs), &cs) == -1)
+       return systemError(errno, ERROR_LOCATION);
+ 
+    pCpus->clear();
+@@ -55,7 +60,7 @@ Error getCpuAffinity(CpuAffinity* pCpus)
+       else
+          pCpus->push_back(false);
+    }
+-
++*/
+    return Success();
+ #else
+    return systemError(boost::system::errc::not_supported, ERROR_LOCATION);
+@@ -66,7 +71,8 @@ Error getCpuAffinity(CpuAffinity* pCpus)
+ Error setCpuAffinity(const CpuAffinity& cpus)
+ {
+ #ifndef __APPLE__
+-   cpu_set_t cs;
++/*
++   cpuset_t cs;
+    CPU_ZERO(&cs);
+ 
+    for (std::size_t i=0; i<cpus.size(); i++)
+@@ -79,7 +85,7 @@ Error setCpuAffinity(const CpuAffinity& 
+ 
+    if (::sched_setaffinity(0, sizeof(cs), &cs) == -1)
+       return systemError(errno, ERROR_LOCATION);
+-
++*/
+    return Success();
+ #else
+    return systemError(boost::system::errc::not_supported, ERROR_LOCATION);

Added: head/devel/RStudio/files/patch-src_cpp_core_system_PosixSystem.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_core_system_PosixSystem.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,77 @@
+--- src/cpp/core/system/PosixSystem.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/core/system/PosixSystem.cpp
+@@ -36,6 +36,7 @@
+ #include <ifaddrs.h>
+ #include <sys/socket.h>
+ #include <netdb.h>
++#include <netinet/in.h>
+ 
+ #include <uuid/uuid.h>
+ 
+@@ -46,9 +47,9 @@
+ #endif
+ 
+ #ifndef __APPLE__
+-#include <sys/prctl.h>
++//#include <sys/prctl.h>
+ #include <sys/sysinfo.h>
+-#include <linux/kernel.h>
++//#include <linux/kernel.h>
+ #include <dirent.h>
+ #endif
+ 
+@@ -670,7 +671,7 @@ Error executablePath(const char * argv0,
+ 
+ #elif defined(HAVE_PROCSELF)
+ 
+-   executablePath = std::string("/proc/self/exe");
++   executablePath = std::string("/proc/curproc/file");
+ 
+ #else
+ 
+@@ -1102,7 +1103,7 @@ Error osResourceLimit(ResourceLimit limi
+       case CpuLimit:
+          *pLimit = RLIMIT_CPU;
+          break;
+-#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
+       case NiceLimit:
+          *pLimit = RLIMIT_NICE;
+          break;
+@@ -1175,7 +1176,7 @@ Error systemInformation(SysInfo* pSysInf
+ {
+    pSysInfo->cores = boost::thread::hardware_concurrency();
+ 
+-#ifndef __APPLE__
++#if !defined(__APPLE__) && !defined(__FreeBSD__)
+    struct sysinfo info;
+    if (::sysinfo(&info) == -1)
+       return systemError(errno, ERROR_LOCATION);
+@@ -1495,9 +1496,9 @@ Error restrictCoreDumps()
+ 
+    // no ptrace core dumps permitted
+ #ifndef __APPLE__
+-   int res = ::prctl(PR_SET_DUMPABLE, 0);
+-   if (res == -1)
+-      return systemError(errno, ERROR_LOCATION);
++//   int res = ::prctl(PR_SET_DUMPABLE, 0);
++//   if (res == -1)
++//      return systemError(errno, ERROR_LOCATION);
+ #endif
+ 
+    return Success();
+@@ -1521,10 +1522,10 @@ void printCoreDumpable(const std::string
+ 
+    // ptrace
+ #ifndef __APPLE__
+-   int dumpable = ::prctl(PR_GET_DUMPABLE, NULL, NULL, NULL, NULL);
+-   if (dumpable == -1)
+-      LOG_ERROR(systemError(errno, ERROR_LOCATION));
+-   ostr << "  pr_get_dumpable: " << dumpable << std::endl;
++//   int dumpable = ::prctl(PR_GET_DUMPABLE, NULL, NULL, NULL, NULL);
++//   if (dumpable == -1)
++//      LOG_ERROR(systemError(errno, ERROR_LOCATION));
++//   ostr << "  pr_get_dumpable: " << dumpable << std::endl;
+ #endif
+ 
+    std::cerr << ostr.str();

Added: head/devel/RStudio/files/patch-src_cpp_desktop_DesktopMain.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_desktop_DesktopMain.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,18 @@
+--- src/cpp/desktop/DesktopMain.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/desktop/DesktopMain.cpp
+@@ -42,6 +42,7 @@
+ #include "DesktopSessionLauncher.hpp"
+ #include "DesktopProgressActivator.hpp"
+ #include "DesktopNetworkProxyFactory.hpp"
++#include "global-setenv.h"
+ 
+ QProcess* pRSessionProcess;
+ QString sharedSecret;
+@@ -198,6 +199,7 @@ bool isNonProjectFilename(QString filena
+ 
+ int main(int argc, char* argv[])
+ {
++   GLOBAL_SETENV
+    core::system::initHook();
+ 
+    try

Added: head/devel/RStudio/files/patch-src_cpp_server_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_server_CMakeLists.txt	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,12 @@
+--- src/cpp/server/CMakeLists.txt.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/server/CMakeLists.txt
+@@ -124,6 +124,9 @@ include_directories(
+ # define executable
+ add_executable(rserver ${SERVER_SOURCE_FILES} ${SERVER_HEADER_FILES})
+ 
++# additional libraries
++target_link_libraries(rserver -L${FREEBSD_LIBDIR} -linotify)
++
+ # add origin rpath for suse/sles
+ if(RSTUDIO_PACKAGE_VARIANT STREQUAL "SLES")
+    set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)

Added: head/devel/RStudio/files/patch-src_cpp_session_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_session_CMakeLists.txt	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,95 @@
+--- src/cpp/session/CMakeLists.txt.orig	2017-11-16 21:40:37 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
+ 
+@@ -39,19 +39,19 @@ endif()
+ # endif()
+ 
+ # verify libclang is installed
+-if(WIN32)
+-   set(LIBCLANG_VERSION "3.4")
+-else()
+-   set(LIBCLANG_VERSION "3.5")
+-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")
++#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
+@@ -360,6 +360,9 @@ endif()
+ # define executable
+ add_executable(rsession ${SESSION_SOURCE_FILES} ${SESSION_HEADER_FILES})
+ 
++# additional libraries
++target_link_libraries(rsession -L${FREEBSD_LIBDIR} -linotify)
++
+ # skip libR RPATH at development time
+ if(RSTUDIO_DEVELOPMENT OR RSTUDIO_RUN_IN_PLACE)
+    set_target_properties(rsession PROPERTIES SKIP_BUILD_RPATH TRUE)
+@@ -466,11 +469,11 @@ if (NOT RSTUDIO_SESSION_WIN64)
+            DESTINATION ${RSTUDIO_INSTALL_SUPPORTING}/resources)
+ 
+    # install pandoc
+-   set(PANDOC_BIN "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc/1.19.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 "${}/common/pandoc/1.19.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)
+ 
+    # install rmarkdown package
+    # file(GLOB RMARKDOWN_PACKAGE "${RSTUDIO_DEPENDENCIES_DIR}/common/rmarkdown*.tar.gz")
+@@ -511,14 +514,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)

Added: head/devel/RStudio/files/patch-src_cpp_session_SessionHttpMethods.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_session_SessionHttpMethods.cpp	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,11 @@
+--- src/cpp/session/SessionHttpMethods.cpp.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/session/SessionHttpMethods.cpp
+@@ -326,7 +326,7 @@ std::string clientVersion()
+       return std::string();
+ 
+    // clientVersion is the git revision hash
+-   return RSTUDIO_GIT_REVISION_HASH;
++   return RSTUDIO_VERSION;
+ }
+ 
+ void waitForMethodInitFunction(const ClientEvent& initEvent)

Added: head/devel/RStudio/files/patch-src_cpp_session_session-config.h.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/files/patch-src_cpp_session_session-config.h.in	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +1,12 @@
+--- src/cpp/session/session-config.h.in.orig	2017-11-16 21:40:37 UTC
++++ src/cpp/session/session-config.h.in
+@@ -13,8 +13,7 @@
+  *
+  */
+ 
+-#define RSTUDIO_VERSION "${CPACK_PACKAGE_VERSION}"
+-#define RSTUDIO_GIT_REVISION_HASH "${RSTUDIO_GIT_REVISION_HASH}"
++#define RSTUDIO_VERSION "${RSTUDIO_VERSION}"
+ #cmakedefine RSTUDIO_SERVER
+ #cmakedefine RSTUDIO_UNVERSIONED_BUILD
+ #cmakedefine TRACE_PACKRAT_OUTPUT

Added: head/devel/RStudio/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/RStudio/pkg-descr	Sat Dec  2 03:32:16 2017	(r455332)
@@ -0,0 +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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712020332.vB23WH1x020347>