mirror of
https://github.com/BioArchLinux/Packages.git
synced 2025-03-10 12:02:42 +00:00
rstudio-desktop: import recent PKGBUILD from AUR
This commit is contained in:
parent
455a44da5b
commit
331cff1496
11 changed files with 290 additions and 195 deletions
43
BioArchLinux/nvm/PKGBUILD
Normal file
43
BioArchLinux/nvm/PKGBUILD
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Maintainer: Tom Wadley <tom@tomwadley.net>
|
||||
|
||||
pkgname=nvm
|
||||
pkgver=0.40.1
|
||||
pkgrel=1
|
||||
pkgdesc="Node Version Manager - Simple bash script to manage multiple active node.js versions"
|
||||
url="https://github.com/nvm-sh/nvm"
|
||||
arch=('any')
|
||||
license=('MIT')
|
||||
optdepends=('bash: bash completion')
|
||||
install="${pkgname}.install"
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/nvm-sh/nvm/archive/v${pkgver}.tar.gz"
|
||||
"init-nvm.sh"
|
||||
"install-nvm-exec")
|
||||
sha256sums=('b1c750e61acfa6abe9f5ad504ba0e14a7f65c1f3afc69bf0e6051e4358f4a3df'
|
||||
'692317bfd036557f59543fef9b67ff38de68208d30361fe385291f58d3ac0425'
|
||||
'795d3f6ad3076aa4b0bb9cc48a2e6e79331d121278a887667fb707181a54a10b')
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"
|
||||
|
||||
# convenience script
|
||||
install -Dm644 init-nvm.sh "$pkgdir/usr/share/$pkgname/init-nvm.sh"
|
||||
|
||||
# companion script which installs symlinks in NVM_DIR (see comment in script)
|
||||
install -Dm644 install-nvm-exec "$pkgdir/usr/share/$pkgname/install-nvm-exec"
|
||||
|
||||
cd "${pkgname}-${pkgver}"
|
||||
|
||||
# nvm itself
|
||||
install -Dm644 nvm.sh "$pkgdir/usr/share/$pkgname/nvm.sh"
|
||||
|
||||
# nvm-exec script for 'nvm exec' command
|
||||
install -Dm755 nvm-exec "$pkgdir/usr/share/$pkgname/nvm-exec"
|
||||
|
||||
# bash completion
|
||||
install -Dm644 bash_completion "$pkgdir/usr/share/$pkgname/bash_completion"
|
||||
|
||||
# license
|
||||
install -Dm644 LICENSE.md "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
4
BioArchLinux/nvm/init-nvm.sh
Normal file
4
BioArchLinux/nvm/init-nvm.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
[ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.nvm"
|
||||
source /usr/share/nvm/nvm.sh
|
||||
source /usr/share/nvm/bash_completion
|
||||
source /usr/share/nvm/install-nvm-exec
|
4
BioArchLinux/nvm/install-nvm-exec
Normal file
4
BioArchLinux/nvm/install-nvm-exec
Normal file
|
@ -0,0 +1,4 @@
|
|||
# "nvm exec" and certain 3rd party scripts expect "nvm.sh" and "nvm-exec" to exist under $NVM_DIR
|
||||
[ -e "$NVM_DIR" ] || mkdir -p "$NVM_DIR"
|
||||
[ -e "$NVM_DIR/nvm.sh" ] || ln -s /usr/share/nvm/nvm.sh "$NVM_DIR/nvm.sh"
|
||||
[ -e "$NVM_DIR/nvm-exec" ] || ln -s /usr/share/nvm/nvm-exec "$NVM_DIR/nvm-exec"
|
13
BioArchLinux/nvm/lilac.yaml
Normal file
13
BioArchLinux/nvm/lilac.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
build_prefix: extra-x86_64
|
||||
maintainers:
|
||||
- github: kbipinkumar
|
||||
email: kbipinkumar@pm.me
|
||||
pre_build_script: |
|
||||
update_pkgver_and_pkgrel(_G.newver)
|
||||
post_build_script: |
|
||||
git_pkgbuild_commit()
|
||||
update_on:
|
||||
- source: github
|
||||
github: nvm-sh/nvm
|
||||
use_max_tag: true
|
||||
prefix: v
|
36
BioArchLinux/nvm/nvm.install
Normal file
36
BioArchLinux/nvm/nvm.install
Normal file
|
@ -0,0 +1,36 @@
|
|||
## arg 1: the new package version
|
||||
post_install() {
|
||||
echo "
|
||||
You need to source nvm before you can use it. Do one of the following
|
||||
or similar depending on your shell (and then restart your shell):
|
||||
|
||||
echo 'source /usr/share/nvm/init-nvm.sh' >> ~/.bashrc
|
||||
echo 'source /usr/share/nvm/init-nvm.sh' >> ~/.zshrc
|
||||
|
||||
You can now install node.js versions (e.g. nvm install 10) and
|
||||
activate them (e.g. nvm use 10).
|
||||
|
||||
init-nvm.sh is a convenience script which does the following:
|
||||
"
|
||||
cat usr/share/nvm/init-nvm.sh
|
||||
echo "
|
||||
You may wish to customize and put these lines directly in your
|
||||
.bashrc (or similar) if, for example, you would like an NVM_DIR
|
||||
other than ~/.nvm or you don't want bash completion.
|
||||
|
||||
See the nvm readme for more information: https://github.com/creationix/nvm
|
||||
"
|
||||
}
|
||||
|
||||
## arg 1: the old package version
|
||||
post_remove() {
|
||||
echo "
|
||||
Don't forget to clean up any lines added to your shell's startup script!
|
||||
|
||||
For example, from your .bashrc (or .zshrc etc.), delete the line:
|
||||
|
||||
source /usr/share/nvm/init-nvm.sh
|
||||
"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
23
BioArchLinux/nvm/update.sh
Executable file
23
BioArchLinux/nvm/update.sh
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
if (( $# != 1 )); then
|
||||
echo "Usage: $0 VERSION"
|
||||
echo "Update pkgver to VERSION and then build and commit."
|
||||
echo "You just need to test the package, review the commit and push."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$1
|
||||
|
||||
set -x
|
||||
|
||||
sed -i "s/^pkgver=.*\$/pkgver=${VERSION}/" PKGBUILD
|
||||
updpkgsums
|
||||
makepkg --printsrcinfo > .SRCINFO
|
||||
git add .
|
||||
git commit -m "Upgrade to v${VERSION}"
|
||||
makepkg -i
|
||||
|
||||
set +x
|
||||
|
||||
echo "Now smoke test the package, review the commit, and push"
|
|
@ -1,97 +0,0 @@
|
|||
diff -ru rstudio-desktop.original/src/rstudio-2024.04.1-748/src/cpp/conf/rsession-dev.conf rstudio-desktop/src/rstudio-2024.04.1-748/src/cpp/conf/rsession-dev.conf
|
||||
--- rstudio-desktop.original/src/rstudio-2024.04.1-748/src/cpp/conf/rsession-dev.conf 2024-05-07 06:31:08.000000000 +1200
|
||||
+++ rstudio-desktop/src/rstudio-2024.04.1-748/src/cpp/conf/rsession-dev.conf 2024-05-21 19:32:00.206198890 +1200
|
||||
@@ -39,7 +39,7 @@
|
||||
external-pandoc-path=${RSTUDIO_DEPENDENCIES_PANDOC_DIR}
|
||||
external-quarto-path=${RSTUDIO_DEPENDENCIES_QUARTO_DIR}
|
||||
external-libclang-path=${RSTUDIO_DEPENDENCIES_DIR}/common/libclang
|
||||
-external-node-path=${RSTUDIO_DEPENDENCIES_DIR}/common/node/18.18.2/bin/node
|
||||
+external-node-path=/usr/bin/node
|
||||
|
||||
# enable copilot
|
||||
copilot-enabled=1
|
||||
diff -ru rstudio-desktop.original/src/rstudio-2024.04.1-748/src/cpp/session/CMakeLists.txt rstudio-desktop/src/rstudio-2024.04.1-748/src/cpp/session/CMakeLists.txt
|
||||
--- rstudio-desktop.original/src/rstudio-2024.04.1-748/src/cpp/session/CMakeLists.txt 2024-05-07 06:31:08.000000000 +1200
|
||||
+++ rstudio-desktop/src/rstudio-2024.04.1-748/src/cpp/session/CMakeLists.txt 2024-05-21 10:33:50.351362947 +1200
|
||||
@@ -697,10 +697,12 @@
|
||||
DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources")
|
||||
|
||||
# install node
|
||||
- install(
|
||||
- DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/node/${RSTUDIO_INSTALLED_NODE_VERSION}/"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_BIN}/node"
|
||||
- USE_SOURCE_PERMISSIONS)
|
||||
+ if(NOT RSTUDIO_USE_SYSTEM_NODE)
|
||||
+ install(
|
||||
+ DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/node/${RSTUDIO_INSTALLED_NODE_VERSION}/"
|
||||
+ DESTINATION "${RSTUDIO_INSTALL_BIN}/node"
|
||||
+ USE_SOURCE_PERMISSIONS)
|
||||
+ endif()
|
||||
|
||||
# install quarto (or pandoc if quarto disabled)
|
||||
if(QUARTO_ENABLED)
|
||||
diff -ru rstudio-desktop.original/src/rstudio-2024.04.1-748/src/cpp/session/SessionOptions.cpp rstudio-desktop/src/rstudio-2024.04.1-748/src/cpp/session/SessionOptions.cpp
|
||||
--- rstudio-desktop.original/src/rstudio-2024.04.1-748/src/cpp/session/SessionOptions.cpp 2024-05-07 06:31:08.000000000 +1200
|
||||
+++ rstudio-desktop/src/rstudio-2024.04.1-748/src/cpp/session/SessionOptions.cpp 2024-05-21 19:33:46.308996710 +1200
|
||||
@@ -709,7 +709,7 @@
|
||||
std::string* pPath)
|
||||
{
|
||||
#if defined(__linux__) && !defined(RSTUDIO_PACKAGE_BUILD)
|
||||
- FilePath dependenciesPath = resourcePath.completePath("../../dependencies/common/node/18.18.2");
|
||||
+ FilePath dependenciesPath = resourcePath.completePath("/usr");
|
||||
resolvePath(dependenciesPath, pPath);
|
||||
#else
|
||||
resolvePath(resourcePath, pPath);
|
||||
diff -ru rstudio-desktop.original/src/rstudio-2024.04.1-748/src/gwt/build.xml rstudio-desktop/src/rstudio-2024.04.1-748/src/gwt/build.xml
|
||||
--- rstudio-desktop.original/src/rstudio-2024.04.1-748/src/gwt/build.xml 2024-05-07 06:31:08.000000000 +1200
|
||||
+++ rstudio-desktop/src/rstudio-2024.04.1-748/src/gwt/build.xml 2024-05-21 19:28:10.023896075 +1200
|
||||
@@ -85,8 +85,8 @@
|
||||
|
||||
<!-- panmirror typescript library -->
|
||||
<!-- ensure version matches RSTUDIO_NODE_VERSION -->
|
||||
- <property name="node.version" value="18.18.2"/>
|
||||
- <property name="node.dir" value="../../dependencies/common/node/${node.version}"/>
|
||||
+ <property name="node.version" value="Current"/>
|
||||
+ <property name="node.dir" value="/usr"/>
|
||||
<!-- use yarn from system but will prefer yarn from dependencies if available -->
|
||||
<condition property="yarn.bin" value="yarn">
|
||||
<not>
|
||||
diff -ru rstudio-desktop.original/src/rstudio-2024.04.1-748/src/node/CMakeNodeTools.txt rstudio-desktop/src/rstudio-2024.04.1-748/src/node/CMakeNodeTools.txt
|
||||
--- rstudio-desktop.original/src/rstudio-2024.04.1-748/src/node/CMakeNodeTools.txt 2024-05-07 06:31:08.000000000 +1200
|
||||
+++ rstudio-desktop/src/rstudio-2024.04.1-748/src/node/CMakeNodeTools.txt 2024-05-21 19:28:34.497148803 +1200
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
# set the node version
|
||||
if(NOT DEFINED RSTUDIO_NODE_VERSION)
|
||||
- set(RSTUDIO_NODE_VERSION "18.18.2")
|
||||
+ set(RSTUDIO_NODE_VERSION "Current")
|
||||
endif()
|
||||
if(DEFINED ENV{RSTUDIO_NODE_VERSION})
|
||||
set(RSTUDIO_NODE_VERSION $ENV{RSTUDIO_NODE_VERSION})
|
||||
@@ -45,7 +45,7 @@
|
||||
NO_DEFAULT_PATH PATH_SUFFIXES "bin"
|
||||
PATHS "/opt/rstudio-tools/dependencies/common/node/${RSTUDIO_NODE_VERSION}"
|
||||
"c:/rstudio-tools/dependencies/common/node/${RSTUDIO_NODE_VERSION}"
|
||||
- "${CMAKE_CURRENT_LIST_DIR}/../../dependencies/common/node/${RSTUDIO_NODE_VERSION}")
|
||||
+ "/usr")
|
||||
|
||||
find_program(NPM
|
||||
NAMES npm
|
||||
@@ -53,7 +53,7 @@
|
||||
NO_DEFAULT_PATH
|
||||
PATHS "/opt/rstudio-tools/dependencies/common/node/${RSTUDIO_NODE_VERSION}"
|
||||
"c:/rstudio-tools/dependencies/common/node/${RSTUDIO_NODE_VERSION}"
|
||||
- "${CMAKE_CURRENT_LIST_DIR}/../../dependencies/common/node/${RSTUDIO_NODE_VERSION}")
|
||||
+ "/usr")
|
||||
|
||||
find_program(NPX
|
||||
NAMES npx
|
||||
@@ -61,7 +61,7 @@
|
||||
NO_DEFAULT_PATH
|
||||
PATHS "/opt/rstudio-tools/dependencies/common/node/${RSTUDIO_NODE_VERSION}"
|
||||
"c:/rstudio-tools/dependencies/common/node/${RSTUDIO_NODE_VERSION}"
|
||||
- "${CMAKE_CURRENT_LIST_DIR}/../../dependencies/common/node/${RSTUDIO_NODE_VERSION}")
|
||||
+ "/usr")
|
||||
|
||||
endif()
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
--- rstudio-2024.04.2-764.original/src/cpp/core/json/JsonRpc.cpp 2024-06-05 09:19:10.000000000 +1200
|
||||
+++ rstudio-2024.04.2-764/src/cpp/core/json/JsonRpc.cpp 2024-09-04 07:34:10.202186197 +1200
|
||||
@@ -193,7 +193,7 @@
|
||||
|
||||
bool JsonRpcResponse::hasAfterResponse() const
|
||||
{
|
||||
- return afterResponse_;
|
||||
+ return (bool)afterResponse_;
|
||||
}
|
|
@ -3,53 +3,109 @@
|
|||
# Contributor: Conor Anderson <conor@conr.ca>
|
||||
|
||||
pkgname=rstudio-desktop
|
||||
pkgver=2024.04.2+764
|
||||
pkgver=2024.09.1+394
|
||||
_pkgver=${pkgver//+/.}
|
||||
_srcname=rstudio-${pkgver//+/-}
|
||||
_pandocver="current"
|
||||
_quarto="FALSE"
|
||||
_sociver="4.0.3"
|
||||
pkgrel=3
|
||||
_nodeversion="22"
|
||||
_quarto_branch="release/rstudio-cranberry-hibiscus"
|
||||
pkgrel=1
|
||||
pkgdesc="A powerful and productive integrated development environment \
|
||||
(IDE) for R programming language"
|
||||
arch=('x86_64')
|
||||
url="https://posit.co/products/open-source/rstudio/"
|
||||
license=('AGPL-3.0-only')
|
||||
depends=('r>=3.3.0' 'boost-libs' 'qt5-sensors' 'qt5-svg' 'qt5-webengine' 'qt5-xmlpatterns' 'postgresql-libs' 'sqlite3' 'clang' 'hunspell-en_US' 'mathjax2' 'pandoc' 'yaml-cpp' 'r-rmarkdown' 'r-renv' 'r-testthat' 'r-xml2' 'r-yaml' 'r-purrr' 'r-digest')
|
||||
makedepends=('git' 'cmake>=3.29' 'boost' 'ninja' 'desktop-file-utils' 'jdk8-openjdk' 'apache-ant' 'unzip' 'openssl' 'libcups' 'pam' 'patchelf' 'wget' 'yarn')
|
||||
optdepends=('git: for git support'
|
||||
'subversion: for subversion support'
|
||||
'openssh-askpass: for a git ssh access'
|
||||
)
|
||||
depends=('r>=3.3.0' 'boost-libs' 'nspr' 'nss' 'postgresql-libs' 'sqlite3' 'clang' 'hunspell-en_US' 'mathjax2' 'pandoc' 'yaml-cpp' 'r-rmarkdown' 'r-renv' 'r-testthat' 'r-xml2' 'r-yaml' 'r-purrr' 'r-digest')
|
||||
makedepends=(
|
||||
'apache-ant'
|
||||
'boost'
|
||||
'cmake'
|
||||
'git'
|
||||
'jdk11-openjdk'
|
||||
'libcups'
|
||||
'ninja'
|
||||
'nvm'
|
||||
'openssl'
|
||||
'pam'
|
||||
'python'
|
||||
'python-setuptools'
|
||||
'wget'
|
||||
'yarn'
|
||||
)
|
||||
optdepends=(
|
||||
'git: for git support'
|
||||
'nodejs: for copilot support'
|
||||
'openssh-askpass: for a git ssh access'
|
||||
'subversion: for subversion support'
|
||||
)
|
||||
|
||||
source=("rstudio-$_pkgver.tar.gz::https://github.com/rstudio/rstudio/archive/refs/tags/v${pkgver}.tar.gz"
|
||||
"git+https://github.com/quarto-dev/quarto.git#branch=release/rstudio-cherry-blossom"
|
||||
"https://github.com/SOCI/soci/archive/refs/tags/v${_sociver}.tar.gz"
|
||||
"qt.conf"
|
||||
"0002-allow_system_node.patch"
|
||||
"0003-fix_boost_186.patch")
|
||||
source=("${_srcname}"::"git+https://github.com/rstudio/rstudio.git#tag=v${pkgver}"
|
||||
"quarto"::"git+https://github.com/quarto-dev/quarto.git#branch=${_quarto_branch}"
|
||||
"https://github.com/SOCI/soci/archive/refs/tags/v${_sociver}.tar.gz")
|
||||
|
||||
sha256sums=('89b0d6741b6bd4dac52fd8bd9372d4f1919c97dd41056a03c975d0570eaf439e'
|
||||
sha256sums=('0306690fc3269bff7a56d9c2faceb9858e8bc150bb94a57e8ba7960b7df5e0e1'
|
||||
'SKIP'
|
||||
'4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'
|
||||
'723626bfe05dafa545e135e8e61a482df111f488583fef155301acc5ecbbf921'
|
||||
'ad4bd3076ff2bff7d075e3928a7e55c618fa744e3bf5d3d387bf70e01ff96c2f'
|
||||
'a30066b6aeaae1ad0ec2dcc561eb3043b91a431570002a5b9535306864cc2ae3')
|
||||
'4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928')
|
||||
options=('!emptydirs' '!debug')
|
||||
|
||||
_nvm_env() {
|
||||
export HOME="$SRCDEST/node-home"
|
||||
export NVM_DIR="$SRCDEST/node-nvm"
|
||||
|
||||
# set up nvm
|
||||
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
|
||||
nvm install ${_nodeversion}
|
||||
nvm use ${_nodeversion}
|
||||
|
||||
_npm_path="$(which npm | sed -E 's&/[^/]+$&&')"
|
||||
export RSTUDIO_NODE_VERSION=$(echo "$_npm_path" | sed -E 's&^\S+/v([0-9\.]+)/\S+$&\1&')
|
||||
}
|
||||
|
||||
prepare() {
|
||||
_nvm_env
|
||||
|
||||
cd ${srcdir}/${_srcname}
|
||||
msg "Do not use outdated version name of pandoc"
|
||||
sed -i '/PANDOC_VERSION/s/2.18/current/' "${srcdir}/${_srcname}/CMakeGlobals.txt"
|
||||
# Do not use outdated version name of pandoc
|
||||
sed -E -e '/PANDOC_VERSION/s/2.[0-9]+/current/' -i "cmake/globals.cmake"
|
||||
# Suppress _FORTIFY_SOURCE mismatch warnings
|
||||
sed -i 's/D_FORTIFY_SOURCE=2/D_FORTIFY_SOURCE=3/' "src/cpp/CMakeLists.txt"
|
||||
# fix npm/node paths
|
||||
sed -E -e 's&set\(RSTUDIO_NODE_PATH .*\)&set(RSTUDIO_NODE_PATH "/usr/bin")&' \
|
||||
-i cmake/globals.cmake
|
||||
|
||||
msg "Suppress _FORTIFY_SOURCE mismatch warnings"
|
||||
sed -i 's/D_FORTIFY_SOURCE=2/D_FORTIFY_SOURCE=3/' "${srcdir}/${_srcname}/src/cpp/CMakeLists.txt"
|
||||
install -dm755 "$srcdir/${_srcname}/dependencies/common/node"
|
||||
ln -sfT "$NVM_DIR/versions/node/v$RSTUDIO_NODE_VERSION" "$srcdir/${_srcname}/dependencies/common/node/${RSTUDIO_NODE_VERSION}-patched"
|
||||
|
||||
# Add option to use system node
|
||||
patch -p3 < ${srcdir}/0002-allow_system_node.patch
|
||||
sed -E -e 's&^external-node-path=.*$&external-node-path=/usr/bin/node&' \
|
||||
-i src/cpp/conf/rsession-dev.conf
|
||||
|
||||
# fix boost 1.86 incompatibility
|
||||
patch -p1 < ${srcdir}/0003-fix_boost_186.patch
|
||||
sed -E -e 's&DIRECTORY "\$\{RSTUDIO_DEPENDENCIES_DIR\}/common/node/\$\{RSTUDIO_INSTALLED_NODE_VERSION\}-patched/"&DIRECTORY "/usr"&' \
|
||||
-e 's&(# install node)&\1\nif(FALSE)&' \
|
||||
-e 's&(# install quarto)&endif()\n\1&' \
|
||||
-i src/cpp/session/CMakeLists.txt
|
||||
|
||||
sed -E -e 's&"\S+/common/node/\S+"&"/usr"&' \
|
||||
-i src/cpp/session/SessionOptions.cpp
|
||||
|
||||
sed -E -e '/"node\.version"/s&value="[0-9\.]+"&value="Current"&' \
|
||||
-e '/"node\.dir"/s&value="\S+"&value="/usr"&' \
|
||||
-e 's&"\S+/common/node/\S+/bin/yarn"&"/usr/bin/yarn"&' \
|
||||
-i src/gwt/build.xml
|
||||
|
||||
sed -E -e 's&PATHS "/opt/rstudio-tools/dependencies/common/node/\$\{RSTUDIO_NODE_VERSION\}"&PATHS "'"${_npm_path}"'"&' \
|
||||
-e 's&"\S+CMAKE_CURRENT_LIST_DIR\S+/dependencies/common/node/\S+"&"'"${_npm_path}"'"&g' \
|
||||
-e 's&set\(RSTUDIO_NODE_VERSION "[0-9\.]+"\)&set(RSTUDIO_NODE_VERSION "Current")&' \
|
||||
-i src/node/CMakeNodeTools.txt
|
||||
|
||||
# fix os-release path
|
||||
sed -E 's&(STRINGS) "/etc/os-release" (OS_RELEASE)&\1 "/usr/lib/os-release" \2&' \
|
||||
-i cmake/modules/OsRelease.cmake
|
||||
|
||||
# fix boost 1.86 incompatibility
|
||||
sed -E -e 's&return afterResponse_;&return (bool)afterResponse_;&' \
|
||||
-i src/cpp/core/json/JsonRpc.cpp
|
||||
|
||||
cd "${srcdir}/${_srcname}/dependencies/common"
|
||||
install -d pandoc/${_pandocver}
|
||||
|
@ -59,55 +115,60 @@ prepare() {
|
|||
ln -sfT /usr/bin/pandoc pandoc/${_pandocver}/pandoc
|
||||
|
||||
# Fix links for src/cpp/session/CMakeLists.txt
|
||||
cd "${srcdir}/${_srcname}/dependencies"
|
||||
cd "$srcdir/${_srcname}/dependencies"
|
||||
ln -sfT /usr/share/myspell/dicts dictionaries
|
||||
ln -sfT /usr/share/mathjax2 mathjax-27
|
||||
|
||||
# Bundled SOCI libs
|
||||
cp -r "${srcdir}/soci-${_sociver}" "soci-${_sociver}"
|
||||
ln -sfT "${srcdir}/soci-${_sociver}" "soci-${_sociver}"
|
||||
|
||||
# Panmirror is picked up from Quarto repo
|
||||
ln -sfT "${srcdir}/quarto" "${srcdir}/${_srcname}/src/gwt/lib/quarto"
|
||||
# Panmirror is picked up now from Quarto repo
|
||||
ln -sfT "${srcdir}/quarto" "$srcdir/${_srcname}/src/gwt/lib/quarto"
|
||||
}
|
||||
|
||||
_build_soci() {
|
||||
echo "Building SOCI libs..."
|
||||
|
||||
local _opts_soci=(
|
||||
-B "soci-${_sociver}/build"
|
||||
-S "soci-${_sociver}"
|
||||
-G Ninja
|
||||
-DCMAKE_BUILD_TYPE=None
|
||||
-DCMAKE_INSTALL_PREFIX='/usr'
|
||||
-DSOCI_TESTS=OFF
|
||||
-DSOCI_CXX11=ON
|
||||
-DSOCI_EMPTY=OFF
|
||||
-DWITH_BOOST=ON
|
||||
-DWITH_POSTGRESQL=ON
|
||||
-DWITH_SQLITE3=ON
|
||||
-DWITH_DB2=OFF
|
||||
-DWITH_MYSQL=OFF
|
||||
-DWITH_ORACLE=OFF
|
||||
-DWITH_FIREBIRD=OFF
|
||||
-DWITH_ODBC=OFF
|
||||
-Wno-dev
|
||||
)
|
||||
|
||||
cmake "${_opts_soci[@]}"
|
||||
cmake --build "soci-${_sociver}/build"
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
cd "${srcdir}/${_srcname}/dependencies"
|
||||
_nvm_env
|
||||
cd "${srcdir}/${_srcname}/dependencies"
|
||||
install -d pandoc/${_pandocver}/bin/tools
|
||||
ln -sfT /usr/bin/pandoc pandoc/${_pandocver}/bin/tools/pandoc
|
||||
|
||||
cd "${srcdir}/${_srcname}/dependencies/soci-${_sociver}"
|
||||
msg "Building SOCI libs..."
|
||||
|
||||
local _CMAKE_SOCI_OPTIONS=(
|
||||
-DCMAKE_POLICY_DEFAULT_CMP0063="NEW"
|
||||
-DCMAKE_POLICY_DEFAULT_CMP0074="NEW"
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true
|
||||
-DCMAKE_CXX_VISIBILITY_PRESET="$COMPILE_VISIBILITY"
|
||||
-DSOCI_TESTS=OFF
|
||||
-DSOCI_CXX11=ON
|
||||
-DSOCI_EMPTY=OFF
|
||||
-DWITH_BOOST=ON
|
||||
-DWITH_POSTGRESQL=ON
|
||||
-DWITH_SQLITE3=ON
|
||||
-DWITH_DB2=OFF
|
||||
-DWITH_MYSQL=OFF
|
||||
-DWITH_ORACLE=OFF
|
||||
-DWITH_FIREBIRD=OFF
|
||||
-DWITH_ODBC=OFF
|
||||
)
|
||||
|
||||
cmake -G Ninja -S "${srcdir}/${_srcname}/dependencies/soci-${_sociver}" -B build "${_CMAKE_SOCI_OPTIONS[@]}"
|
||||
cmake --build build --target all
|
||||
|
||||
_build_soci
|
||||
##export LDFLAGS+=" -L$srcdir/$_pkgsrc/dependencies/soci-${_sociver}/build/lib"
|
||||
export LDFLAGS="${LDFLAGS} -L${srcdir}/${_srcname}/dependencies/soci-${_sociver}/build/lib/"
|
||||
|
||||
cd ${srcdir}
|
||||
# Use path of system provided R packages
|
||||
export R_LIBS_USER=/usr/lib/R/library/
|
||||
export RSTUDIO_TOOLS_ROOT="${srcdir}/${_srcname}/dependencies"
|
||||
|
||||
export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:${PATH}
|
||||
export PATH="/usr/lib/jvm/java-11-openjdk/jre/bin/:${PATH}"
|
||||
# These variables are used to create contents of Help > About dialog
|
||||
export osarch=$(uname -m)
|
||||
export distro=$(grep -E '^NAME=' /etc/os-release | cut -d= -f2- | tr -d '"')
|
||||
|
@ -115,9 +176,10 @@ build() {
|
|||
export RSTUDIO_VERSION_MINOR=$(echo "$_pkgver" | cut -d "." -f2)
|
||||
export RSTUDIO_VERSION_PATCH=$(echo "$_pkgver" | cut -d "." -f3)
|
||||
export RSTUDIO_VERSION_SUFFIX="+$(echo "$_pkgver" | cut -d "." -f4)"
|
||||
export GIT_COMMIT=$(git ls-remote https://github.com/rstudio/rstudio.git | grep v${pkgver} | sed 's/^\(.\{7\}\).*/\1/')
|
||||
export GIT_COMMIT=$(git rev-parse v${pkgver} | sed 's/^\(.\{7\}\).*/\1/')
|
||||
# export GIT_COMMIT=$(git ls-remote https://github.com/rstudio/rstudio.git | grep v${pkgver} | sed 's/^\(.\{7\}\).*/\1/')
|
||||
export PACKAGE_OS="$distro $osarch"
|
||||
|
||||
# set rstudio node path
|
||||
export RSTUDIO_NODE_PATH=/usr/
|
||||
|
||||
# node-gyp or node have a bug that prevents building with "text file busy"
|
||||
|
@ -133,32 +195,54 @@ build() {
|
|||
# Following override works for cmake >3.29
|
||||
export CMAKE_INSTALL_PREFIX=/usr/lib/rstudio
|
||||
|
||||
local _CMAKE_RSTUDIO_OPTIONS=(
|
||||
-DRSTUDIO_TARGET=Desktop
|
||||
-DCMAKE_BUILD_TYPE=None
|
||||
-DRSTUDIO_USE_SYSTEM_BOOST=yes
|
||||
-DQT_QMAKE_EXECUTABLE=/usr/bin/qmake
|
||||
-DBoost_NO_BOOST_CMAKE=ON
|
||||
-DQUARTO_ENABLED=${_quarto}
|
||||
-DRSTUDIO_USE_SYSTEM_NODE=yes
|
||||
-DRSTUDIO_BUNDLE_QT=FALSE
|
||||
)
|
||||
cmake -G Ninja -S "${srcdir}/${_srcname}" -B build "${_CMAKE_RSTUDIO_OPTIONS[@]}"
|
||||
cmake --build build
|
||||
local _opts_rstudio=(
|
||||
-B build
|
||||
-S "${_srcname}"
|
||||
-G Ninja
|
||||
-DCMAKE_BUILD_TYPE=None
|
||||
-DRSTUDIO_TARGET=Electron
|
||||
-DRSTUDIO_USE_SYSTEM_BOOST=YES
|
||||
-DRSTUDIO_USE_SYSTEM_SOCI=NO
|
||||
-DRSTUDIO_NODE_VERSION="Current"
|
||||
-DRSTUDIO_INSTALLED_NODE_VERSION="Current"
|
||||
-DQUARTO_ENABLED=${_quarto}
|
||||
-DBUILD_TESTING=OFF
|
||||
-Wno-dev
|
||||
)
|
||||
cmake "${_opts_rstudio[@]}"
|
||||
cmake --build build
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
|
||||
# Install the program
|
||||
DESTDIR="${pkgdir}" cmake --install build
|
||||
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/rstudio" << END
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Install the license
|
||||
install -Dm 644 "${srcdir}/${_srcname}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
|
||||
# See following script for potentially useful flags.
|
||||
# https://github.com/ozankiratli/dotfiles/blob/master/.config/sway/scripts/rstudio-wayland
|
||||
|
||||
# Symlink main binary
|
||||
install -d "${pkgdir}/usr/bin"
|
||||
ln -s "/usr/lib/rstudio/bin/rstudio" "${pkgdir}/usr/bin/rstudio"
|
||||
: \${XDG_CONFIG_HOME:=\$HOME/.config}
|
||||
|
||||
# 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"
|
||||
flags_file="\$XDG_CONFIG_HOME/rstudio-flags.conf"
|
||||
|
||||
lines=()
|
||||
if [[ -f "\${flags_file}" ]]; then
|
||||
mapfile -t lines < "\${flags_file}"
|
||||
fi
|
||||
|
||||
flags=()
|
||||
for line in "\${lines[@]}"; do
|
||||
if [[ ! "\${line}" =~ ^[[:space:]]*#.* ]] && [[ -n "\${line}" ]]; then
|
||||
flags+=("\${line}")
|
||||
fi
|
||||
done
|
||||
|
||||
: \${ELECTRON_IS_DEV:=0}
|
||||
export ELECTRON_IS_DEV
|
||||
: \${ELECTRON_FORCE_IS_PACKAGED:=true}
|
||||
export ELECTRON_FORCE_IS_PACKAGED
|
||||
|
||||
exec /usr/lib/rstudio/rstudio "\${flags[@]}" "\$@"
|
||||
END
|
||||
}
|
||||
|
|
|
@ -6,6 +6,8 @@ pre_build_script: |
|
|||
update_pkgver_and_pkgrel(_G.newver)
|
||||
post_build_script: |
|
||||
git_pkgbuild_commit()
|
||||
repo_makedepends:
|
||||
- nvm
|
||||
repo_depends:
|
||||
- soci
|
||||
- r-digest
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
[Paths]
|
||||
Headers = /usr/include/qt/
|
||||
Data = /usr/share/qt/
|
||||
Libraries = /usr/lib/qt/
|
||||
LibraryExecutables = /usr/lib/qt/libexec/
|
||||
Plugins = /usr/lib/qt/plugins/
|
||||
Qml2Imports = /usr/lib/qt/qml/
|
||||
Translations = /usr/share/qt/translations/
|
Loading…
Add table
Reference in a new issue