diff options
Diffstat (limited to 'sci-mathematics/rstudio/files/rstudio-1.2.5042-R-4.0.0.patch')
-rw-r--r-- | sci-mathematics/rstudio/files/rstudio-1.2.5042-R-4.0.0.patch | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/sci-mathematics/rstudio/files/rstudio-1.2.5042-R-4.0.0.patch b/sci-mathematics/rstudio/files/rstudio-1.2.5042-R-4.0.0.patch deleted file mode 100644 index 87ec83a7d4af..000000000000 --- a/sci-mathematics/rstudio/files/rstudio-1.2.5042-R-4.0.0.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 71b1a935762efd24a79de193662450de5a89f67e Mon Sep 17 00:00:00 2001 -From: Jonathan McPherson <jonathan@rstudio.com> -Date: Tue, 14 Jan 2020 12:53:20 -0800 -Subject: [PATCH] use R_NoSave over R_Slave for R 4.0+ - ---- - src/cpp/r/CMakeLists.txt | 12 ++++++++++++ - src/cpp/r/config.h.in | 8 +++++++- - src/cpp/r/session/REmbeddedPosix.cpp | 20 ++++++++++++++------ - 3 files changed, 33 insertions(+), 7 deletions(-) - -diff --git a/src/cpp/r/CMakeLists.txt b/src/cpp/r/CMakeLists.txt -index 6984ae309c..29784b8b67 100644 ---- a/src/cpp/r/CMakeLists.txt -+++ b/src/cpp/r/CMakeLists.txt -@@ -15,6 +15,18 @@ - - project (R) - -+# find the version of R in play -+find_package(LibR REQUIRED) -+execute_process( -+ COMMAND "${LIBR_EXECUTABLE}" "--vanilla" "--slave" "-e" "cat(as.character(getRversion()))" -+ OUTPUT_VARIABLE LIBR_VERSION) -+ -+# parse and save the R version to a variable -+string(REPLACE "." ";" R_VERSION_LIST "${LIBR_VERSION}") -+list(GET R_VERSION_LIST 0 R_VERSION_MAJOR) -+list(GET R_VERSION_LIST 1 R_VERSION_MINOR) -+list(GET R_VERSION_LIST 2 R_VERSION_PATCH) -+ - # include files - file(GLOB_RECURSE R_HEADER_FILES "*.h*") - -diff --git a/src/cpp/r/config.h.in b/src/cpp/r/config.h.in -index 6ba67c8e09..00bc8b6191 100644 ---- a/src/cpp/r/config.h.in -+++ b/src/cpp/r/config.h.in -@@ -1,7 +1,7 @@ - /* - * config.h.in - * -- * Copyright (C) 2009-12 by RStudio, Inc. -+ * Copyright (C) 2009-20 by RStudio, Inc. - * - * Unless you have received this program directly from RStudio pursuant - * to the terms of a commercial license agreement with RStudio, then -@@ -16,4 +16,10 @@ - - #cmakedefine PANGO_CAIRO_FOUND - -+// Important: These variables represent the version of R found during -+// compile/link time, NOT the version of R present at runtime. -+#define R_VERSION_MAJOR ${R_VERSION_MAJOR} -+#define R_VERSION_MINOR ${R_VERSION_MINOR} -+#define R_VERSION_PATCH ${R_VERSION_PATCH} -+ - -diff --git a/src/cpp/r/session/REmbeddedPosix.cpp b/src/cpp/r/session/REmbeddedPosix.cpp -index ac71b94522..73e2e2ce7f 100644 ---- a/src/cpp/r/session/REmbeddedPosix.cpp -+++ b/src/cpp/r/session/REmbeddedPosix.cpp -@@ -1,7 +1,7 @@ - /* - * REmbeddedPosix.cpp - * -- * Copyright (C) 2009-12 by RStudio, Inc. -+ * Copyright (C) 2009-20 by RStudio, Inc. - * - * Unless you have received this program directly from RStudio pursuant - * to the terms of a commercial license agreement with RStudio, then -@@ -38,6 +38,8 @@ extern "C" void (*ptr_R_ProcessEvents)(void); - extern "C" typedef void (*ptr_QuartzCocoa_SetupEventLoop)(int, unsigned long); - #endif - -+#include "config.h" -+ - extern int R_running_as_main_program; // from unix/system.c - - using namespace rstudio::core; -@@ -103,14 +105,20 @@ void runEmbeddedR(const core::FilePath& /*rHome*/, // ignored on posix - // - structRstart rp; - Rstart Rp = &rp; -- R_DefParams(Rp) ; -- Rp->R_Slave = FALSE ; -+ R_DefParams(Rp); -+#if R_VERSION_MAJOR > 3 -+ // R 4.0 and above use --no-echo to suppress output -+ Rp->R_NoEcho = FALSE; -+#else -+ // R 3.x and below use --slave -+ Rp->R_Slave = FALSE; -+#endif - Rp->R_Quiet = quiet ? TRUE : FALSE; -- Rp->R_Interactive = TRUE ; -- Rp->SaveAction = defaultSaveAction ; -+ Rp->R_Interactive = TRUE; -+ Rp->SaveAction = defaultSaveAction; - Rp->RestoreAction = SA_NORESTORE; // handled within initialize() - Rp->LoadInitFile = loadInitFile ? TRUE : FALSE; -- R_SetParams(Rp) ; -+ R_SetParams(Rp); - - // redirect console - R_Interactive = TRUE; // should have also been set by call to Rf_initialize_R |