#! /bin/bash # use the debian build from rstudio site (Ubuntu 20+/Debian 11+) PKG=rstudio VERSION=2023.12.1-402 VERSIONP=${VERSION/-/+} # just brilliant ! BUILD=0 PREFIX=/pkg/$PKG-$VERSION-$BUILD if [ -n "$TESTING" ]; then PREFIX=/scratch/local2/$PKG-$VERSION-$BUILD ; fi set -xe umask 022 BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.$USER.build.tmp test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) mkdir -p $BUILD_TMPDIR/home export TMPDIR=$BUILD_TMPDIR export HOME=$BUILD_TMPDIR/home # mind the PATH ... # ---------------------------- # it should work with: # prun R4 rstudio # xfce launcher # own R on the path mkdir -p $PREFIX cat >$PREFIX/profile <<-EOF PATH=$PREFIX/bin:\$PATH:/usr/local/package/bin if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH ; fi EOF . $PREFIX/profile BUILD=$PREFIX/build mkdir -p $BUILD cd $BUILD # orig: https://download1.rstudio.org/electron/focal/amd64/rstudio-2023.12.1-402-amd64-debian.tar.gz BEEHIVE=https://beehive.molgen.mpg.de/205ead7b954470207e8cdb6614d68172/rstudio-2023.12.1-402-amd64-debian.tar.gz test -e rstudio-$VERSION-amd64-debian.tar.gz || wget -nv $BEEHIVE test -d rstudio-$VERSIONP || tar -xf rstudio-$VERSION-amd64-debian.tar.gz mkdir ${PREFIX}/bin mv -v rstudio-$VERSIONP/* ../bin cat >$PREFIX/bin/rstudio-nv <<-'EOF' #! /bin/bash # This allows using rstudio on a compute server, when the users machine # has the nvidia driver loaded and rstudio gets confused. # Drawback, this only works if not part of a ssh hopp along chain. if [ -n "$SSH_CLIENT" ]; then REMOTEIP=${SSH_CLIENT%% *} MXGFX=$(ssh $REMOTEIP readlink -f /node/usr_share_mxgfx | grep nvidia) if [ -n "$MXGFX" ]; then echo "# offering $MXGFX to desktop client..." LD_LIBRARY_PATH=$MXGFX/lib${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH export LD_LIBRARY_PATH fi fi exec rstudio "${@+$@}" EOF chmod +x $PREFIX/bin/rstudio-nv exit