diff options
author | Rob van Nues <sborg63@disroot.org> | 2020-04-17 16:47:32 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2020-04-19 10:00:20 +0700 |
commit | 24b6aa7d76c9800d9f8fbd5603ae1477de2f666f (patch) | |
tree | e8d477141cfb99f532a523910b19150564aaa0d3 /academic | |
parent | 79a27b74a342f7108433d883ed1648209a99628a (diff) |
academic/rpy2: Added (R in Python).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'academic')
-rw-r--r-- | academic/rpy2/README | 17 | ||||
-rw-r--r-- | academic/rpy2/Rlibs.conf | 2 | ||||
-rw-r--r-- | academic/rpy2/doinst.sh | 2 | ||||
-rw-r--r-- | academic/rpy2/rpy2.SlackBuild | 91 | ||||
-rw-r--r-- | academic/rpy2/rpy2.info | 10 | ||||
-rw-r--r-- | academic/rpy2/slack-desc | 19 |
6 files changed, 141 insertions, 0 deletions
diff --git a/academic/rpy2/README b/academic/rpy2/README new file mode 100644 index 000000000000..62656e95fb8e --- /dev/null +++ b/academic/rpy2/README @@ -0,0 +1,17 @@ +Python interface to the R language. + +rpy2 is running an embedded R, providing access to it +from Python using R's own C-API through either: + +1) a high-level interface making R functions and objects +just like Python functions and providing a seamless +conversion to numpy and pandas data structures + +2) a low-level interface closer to the C-API + +It is also providing features for when working with +jupyter notebooks or ipython. + +NOTE: +R needs to be compiled with the shared library flag, +thus: build R on SBo with R_SHLIB=yes and BLAS_SHLIB=yes diff --git a/academic/rpy2/Rlibs.conf b/academic/rpy2/Rlibs.conf new file mode 100644 index 000000000000..cd1ea265b77e --- /dev/null +++ b/academic/rpy2/Rlibs.conf @@ -0,0 +1,2 @@ +##placed as rpy2 cannot load R without "export LD_LIBRARY_PATH=/usr/lib64/R/lib/" +/usr/lib64/R/lib
\ No newline at end of file diff --git a/academic/rpy2/doinst.sh b/academic/rpy2/doinst.sh new file mode 100644 index 000000000000..bf984ccfe441 --- /dev/null +++ b/academic/rpy2/doinst.sh @@ -0,0 +1,2 @@ +#load the path to the R libraries to enable linking +ldconfig diff --git a/academic/rpy2/rpy2.SlackBuild b/academic/rpy2/rpy2.SlackBuild new file mode 100644 index 000000000000..605121ff72b3 --- /dev/null +++ b/academic/rpy2/rpy2.SlackBuild @@ -0,0 +1,91 @@ +#!/bin/sh +# +# SlackBuild for rpy2 +# +# Copyright 2020 Rob van Nues (sborg63@disroot.org) +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=rpy2 +VERSION=${VERSION:-3.2.7} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-v$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +## make sure that R has been compiled with +## --enable-R-shlib +## --enable-BLAS-shlib +python3 setup.py build install --root=$PKG + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS gpl-2.0.txt NEWS README* $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +## to facilitate dynamic linking with R, +## libR.so and libRblas.so need to be found +## https://github.com/rpy2/rpy2/issues/675 +mkdir -p $PKG/etc/ld.so.conf.d/ +cat $CWD/Rlibs.conf > $PKG/etc/ld.so.conf.d/Rlibs.conf + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/academic/rpy2/rpy2.info b/academic/rpy2/rpy2.info new file mode 100644 index 000000000000..a09d994c5f25 --- /dev/null +++ b/academic/rpy2/rpy2.info @@ -0,0 +1,10 @@ +PRGNAM="rpy2" +VERSION="3.2.7" +HOMEPAGE="https://rpy2.github.io/" +DOWNLOAD="https://pypi.python.org/packages/source/r/rpy2/rpy2-3.2.7.tar.gz" +MD5SUM="eaa65c233eb2d60678dabe2b58894aa4" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="R cffi Jinja2 pytest simplegeneric tzlocal" +MAINTAINER="Rob van Nues" +EMAIL="sborg63@disroot.org" diff --git a/academic/rpy2/slack-desc b/academic/rpy2/slack-desc new file mode 100644 index 000000000000..10acc33e06ed --- /dev/null +++ b/academic/rpy2/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +rpy2: rpy2 (R in Python) +rpy2: +rpy2: rpy2 is an interface to R running embedded in a Python process. +rpy2: The project is mature, stable, documented, and widely used +rpy2: +rpy2: It is also providing features for when working +rpy2: with jupyter notebooks or ipython. +rpy2: +rpy2: home:https://rpy2.github.io/ +rpy2: https://rpy2.github.io/doc/latest/html/index.html +rpy2:
\ No newline at end of file |