From 566cdccff8c84ccd7c6c680e68bcd57220f3d0d8 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 17 Oct 2019 17:44:34 +0200 Subject: [PATCH] rstudio: update to 1.2.5001. [ci skip] --- ...0001-Check-for-group_member-in-cmake.patch | 52 ++++++++++++ ...heck-for-backtrace-function-in-cmake.patch | 69 ++++++++++++++++ ...ude-unistd.h-instead-of-sys-unistd.h.patch | 25 ++++++ srcpkgs/rstudio/template | 80 +++++++------------ srcpkgs/rstudio/update | 2 +- 5 files changed, 178 insertions(+), 50 deletions(-) create mode 100644 srcpkgs/rstudio/patches/0001-Check-for-group_member-in-cmake.patch create mode 100644 srcpkgs/rstudio/patches/0002-Check-for-backtrace-function-in-cmake.patch create mode 100644 srcpkgs/rstudio/patches/0003-Include-unistd.h-instead-of-sys-unistd.h.patch diff --git a/srcpkgs/rstudio/patches/0001-Check-for-group_member-in-cmake.patch b/srcpkgs/rstudio/patches/0001-Check-for-group_member-in-cmake.patch new file mode 100644 index 00000000000..fa127ee137b --- /dev/null +++ b/srcpkgs/rstudio/patches/0001-Check-for-group_member-in-cmake.patch @@ -0,0 +1,52 @@ +From 3f00c73f8b4b57bb965ae618f30684421d55f01e Mon Sep 17 00:00:00 2001 +From: John +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 + diff --git a/srcpkgs/rstudio/patches/0002-Check-for-backtrace-function-in-cmake.patch b/srcpkgs/rstudio/patches/0002-Check-for-backtrace-function-in-cmake.patch new file mode 100644 index 00000000000..1dc74100ec9 --- /dev/null +++ b/srcpkgs/rstudio/patches/0002-Check-for-backtrace-function-in-cmake.patch @@ -0,0 +1,69 @@ +From f6b65fb4b1ab174b4aab898f4bb83d0b83a2bcb1 Mon Sep 17 00:00:00 2001 +From: John +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 + #include + +-#ifndef _WIN32 ++#include "config.h" ++ ++#ifdef HAVE_BACKTRACE + # include + # include + # include +@@ -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 + diff --git a/srcpkgs/rstudio/patches/0003-Include-unistd.h-instead-of-sys-unistd.h.patch b/srcpkgs/rstudio/patches/0003-Include-unistd.h-instead-of-sys-unistd.h.patch new file mode 100644 index 00000000000..68732769832 --- /dev/null +++ b/srcpkgs/rstudio/patches/0003-Include-unistd.h-instead-of-sys-unistd.h.patch @@ -0,0 +1,25 @@ +From c51561dc858b1d2d47ea3a5b9039b69aa822a830 Mon Sep 17 00:00:00 2001 +From: John +Date: Fri, 29 Nov 2019 10:48:39 +0100 +Subject: [PATCH 3/3] Include instead of + +--- + 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 +-#include ++#include + + #include + #include +-- +2.24.0 + diff --git a/srcpkgs/rstudio/template b/srcpkgs/rstudio/template index a83e60365b6..abf26301928 100644 --- a/srcpkgs/rstudio/template +++ b/srcpkgs/rstudio/template @@ -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 " +maintainer="John " 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() { diff --git a/srcpkgs/rstudio/update b/srcpkgs/rstudio/update index ef085c03c71..8dd77485f85 100644 --- a/srcpkgs/rstudio/update +++ b/srcpkgs/rstudio/update @@ -1,2 +1,2 @@ site="https://www.rstudio.com/products/rstudio/download/" -pattern="RStudio Desktop \K[\d.]+[\d]+(?=)" +pattern="

RStudio Desktop \K[\d.]+[\d]+(?=

)"