rstudio: update to 1.2.5001.

[ci skip]
This commit is contained in:
John 2019-10-17 17:44:34 +02:00 committed by John Zimmermann
parent 0a2e26aa1a
commit 566cdccff8
5 changed files with 178 additions and 50 deletions

View file

@ -0,0 +1,52 @@
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
--- src/cpp/core/CMakeLists.txt
+++ 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
--- src/cpp/core/config.h.in
+++ 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
--- src/cpp/core/r_util/RSessionContext.cpp
+++ 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

@ -0,0 +1,69 @@
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
--- src/cpp/core/Backtrace.cpp
+++ 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
--- src/cpp/core/CMakeLists.txt
+++ 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
--- src/cpp/core/config.h.in
+++ 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

@ -0,0 +1,25 @@
From c51561dc858b1d2d47ea3a5b9039b69aa822a830 Mon Sep 17 00:00:00 2001
From: John <johnz@posteo.net>
Date: Fri, 29 Nov 2019 10:48:39 +0100
Subject: [PATCH 3/3] Include <unistd.h> instead of <sys/unistd.h>
---
src/cpp/core/include/core/system/FileMode.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git src/cpp/core/include/core/system/FileMode.hpp src/cpp/core/include/core/system/FileMode.hpp
index 8677a4d209..2f12064b66 100644
--- src/cpp/core/include/core/system/FileMode.hpp
+++ src/cpp/core/include/core/system/FileMode.hpp
@@ -22,7 +22,7 @@
#endif
#include <sys/stat.h>
-#include <sys/unistd.h>
+#include <unistd.h>
#include <shared_core/Error.hpp>
#include <shared_core/FilePath.hpp>
--
2.24.0

View file

@ -1,84 +1,66 @@
# Template file for 'rstudio'
pkgname=rstudio
version=1.2.1335
version=1.2.5001
revision=1
archs="i686 x86_64"
build_style=cmake
make_install_args="INSTALL_ROOT=${DESTDIR} \
PREFIX=/usr"
configure_args="-DRSTUDIO_TARGET=Desktop \
-DCMAKE_BUILD_TYPE=Release \
-DQT_QMAKE_EXECUTABLE=/usr/lib/qt/bin/qmake \
configure_args="-DRSTUDIO_TARGET=Desktop
-DRSTUDIO_BOOST_SIGNALS_VERSION=2
-DQT_QMAKE_EXECUTABLE=/usr/lib/qt5/bin/qmake
-DCMAKE_INSTALL_PREFIX=/usr/lib/rstudio"
hostmakedepends="unzip git
hostmakedepends="unzip pandoc openjdk apache-ant qt5-qmake R mathjax"
makedepends="zlib-devel libuuid-devel libressl-devel pam-devel
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
qt5-plugin-pgsql qt5-plugin-mysql qt5-plugin-sqlite qt5-plugin-tds qt5-plugin-odbc"
makedepends="R zlib-devel libuuid-devel libressl-devel pam-devel
boost-devel pango-devel mathjax hunspell-devel pandoc
openjdk apache-ant
qt5-devel qt5-qmake qt5-webkit-devel qt5-declarative-devel qt5-location-devel
qt5-sensors-devel qt5-svg-devel qt5-xmlpatterns-devel qt5-webchannel-devel
qt5-webengine-devel"
depends="R"
short_desc="Integrated development environment (IDE) for R"
maintainer="ivierlin <github@ivierlin.de>"
maintainer="John <johnz@posteo.net>"
license="AGPL-3.0-only"
homepage="https://www.rstudio.com"
_aws="https://s3.amazonaws.com"
_gin_version="2.1.2"
_gwt_version="2.8.1"
_selenium_version="2.37.0"
_chromedriver_version="2.7"
_gin_version=2.1.2
_gwt_version=2.8.1
_r2d3_version=0.2.0
_rmarkdown_commit=aed26ac
_rsconnect_commit=03c379b
_plumber_version=0.4.6
distfiles="https://github.com/rstudio/rstudio/archive/v${version}.tar.gz
${_aws}/rstudio-dictionaries/core-dictionaries.zip
${_aws}/rstudio-buildtools/gin-${_gin_version}.zip
${_aws}/rstudio-buildtools/gwt-${_gwt_version}.zip
${_aws}/rstudio-buildtools/selenium-java-${_selenium_version}.zip
${_aws}/rstudio-buildtools/selenium-server-standalone-${_selenium_version}.jar
${_aws}/rstudio-buildtools/chromedriver-linux"
checksum="f124fbae68762d0a1fc9a7dc72ad290aebde768e262df87acda3883a07fdfd58
https://github.com/rstudio/r2d3/archive/v${_r2d3_version}.tar.gz
https://github.com/rstudio/rmarkdown/archive/${_rmarkdown_commit}.tar.gz
https://github.com/rstudio/rsconnect/archive/${_rsconnect_commit}.tar.gz
https://github.com/trestletech/plumber/archive/v${_plumber_version}.tar.gz"
checksum="0d1ec7aef62bda1ceec364e372fdbbcc4da502a3f03eddcddc700bdead6ee840
4341a9630efb9dcf7f215c324136407f3b3d6003e1c96f2e5e1f9f14d5787494
b98e704164f54be596779696a3fcd11be5785c9907a99ec535ff6e9525ad5f9a
0b7af89fdadb4ec51cdb400ace94637d6fe9ffa401b168e2c3d372392a00a0a7
0eebba65d8edb01c1f46e462907c58f5d6e1cb0ddf63660a9985c8432bdffbb7
97bc8c699037fb6e99ba7af570fb60dbb1b7ce30cde2448287a44ef65b13023e
1ff3e9fc17e456571c440ab160f25ee451b2a4d36e61c8e297737cff7433f48c"
6355a7632134c8c9487056019a9c458db2c98d10388cf66b018d5461d0a947af
d64a512d40de1c3fd83206201d175e8316b8c77c4d481696c8f9574e0c8b1d82
9457fe103a7b46c2e6612265db2d66e4263eab690ef1058cace3a1a1eadb06ec
7bcbfdf5a8a2e3a051d2c673ac5ac51a483ed888afe73116cba7741dbb5f63a6"
skip_extraction="core-dictionaries.zip
gin.zip
gwt-${_gwt_version}.zip
selenium-java-${_selenium_version}.zip
selenium-server-standalone-${_selenium_version}.jar
chromedriver-linux"
CXXFLAGS="-DBOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS"
gin-${_gin_version}.zip
gwt-${_gwt_version}.zip"
LDFLAGS="-Wl,-z,stack-size=2097152"
post_extract() {
_srcdir="${XBPS_SRCDISTDIR}/${pkgname}-${version}"
mkdir -p src/gwt/lib/{gin/${_gin_version},gwt,selenium/chromedriver/${_chromedriver_version}}
mkdir -p src/gwt/lib/{gin/${_gin_version},gwt}
unzip -qd src/gwt/lib/gin/${_gin_version} ${_srcdir}/gin-${_gin_version}.zip
unzip -qd src/gwt/lib ${_srcdir}/gwt-${_gwt_version}.zip
mv src/gwt/lib/gwt-${_gwt_version} src/gwt/lib/gwt/${_gwt_version}
unzip -qd src/gwt/lib ${_srcdir}/selenium-java-${_selenium_version}.zip
mv src/gwt/lib/selenium-${_selenium_version} src/gwt/lib/selenium/${_selenium_version}
cp ${_srcdir}/selenium-server-standalone-${_selenium_version}.jar src/gwt/lib/selenium/${_selenium_version}
cp ${_srcdir}/chromedriver-linux src/gwt/lib/selenium/chromedriver/${_chromedriver_version}
mkdir -p dependencies/common/{dictionaries,libclang/{3.5,builtin-headers}}
unzip -qd dictionaries ${_srcdir}/core-dictionaries.zip
unzip -qd ${wrksrc}/dependencies/common/dictionaries ${_srcdir}/core-dictionaries.zip
}
pre_configure() {
chmod u+x src/gwt/lib/selenium/chromedriver/${_chromedriver_version}/*
ln -sfT /usr/share/mathjax dependencies/common/mathjax-26
ln -sfT /usr/bin dependencies/common/pandoc
ln -sfT /usr/lib/libclang.so dependencies/common/libclang/3.5/libclang.so
ln -sfT /usr/lib/clang/$_clangver/include dependencies/common/libclang/builtin-headers/3.5
cd dependencies/common
./install-packages
cd ${wrksrc}
}
post_install() {

View file

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