diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 90 |
1 files changed, 60 insertions, 30 deletions
@@ -1,29 +1,36 @@ # Maintainer: Artem Klevtsov <a.a.klevtso@gmail.com> +# Maintainer: Stephen Martin <hwkiller@gmail.com> # Contributor: Conor Anderson <conor@conr.ca> -pkgname=rstudio-desktop-git -_gitname=rstudio -pkgver=1.2.5001.r1361 -_gwtver=2.8.2 +_gwtver=2.9.0 _ginver=2.1.2 +_gitname=rstudio +pkgname=rstudio-desktop-git +pkgver=1.4.1103.r736 pkgrel=1 pkgdesc="A powerful and productive integrated development environment (IDE) for R programming language" arch=('i686' 'x86_64') url="https://www.rstudio.com/products/rstudio/" license=('AGPL3') -depends=('boost-libs' 'r>=2.11.1' hunspell-en_US mathjax pandoc clang qt5-sensors qt5-svg qt5-webengine qt5-xmlpatterns) -makedepends=(git 'cmake>=3.1.0' 'boost' desktop-file-utils jdk8-openjdk apache-ant unzip openssl libcups pam patchelf wget) +depends=('r>=3.0.1' boost-libs qt5-sensors qt5-svg qt5-webengine qt5-xmlpatterns postgresql-libs sqlite3 soci clang hunspell-en_US mathjax2 pandoc yaml-cpp quarto-cli-bin libldap24) +makedepends=(git 'cmake>=3.1.0' boost desktop-file-utils jdk8-openjdk apache-ant unzip openssl libcups pam patchelf wget yarn nodejs) optdepends=('git: for git support' 'subversion: for subversion support' 'openssh-askpass: for a git ssh access') -provides=('rstudio-desktop' 'rstudio-desktop-bin' 'rstudio-desktop-preview') +provides=('rstudio-desktop') conflicts=('rstudio-desktop' 'rstudio-desktop-bin' 'rstudio-desktop-preview') 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://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-gin/gin-${_ginver}.zip" + "https://storage.googleapis.com/gwt-releases/gwt-${_gwtver}.zip" + "qt.conf" + "cran_multithread.patch" + "nodejs-external.patch") sha256sums=('SKIP' 'b98e704164f54be596779696a3fcd11be5785c9907a99ec535ff6e9525ad5f9a' - '970701dacc55170088f5eb327137cb4a7581ebb4734188dfcc2fad9941745d1b') + '253911e3be63c19628ffef5c1082258704e7896f81b855338c6a036f524fbd42' + '723626bfe05dafa545e135e8e61a482df111f488583fef155301acc5ecbbf921' + 'c907e6eec5ef324ad498b44fb9926bb5baafc4e0778ca01f6ba9b49dd3a2a980' + '4a6aff2b586ddfceb7c59215e5f4a03f25b08fcc55687acaa6ae23c11d75d0e8') noextract=("gin-${_ginver}.zip") pkgver() { @@ -32,47 +39,70 @@ pkgver() { } prepare() { + git -C "${srcdir}/${_gitname}" apply -v "${srcdir}"/nodejs-external.patch + + 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" - install -d lib/{gin,gwt} - install -d lib/gin/${_ginver} - install -d lib/gwt/${_gwtver} + install -d lib/gin/${_ginver} lib/gwt/${_gwtver} unzip -qo "${srcdir}/gin-${_ginver}.zip" -d lib/gin/${_ginver} cp -r "${srcdir}/gwt-${_gwtver}/"* lib/gwt/${_gwtver} cd "${srcdir}/${_gitname}/dependencies/common" - install -d pandoc - + _pandocver=$(grep -oP "(?<=PANDOC_VERSION=\").*(?=\"$)" install-pandoc) + install -d pandoc/${_pandocver} + ln -sfT /usr/share/myspell/dicts dictionaries - ln -sfT /usr/share/mathjax mathjax-26 - ln -sfT /usr/bin/pandoc pandoc/pandoc - ln -sfT /usr/bin/pandoc-citeproc pandoc/pandoc-citeproc - - msg "Downloading and installing R packages..." - bash install-packages + ln -sfT /usr/share/mathjax2 mathjax-27 + ln -sfT /opt/quarto quarto + ln -sfT /usr/bin/pandoc pandoc/${_pandocver}/pandoc + ln -sfT /usr/bin/pandoc-citeproc pandoc/${_pandocver}/pandoc-citeproc + + # Fix links for src/cpp/session/CMakeLists.txt + cd "${srcdir}/${_gitname}/dependencies" + ln -sfT common/dictionaries dictionaries + ln -sfT common/mathjax-27 mathjax-27 + ln -sfT common/quarto quarto + ln -sfT common/pandoc pandoc } build() { - rm -rf "${srcdir}/${_gitname}/build" - mkdir "${srcdir}/${_gitname}/build" - cd "${srcdir}/${_gitname}/build" + msg "Downloading and installing R packages..." + bash "${srcdir}/${_gitname}/dependencies/common/install-packages" + export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:${PATH} - cmake -DRSTUDIO_TARGET=Desktop \ + export JAVA_TOOL_OPTIONS="-Djava.util.prefs.userRoot=${srcdir}" + export BUILD_ID="local" + export PACKAGE_OS="Arch Linux" + + cmake -S "${srcdir}/${_gitname}" \ + -B build \ + -DRSTUDIO_TARGET=Desktop \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/lib/rstudio \ -DRSTUDIO_USE_SYSTEM_BOOST=yes \ + -DRSTUDIO_USE_SYSTEM_YAML_CPP=yes \ -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake \ -DBoost_NO_BOOST_CMAKE=ON \ - -DRSTUDIO_BUNDLE_QT=FALSE .. + -DRSTUDIO_USE_SYSTEM_SOCI=yes \ + -DRSTUDIO_BUNDLE_QT=FALSE } package() { - cd "${srcdir}/${_gitname}/build" # Install the program - make DESTDIR="${pkgdir}" install + make -C build DESTDIR="${pkgdir}" install + # Install the license - install -Dm 644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" + install -Dm 644 "${srcdir}/${_gitname}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" + # Symlink main binary install -d "${pkgdir}/usr/bin" - ln -s "/usr/lib/${_gitname}/bin/${_gitname}" "${pkgdir}/usr/bin/${_gitname}" + ln -sfT "/usr/lib/rstudio/bin/rstudio" "${pkgdir}/usr/bin/rstudio" + + # BUGFIX: qt5-webengine isn't init'ing properly. Likely an Rstudio bug. + install -Dm 644 "${srcdir}/qt.conf" "${pkgdir}/usr/lib/qt/libexec/qt.conf" } |