rstudio: remove package

- Severely outdated
- Block Boost Update because of Boost.Asio
- Newer version is too difficult, and no support from upstream, to
  build the rstudio electron version from the source code
This commit is contained in:
Đoàn Trần Công Danh 2025-08-08 17:39:38 +07:00 committed by Đoàn Trần Công Danh
parent 9ef7c43cff
commit b1a13daf22
15 changed files with 1 additions and 483 deletions

View file

@ -815,6 +815,7 @@ replaces="
qupzilla1<=1.8.9_16
qupzilla<=3.0.1_1
r2-bindings<=1.0.1_2
rstudio<=1.4.1717_7
rand48_r-devel<=0.2_1
rand48_r<=0.2_1
raul-devel<=0.8.0_6

View file

@ -1,52 +0,0 @@
From 3f00c73f8b4b57bb965ae618f30684421d55f01e Mon Sep 17 00:00:00 2001
From: John <johnz@posteo.net>
Date: Fri, 29 Nov 2019 10:35:44 +0100
Subject: [PATCH 1/3] Check for group_member in cmake
instead of trying to use it on all non Apple Unix systems
E.g. the musl libc on Linux also does not provide this function since it
is a nonstandard GNU extension
---
src/cpp/core/CMakeLists.txt | 1 +
src/cpp/core/config.h.in | 1 +
src/cpp/core/r_util/RSessionContext.cpp | 2 +-
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git src/cpp/core/CMakeLists.txt src/cpp/core/CMakeLists.txt
index 7395ff24ee..8cd1080ae8 100644
--- a/src/cpp/core/CMakeLists.txt
+++ b/src/cpp/core/CMakeLists.txt
@@ -155,6 +155,7 @@ if (UNIX)
check_function_exists(inotify_init1 HAVE_INOTIFY_INIT1)
check_function_exists(getpeereid HAVE_GETPEEREID)
check_function_exists(setresuid HAVE_SETRESUID)
+ check_function_exists(group_member HAVE_GROUP_MEMBER)
if(EXISTS "/proc/self")
set(HAVE_PROCSELF TRUE)
endif()
diff --git src/cpp/core/config.h.in src/cpp/core/config.h.in
index fbf5e6ffa3..cb4ef42be0 100644
--- a/src/cpp/core/config.h.in
+++ b/src/cpp/core/config.h.in
@@ -24,4 +24,5 @@
#cmakedefine HAVE_PROCSELF
#cmakedefine HAVE_SETRESUID
#cmakedefine HAVE_SCANDIR_POSIX
+#cmakedefine HAVE_GROUP_MEMBER
#cmakedefine RSTUDIO_SERVER
diff --git src/cpp/core/r_util/RSessionContext.cpp src/cpp/core/r_util/RSessionContext.cpp
index a973b8b816..e36d661fd8 100644
--- a/src/cpp/core/r_util/RSessionContext.cpp
+++ b/src/cpp/core/r_util/RSessionContext.cpp
@@ -182,7 +182,7 @@ bool isSharedPath(const std::string& projectPath,
if (st.st_gid == user.getGroupId())
return false;
-#ifndef __APPLE__
+#ifdef HAVE_GROUP_MEMBER
// 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)
--
2.24.0

View file

@ -1,69 +0,0 @@
From f6b65fb4b1ab174b4aab898f4bb83d0b83a2bcb1 Mon Sep 17 00:00:00 2001
From: John <johnz@posteo.net>
Date: Fri, 29 Nov 2019 10:41:03 +0100
Subject: [PATCH 2/3] Check for backtrace function in cmake
---
src/cpp/core/Backtrace.cpp | 8 +++++---
src/cpp/core/CMakeLists.txt | 1 +
src/cpp/core/config.h.in | 1 +
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git src/cpp/core/Backtrace.cpp src/cpp/core/Backtrace.cpp
index a345648371..def1189eb0 100644
--- a/src/cpp/core/Backtrace.cpp
+++ b/src/cpp/core/Backtrace.cpp
@@ -16,7 +16,9 @@
#include <core/Backtrace.hpp>
#include <core/RegexUtils.hpp>
-#ifndef _WIN32
+#include "config.h"
+
+#ifdef HAVE_BACKTRACE
# include <core/Algorithm.hpp>
# include <iostream>
# include <boost/regex.hpp>
@@ -32,7 +34,7 @@ std::string demangle(const std::string& name)
{
std::string result = name;
-#ifndef _WIN32
+#ifdef HAVE_BACKTRACE
int status = -1;
char* demangled = ::abi::__cxa_demangle(name.c_str(), nullptr, nullptr, &status);
if (status == 0) {
@@ -46,7 +48,7 @@ std::string demangle(const std::string& name)
void printBacktrace(std::ostream& os)
{
-#ifndef _WIN32
+#ifdef HAVE_BACKTRACE
os << "Backtrace (most recent calls first):" << std::endl << std::endl;
diff --git src/cpp/core/CMakeLists.txt src/cpp/core/CMakeLists.txt
index 8cd1080ae8..9a18bcae77 100644
--- a/src/cpp/core/CMakeLists.txt
+++ b/src/cpp/core/CMakeLists.txt
@@ -156,6 +156,7 @@ if (UNIX)
check_function_exists(getpeereid HAVE_GETPEEREID)
check_function_exists(setresuid HAVE_SETRESUID)
check_function_exists(group_member HAVE_GROUP_MEMBER)
+ check_function_exists(backtrace HAVE_BACKTRACE)
if(EXISTS "/proc/self")
set(HAVE_PROCSELF TRUE)
endif()
diff --git src/cpp/core/config.h.in src/cpp/core/config.h.in
index cb4ef42be0..a2ec47c51f 100644
--- a/src/cpp/core/config.h.in
+++ b/src/cpp/core/config.h.in
@@ -25,4 +25,5 @@
#cmakedefine HAVE_SETRESUID
#cmakedefine HAVE_SCANDIR_POSIX
#cmakedefine HAVE_GROUP_MEMBER
+#cmakedefine HAVE_BACKTRACE
#cmakedefine RSTUDIO_SERVER
--
2.24.0

View file

@ -1,11 +0,0 @@
--- a/src/cpp/shared_core/FilePath.cpp 2021-02-11 00:26:02.000000000 +0100
+++ b/src/cpp/shared_core/FilePath.cpp 2021-02-11 00:26:02.000000000 +0100
@@ -36,7 +36,7 @@
#include <shared_core/system/Win32StringUtils.hpp>
#else
#include <sys/stat.h>
-#include <sys/unistd.h>
+#include <unistd.h>
#include <shared_core/system/PosixSystem.hpp>
#endif

View file

@ -1,48 +0,0 @@
From 4b9b0aa10768df68e80eb8eb03b41b937bc45e9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?I=C3=B1aki=20=C3=9Acar?= <iucar@fedoraproject.org>
Date: Sat, 5 Jun 2021 18:21:24 +0200
Subject: [PATCH] unbundle dependencies common
---
src/cpp/session/CMakeLists.txt | 22 ----------------------
1 file changed, 22 deletions(-)
diff --git a/src/cpp/session/CMakeLists.txt b/src/cpp/session/CMakeLists.txt
index 54d15d9..a6b41cb 100644
--- a/src/cpp/session/CMakeLists.txt
+++ b/src/cpp/session/CMakeLists.txt
@@ -48,14 +48,11 @@ else()
endif()
-foreach(DEP "${RSTUDIO_DEPENDENCIES_DICTIONARIES_DIR}"
+foreach(DEP "${RSTUDIO_DEPENDENCIES_DICTIONARIES_DIR}")
- "${RSTUDIO_DEPENDENCIES_MATHJAX_DIR}"
- "${RSTUDIO_DEPENDENCIES_PANDOC_DIR}")
if(NOT EXISTS "${DEP}")
message(FATAL_ERROR "${DEP} not found (re-run install-dependencies script to install")
endif()
endforeach()
-
# verify embedded packages are available
foreach(PKG ${RSTUDIO_EMBEDDED_PACKAGES})
file(GLOB PKG_FILES "${RSTUDIO_DEPENDENCIES_DIR}/common/${PKG}*.tar.gz")
@@ -574,16 +574,6 @@
install(DIRECTORY "${RSTUDIO_DEPENDENCIES_DICTIONARIES_DIR}"
DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources")
- # install mathjax for local html preview
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_MATHJAX_DIR}"
- DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources")
-
- # install pandoc
- file(GLOB PANDOC_FILES "${RSTUDIO_DEPENDENCIES_PANDOC_DIR}/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 embedded packages
foreach(PKG ${RSTUDIO_EMBEDDED_PACKAGES})
file(GLOB PKG_FILES "${RSTUDIO_DEPENDENCIES_DIR}/common/${PKG}*.tar.gz")
--
2.31.1

View file

@ -1,23 +0,0 @@
From dec32816aee440573ade653d3b7de9bb606e1da6 Mon Sep 17 00:00:00 2001
From: Marco Varlese <marco.varlese@suse.com>
Date: Mon, 27 Jan 2020 14:29:40 +0100
Subject: [PATCH 3/8] Fix rstudio exec path
Fix the path to the rstudio executable in the rstudio.desktop file.
---
src/cpp/desktop/resources/freedesktop/rstudio.desktop.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in b/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in
index ddd96ad34b..99b207ba7c 100644
--- a/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in
+++ b/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in
@@ -1,5 +1,5 @@
[Desktop Entry]
-Exec=${CMAKE_INSTALL_PREFIX}/${RSTUDIO_INSTALL_BIN}/rstudio %F
+Exec=rstudio %F
Icon=rstudio
Type=Application
Terminal=false
--
2.30.2

View file

@ -1,40 +0,0 @@
From d947a9e537fd5c0b2c1e9dd28867747b9bffa8fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?I=C3=B1aki=20=C3=9Acar?= <iucar@fedoraproject.org>
Date: Sat, 5 Jun 2021 18:32:16 +0200
Subject: [PATCH] use system node
---
src/gwt/build.xml | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/src/gwt/build.xml b/src/gwt/build.xml
index 8092344..d7889d1 100644
--- a/src/gwt/build.xml
+++ b/src/gwt/build.xml
@@ -82,22 +82,7 @@
</target>
<!-- panmirror typescript library -->
- <property name="node.version" value="10.19.0"/>
- <property name="node.dir" value="../../dependencies/common/node/${node.version}"/>
- <condition property="node.bin" value="../../../${node.dir}/bin/node">
- <not>
- <os family="windows" />
- </not>
- </condition>
- <condition property="node.bin" value="${node.dir}/node.exe">
- <os family="windows" />
- </condition>
-
- <!-- use node from /opt/rstudio-tools if installed (typical for Docker) -->
- <available
- property="node.bin"
- value="/opt/rstudio-tools/dependencies/common/node/${node.version}/bin/node"
- file="/opt/rstudio-tools/dependencies/common/node/${node.version}/bin/node"/>
+ <property name="node.bin" value="/usr/bin/node"/>
<property name="panmirror.dir" value="./panmirror/src/editor"/>
<property name="panmirror.build.dir" value="./www/js/panmirror"/>
--
2.31.1

View file

@ -1,12 +0,0 @@
--- a/src/cpp/session/SessionClientInit.cpp
+++ b/src/cpp/session/SessionClientInit.cpp
@@ -443,8 +443,7 @@
sessionInfo["disable_packages"] = module_context::disablePackages();
- sessionInfo["disable_check_for_updates"] =
- !core::system::getenv("RSTUDIO_DISABLE_CHECK_FOR_UPDATES").empty();
+ sessionInfo["disable_check_for_updates"] = true;
sessionInfo["allow_vcs_exe_edit"] = options.allowVcsExecutableEdit();
sessionInfo["allow_cran_repos_edit"] = options.allowCRANReposEdit();

View file

@ -1,78 +0,0 @@
--- a/src/cpp/core/system/PosixChildProcessTracker.cpp 2020-04-01 18:16:24.000000000 +0200
+++ b/src/cpp/core/system/PosixChildProcessTracker.cpp 2020-04-01 18:16:24.000000000 +0200
@@ -60,7 +60,7 @@
std::for_each(processes.begin(),
processes.end(),
boost::bind(&ChildProcessTracker::attemptToReapProcess,
- this, _1));
+ this, boost::placeholders::_1));
}
void ChildProcessTracker::attemptToReapProcess(
--- a/src/cpp/core/system/PosixOutputCapture.cpp 2021-02-11 00:26:02.000000000 +0100
+++ b/src/cpp/core/system/PosixOutputCapture.cpp 2021-02-11 00:26:02.000000000 +0100
@@ -104,13 +104,13 @@
if (dupStdoutFd != -1)
{
boost::shared_ptr<bool> pSkipStdoutWrite = boost::make_shared<bool>(false);
- outHandler = boost::bind<void>(wrapHandler, stdoutHandler, dupStdoutFd, "Stdout", pSkipStdoutWrite, _1);
+ outHandler = boost::bind<void>(wrapHandler, stdoutHandler, dupStdoutFd, "Stdout", pSkipStdoutWrite, boost::placeholders::_1);
}
if (dupStderrFd != -1)
{
boost::shared_ptr<bool> pSkipStderrWrite = boost::make_shared<bool>(false);
- errHandler = boost::bind<void>(wrapHandler, stderrHandler, dupStderrFd, "Stderr", pSkipStderrWrite, _1);
+ errHandler = boost::bind<void>(wrapHandler, stderrHandler, dupStderrFd, "Stderr", pSkipStderrWrite, boost::placeholders::_1);
}
try
--- a/src/cpp/core/HtmlUtils.cpp 2021-05-30 15:23:37.948407527 +0200
+++ b/src/cpp/core/HtmlUtils.cpp 2021-05-30 15:23:37.948407527 +0200
@@ -56,7 +56,7 @@
: boost::iostreams::regex_filter(
boost::regex(
R"((<\s*[Ii][Mm][Gg] [^\>]*[Ss][Rr][Cc]\s*=\s*)(["'])(.*?)(\2))"),
- boost::bind(&Base64ImageFilter::toBase64Image, this, _1)),
+ boost::bind(&Base64ImageFilter::toBase64Image, this, boost::placeholders::_1)),
basePath_(basePath)
{
}
@@ -98,7 +98,7 @@
CssUrlFilter::CssUrlFilter(const FilePath& basePath)
: boost::iostreams::regex_filter(
boost::regex("url\\('([^'']+)'\\)"),
- boost::bind(&CssUrlFilter::toBase64Url, this, _1)),
+ boost::bind(&CssUrlFilter::toBase64Url, this, boost::placeholders::_1)),
basePath_(basePath)
{
}
--- a/src/cpp/r/session/RStdCallbacks.cpp 2021-02-11 00:26:02.000000000 +0100
+++ b/src/cpp/r/session/RStdCallbacks.cpp 2021-02-11 00:26:02.000000000 +0100
@@ -577,7 +577,7 @@
try
{
doHistoryFileOperation(args, boost::bind(&ConsoleHistory::loadFromFile,
- &consoleHistory(), _1, true));
+ &consoleHistory(), boost::placeholders::_1, true));
s_callbacks.consoleHistoryReset();
}
@@ -592,7 +592,7 @@
try
{
doHistoryFileOperation(args, boost::bind(&ConsoleHistory::saveToFile,
- &consoleHistory(), _1));
+ &consoleHistory(), boost::placeholders::_1));
}
catch(r::exec::RErrorException& e)
{
@@ -614,7 +614,7 @@
ConsoleHistory& history = consoleHistory();
std::for_each(commands.begin(),
commands.end(),
- boost::bind(&ConsoleHistory::add, &history, _1));
+ boost::bind(&ConsoleHistory::add, &history, boost::placeholders::_1));
}
catch(r::exec::RErrorException& e)
{

View file

@ -1,20 +0,0 @@
--- a/src/cpp/core/HtmlUtils.cpp 2021-02-11 00:26:02.000000000 +0100
+++ b/src/cpp/core/HtmlUtils.cpp 2021-02-11 00:26:02.000000000 +0100
@@ -17,6 +17,7 @@
#include <core/system/System.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/format.hpp>
#include <boost/algorithm/string/predicate.hpp>
--- a/src/cpp/core/file_lock/FileLock.cpp 2021-02-11 00:26:02.000000000 +0100
+++ b/src/cpp/core/file_lock/FileLock.cpp 2021-02-11 00:26:02.000000000 +0100
@@ -26,6 +26,7 @@
#include <core/system/Environment.hpp>
#include <core/system/Xdg.hpp>
+#include <boost/bind/bind.hpp>
#include <boost/algorithm/string.hpp>
// borrowed from SessionConstants.hpp

View file

@ -1,16 +0,0 @@
Index: rstudio-1.4.1717/src/cpp/core/include/core/Thread.hpp
===================================================================
--- rstudio-1.4.1717.orig/src/cpp/core/include/core/Thread.hpp
+++ rstudio-1.4.1717/src/cpp/core/include/core/Thread.hpp
@@ -17,9 +17,11 @@
#define CORE_THREAD_HPP
#include <queue>
+#include <set>
#include <boost/utility.hpp>
#include <boost/function.hpp>
+#include <boost/thread/mutex.hpp>
#include <core/BoostErrors.hpp>
#include <core/BoostThread.hpp>

View file

@ -1,34 +0,0 @@
Ref: https://www.mail-archive.com/commit@lists.opensuse.org/msg43991.html
From 872e2806f74e922a25e0f9586faa6624883728ca Mon Sep 17 00:00:00 2001
From: Kevin Ushey <kevinus...@gmail.com>
Date: Wed, 21 Jul 2021 19:56:34 -0700
Subject: [PATCH] support compilation with r-devel
---
src/cpp/r/session/RSession.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/cpp/r/session/RSession.cpp b/src/cpp/r/session/RSession.cpp
index 0066a61c1b6..6c5f986f6a0 100644
--- a/src/cpp/r/session/RSession.cpp
+++ b/src/cpp/r/session/RSession.cpp
@@ -68,6 +68,9 @@
#include <gsl/gsl>
+extern "C" {
+int Rf_countContexts(int, int);
+}
#define CTXT_BROWSER 16
// get rid of windows TRUE and FALSE definitions
@@ -493,7 +496,7 @@ bool isSuspendable(const std::string& currentPrompt)
return true;
}
-
+
bool browserContextActive()
{

View file

@ -1,10 +0,0 @@
--- a/src/cpp/session/modules/SessionHistoryArchive.hpp
+++ b/src/cpp/session/modules/SessionHistoryArchive.hpp
@@ -18,6 +18,7 @@
#include <string>
#include <vector>
+#include <ctime>
#include <boost/utility.hpp>

View file

@ -1,68 +0,0 @@
# Template file for 'rstudio'
pkgname=rstudio
version=1.4.1717
revision=7
build_style=cmake
configure_args="-DRSTUDIO_TARGET=Desktop
-DRSTUDIO_USE_SYSTEM_BOOST=ON
-DRSTUDIO_USE_SYSTEM_SOCI=TRUE
-DRSTUDIO_USE_SYSTEM_YAML_CPP=TRUE
-DRSTUDIO_BOOST_SIGNALS_VERSION=2
-DQT_QMAKE_EXECUTABLE=/usr/lib/qt5/bin/qmake
-DCMAKE_INSTALL_PREFIX=/usr/lib/rstudio"
hostmakedepends="unzip pandoc openjdk8 apache-ant R qt5-qmake
qt5-host-tools which nodejs"
makedepends="zlib-devel libuuid-devel openssl-devel pam-devel R mathjax
boost-devel pango-devel hunspell-devel qt5-devel qt5-webkit-devel
qt5-declarative-devel qt5-location-devel qt5-sensors-devel qt5-svg-devel
qt5-xmlpatterns-devel qt5-webchannel-devel qt5-webengine-devel sqlite-devel
qt5-plugin-pgsql qt5-plugin-mysql qt5-plugin-sqlite qt5-plugin-tds qt5-plugin-odbc
soci-devel yaml-cpp-devel"
depends="R mathjax"
short_desc="Integrated development environment (IDE) for R"
maintainer="John <me@johnnynator.dev>"
license="AGPL-3.0-only"
homepage="https://www.rstudio.com"
distfiles="https://github.com/rstudio/rstudio/archive/v${version}.tar.gz
https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip
https://github.com/catchorg/Catch2/releases/download/v2.13.10/catch.hpp"
checksum="3af234180fd7cef451aef40faac2c7b52860f14a322244c1c7aede029814d261
4341a9630efb9dcf7f215c324136407f3b3d6003e1c96f2e5e1f9f14d5787494
3725c0f0a75f376a5005dde31ead0feb8f7da7507644c201b814443de8355170"
skip_extraction="core-dictionaries.zip catch.hpp"
LDFLAGS="-Wl,-z,stack-size=2097152"
post_extract() {
_srcdir="${XBPS_SRCDISTDIR}/${pkgname}-${version}"
unzip -qd ${wrksrc}/dependencies/dictionaries ${_srcdir}/core-dictionaries.zip
cp ${_srcdir}/catch.hpp src/cpp/tests/cpp/tests/vendor/catch.hpp
}
pre_configure() {
_node_ver="10.19.0"
_pandoc_ver="2.11.4"
ln -s /usr/share/mathjax dependencies/common/mathjax-27
mkdir -p dependencies/common/pandoc/$_pandoc_ver/bin
ln -s /usr/bin/pandoc dependencies/common/pandoc/$_pandoc_ver/bin
mkdir -p dependencies/common/node/$_node_ver/bin
ln -s /usr/bin/node dependencies/common/node/$_node_ver/bin/node
cd src/gwt
ant draft
_maj_min=${version%*.*}
export RSTUDIO_VERSION_MAJOR=${_maj_min%.*}
export RSTUDIO_VERSION_MINOR=${_maj_min#*.}
export RSTUDIO_VERSION_PATCH=${version#*.*.*}
export PACKAGE_OS=VoidLinux
}
post_install() {
mkdir -p ${DESTDIR}/usr/bin
for f in {diagnostics,rpostback,rsession,rstudio}; do
ln -sf /usr/lib/rstudio/bin/${f} ${DESTDIR}/usr/bin/
done
vlicense COPYING
}

View file

@ -1,2 +0,0 @@
site="https://www.rstudio.com/products/rstudio/download/"
pattern="<h3 id=\"download\">RStudio Desktop \K[\d.]+[\d]+(?=</h3>)"