summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2021-01-22 13:21:37 +0100
committerbartus2021-01-23 10:58:16 +0100
commitb53541d810be319d427bb66c63dd55886473464e (patch)
tree50a8bdb22799c0f0ef666cff37fcca3cf173d823
parent3d80bdea3612f33b5672e213d40d494f76358622 (diff)
downloadaur-b53541d810be319d427bb66c63dd55886473464e.tar.gz
Parallelize R.install.packages()
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD9
-rw-r--r--cran_multithread.patch13
3 files changed, 22 insertions, 2 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3748914f5271..c674e2492f58 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -46,11 +46,13 @@ pkgbase = rstudio-desktop-git
source = https://s3.amazonaws.com/rstudio-buildtools/gwt-2.8.2.zip
source = https://nodejs.org/dist/v10.19.0/node-v10.19.0-linux-x64.tar.gz
source = qt.conf
+ source = cran_multithread.patch
sha256sums = SKIP
sha256sums = b98e704164f54be596779696a3fcd11be5785c9907a99ec535ff6e9525ad5f9a
sha256sums = 970701dacc55170088f5eb327137cb4a7581ebb4734188dfcc2fad9941745d1b
sha256sums = 36d90bc58f0418f31dceda5b18eb260019fcc91e59b0820ffa66700772a8804b
sha256sums = 723626bfe05dafa545e135e8e61a482df111f488583fef155301acc5ecbbf921
+ sha256sums = c907e6eec5ef324ad498b44fb9926bb5baafc4e0778ca01f6ba9b49dd3a2a980
pkgname = rstudio-desktop-git
diff --git a/PKGBUILD b/PKGBUILD
index 4c28121f6379..f5f8712918b6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -24,12 +24,14 @@ source=("git+https://github.com/rstudio/rstudio.git"
"https://s3.amazonaws.com/rstudio-buildtools/gin-${_ginver}.zip"
"https://s3.amazonaws.com/rstudio-buildtools/gwt-${_gwtver}.zip"
"https://nodejs.org/dist/v${_nodever}/node-v${_nodever}-linux-x64.tar.gz"
- "qt.conf")
+ "qt.conf"
+ "cran_multithread.patch")
sha256sums=('SKIP'
'b98e704164f54be596779696a3fcd11be5785c9907a99ec535ff6e9525ad5f9a'
'970701dacc55170088f5eb327137cb4a7581ebb4734188dfcc2fad9941745d1b'
'36d90bc58f0418f31dceda5b18eb260019fcc91e59b0820ffa66700772a8804b'
- '723626bfe05dafa545e135e8e61a482df111f488583fef155301acc5ecbbf921')
+ '723626bfe05dafa545e135e8e61a482df111f488583fef155301acc5ecbbf921'
+ 'c907e6eec5ef324ad498b44fb9926bb5baafc4e0778ca01f6ba9b49dd3a2a980')
noextract=("gin-${_ginver}.zip")
pkgver() {
@@ -39,6 +41,9 @@ pkgver() {
prepare() {
cd ${srcdir}/${_gitname}
+ local JOBS; JOBS="$(grep -oP -- "-j\s*\K[0-9]+" <<< "${MAKEFLAGS}")" || JOBS="1"
+ sed "s/@@proc_num@@/${JOBS}/" -i ${srcdir}/cran_multithread.patch
+ git apply -v ${srcdir}/cran_multithread.patch
msg "Extracting dependencies..."
cd "${srcdir}/${_gitname}/src/gwt"
diff --git a/cran_multithread.patch b/cran_multithread.patch
new file mode 100644
index 000000000000..57cacc88a746
--- /dev/null
+++ b/cran_multithread.patch
@@ -0,0 +1,13 @@
+diff --git a/dependencies/common/install-packages b/dependencies/common/install-packages
+index e0d184e5f0..658fd31fd4 100755
+--- a/dependencies/common/install-packages
++++ b/dependencies/common/install-packages
+@@ -104,7 +104,7 @@ fi
+
+ # install packages needed to run tests
+ for RPKG in rmarkdown renv testthat xml2 yaml; do
+- RINSTALLCMD="if("'!'"require($RPKG, quietly = TRUE)) { install.packages('$RPKG', lib='$RPKGLIB', repos='https://cran.rstudio.com/') }"
++ RINSTALLCMD="if("'!'"require($RPKG, quietly = TRUE)) { options(Ncpus = @@proc_num@@ ); install.packages('$RPKG', lib='$RPKGLIB', repos='https://cran.rstudio.com/') }"
+ echo "> $RINSTALLCMD"
+ Rscript -e "$RINSTALLCMD"
+ done