summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPekka Ristola2023-11-09 15:27:48 +0200
committerPekka Ristola2023-11-09 15:27:48 +0200
commit701b979fc81def7654d247d5c575dbc94934404b (patch)
tree950ddbcb4068b33bcfbeb838cbadbe7fa9f6d08a
downloadaur-701b979fc81def7654d247d5c575dbc94934404b.tar.gz
Version 1.2.0
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD62
-rw-r--r--system-libs.patch155
3 files changed, 246 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ec44b5204e6c
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = r-rarr
+ pkgdesc = Read Zarr Files in R
+ pkgver = 1.2.0
+ pkgrel = 1
+ url = https://bioconductor.org/packages/Rarr
+ arch = x86_64
+ license = MIT
+ checkdepends = r-mockery
+ checkdepends = r-tinytest
+ depends = blosc
+ depends = lz4
+ depends = r-httr
+ depends = r-jsonlite
+ depends = r-paws.storage
+ depends = r-r.utils
+ depends = r-stringr
+ optdepends = r-biocstyle
+ optdepends = r-covr
+ optdepends = r-knitr
+ optdepends = r-mockery
+ optdepends = r-tinytest
+ source = https://bioconductor.org/packages/release/bioc/src/contrib/Rarr_1.2.0.tar.gz
+ source = system-libs.patch
+ md5sums = 94af864ae3de3557840993a429944ea2
+ md5sums = 83d4df5360e4cf2088753078dc2970b6
+ sha256sums = 997592c52d8d0aa11680d0f40df11765d57e65a1f9c5e61671ff4513d31d4cfb
+ sha256sums = 023d93a3ac3c339eb00c1e79f8ac54f48fac514f43f2246b5aa17014551974f2
+
+pkgname = r-rarr
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c430a9a6539a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Pekka Ristola <pekkarr [at] protonmail [dot] com>
+
+_pkgname=Rarr
+_pkgver=1.2.0
+pkgname=r-${_pkgname,,}
+pkgver=${_pkgver//-/.}
+pkgrel=1
+pkgdesc="Read Zarr Files in R"
+arch=(x86_64)
+url="https://bioconductor.org/packages/${_pkgname}"
+license=(MIT)
+depends=(
+ blosc
+ lz4
+ r-httr
+ r-jsonlite
+ r-paws.storage
+ r-r.utils
+ r-stringr
+)
+checkdepends=(
+ r-mockery
+ r-tinytest
+)
+optdepends=(
+ r-biocstyle
+ r-covr
+ r-knitr
+ r-mockery
+ r-tinytest
+)
+source=("https://bioconductor.org/packages/release/bioc/src/contrib/${_pkgname}_${_pkgver}.tar.gz"
+ "system-libs.patch")
+md5sums=('94af864ae3de3557840993a429944ea2'
+ '83d4df5360e4cf2088753078dc2970b6')
+sha256sums=('997592c52d8d0aa11680d0f40df11765d57e65a1f9c5e61671ff4513d31d4cfb'
+ '023d93a3ac3c339eb00c1e79f8ac54f48fac514f43f2246b5aa17014551974f2')
+
+prepare() {
+ cd "$_pkgname"
+ # use system blosc and lz4
+ patch -Np1 -i ../system-libs.patch
+ autoconf
+}
+
+build() {
+ mkdir -p build
+ R CMD INSTALL "$_pkgname" -l build
+}
+
+check() {
+ cd "$_pkgname/tests"
+ R_LIBS="$srcdir/build" Rscript --vanilla tinytest.R
+}
+
+package() {
+ install -d "$pkgdir/usr/lib/R/library"
+ cp -a --no-preserve=ownership "build/$_pkgname" "$pkgdir/usr/lib/R/library"
+
+ install -d "$pkgdir/usr/share/licenses/$pkgname"
+ ln -s "/usr/lib/R/library/$_pkgname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname"
+}
diff --git a/system-libs.patch b/system-libs.patch
new file mode 100644
index 000000000000..bb0e84b50b9d
--- /dev/null
+++ b/system-libs.patch
@@ -0,0 +1,155 @@
+diff --git a/configure.ac b/configure.ac
+index a6d5842..c29cf85 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -30,98 +30,3 @@ AC_SUBST(AR)
+
+ AC_CONFIG_FILES([src/Makevars])
+ AC_OUTPUT
+-
+-## check if we have an x86 CPU
+-machine=`uname -m`
+-AS_CASE([$machine],
+- [*86*], [x86_CPU=true],
+- [x86_CPU=false]
+-)
+-
+-## see if -msse2 is a supported flag
+-AX_CHECK_COMPILE_FLAG([-msse2], [MSSE2=true], [MSSE2=false])
+-
+-if [ "${IS_BIOC_BUILD_MACHINE}" == true ]; then
+- AC_MSG_NOTICE(Bioc build machine; disabling MAVX2)
+- MAVX2=false
+-else
+- ## see if -mavx2 is a supported flag
+- AX_CHECK_COMPILE_FLAG([-mavx2], [MAVX2=true], [MAVX2=false])
+-fi
+-
+-AC_RUN_IFELSE(
+- [AC_LANG_PROGRAM([#include <stdlib.h>],
+- [__builtin_cpu_init ();])
+- ],
+- [ax_cv_gcc_check_x86_cpu_init=true],
+- [ax_cv_gcc_check_x86_cpu_init=false])
+-
+-## check CPU supports sse2 and avx2
+-if [ "$x86_CPU" == true ] && [ "$ax_cv_gcc_check_x86_cpu_init" == true ]; then
+- AX_GCC_X86_CPU_SUPPORTS(sse2, [SSE2_SUPPORTED=true], [SSE2_SUPPORTED=false])
+- if [ "$MAVX2" = true ]; then
+- AX_GCC_X86_CPU_SUPPORTS(avx2, [AVX2_SUPPORTED=true], [AVX2_SUPPORTED=false])
+- fi
+-else
+- SSE2_SUPPORTED=false
+- AVX2_SUPPORTED=false
+-fi
+-
+-if [ "$MSSE2" = true ] && [ "$SSE2_SUPPORTED" = true ] ; then
+- SSE2="-DSHUFFLE_SSE2_ENABLED"
+- MSSE2="-msse2"
+- SSE2_BITSHUFFLE='bitshuffle-sse2.o: bitshuffle-sse2.c
+- $(CC) $(FLAGS) -c bitshuffle-sse2.c'
+- SSE2_BITSHUFFLE_OBJ='bitshuffle-sse2.o'
+- SSE2_SHUFFLE='shuffle-sse2.o: shuffle-sse2.c
+- $(CC) $(FLAGS) -c shuffle-sse2.c'
+- SSE2_SHUFFLE_OBJ='shuffle-sse2.o'
+- SSE2_OBJ_PATH='lib/blosc-1.20.1/'
+-else
+- SSE2=""
+- MSSE2=""
+- SSE2_BITSHUFFLE=""
+- SSE2_SHUFFLE=""
+- SSE2_BITSHUFFLE_OBJ=""
+- SSE2_SHUFFLE_OBJ=""
+- SSE2_OBJ_PATH=""
+-fi
+-
+-AC_SUBST(SSE2)
+-AC_SUBST(MSSE2)
+-AC_SUBST(SSE2_BITSHUFFLE)
+-AC_SUBST(SSE2_SHUFFLE)
+-AC_SUBST(SSE2_BITSHUFFLE_OBJ)
+-AC_SUBST(SSE2_SHUFFLE_OBJ)
+-AC_SUBST(SSE2_OBJ_PATH)
+-
+-if [ "$MAVX2" = true ] && [ "$AVX2_SUPPORTED" = true ] ; then
+- AVX2="-DSHUFFLE_AVX2_ENABLED"
+- MAVX2="-mavx2"
+- AVX2_BITSHUFFLE='bitshuffle-avx2.o: bitshuffle-avx2.c
+- $(CC) $(FLAGS) -c bitshuffle-avx2.c'
+- AVX2_BITSHUFFLE_OBJ='bitshuffle-avx2.o'
+- AVX2_SHUFFLE='shuffle-avx2.o: shuffle-avx2.c
+- $(CC) $(FLAGS) -c shuffle-avx2.c'
+- AVX2_SHUFFLE_OBJ='shuffle-avx2.o'
+- AVX2_OBJ_PATH='lib/blosc-1.20.1/'
+-else
+- AVX2=""
+- MAVX2=""
+- AVX2_BITSHUFFLE=""
+- AVX2_SHUFFLE=""
+- AVX2_BITSHUFFLE_OBJ=""
+- AVX2_SHUFFLE_OBJ=""
+- AVX2_OBJ_PATH=""
+-fi
+-
+-AC_SUBST(AVX2)
+-AC_SUBST(MAVX2)
+-AC_SUBST(AVX2_BITSHUFFLE)
+-AC_SUBST(AVX2_SHUFFLE)
+-AC_SUBST(AVX2_BITSHUFFLE_OBJ)
+-AC_SUBST(AVX2_SHUFFLE_OBJ)
+-AC_SUBST(AVX2_OBJ_PATH)
+-
+-AC_CONFIG_FILES([src/compression_tools/blosc/lib/blosc-1.20.1/Makefile src/compression_tools/blosc/Makefile])
+-AC_OUTPUT
+diff --git a/src/Makevars.in b/src/Makevars.in
+index bcb0b4f..91881df 100644
+--- a/src/Makevars.in
++++ b/src/Makevars.in
+@@ -9,12 +9,10 @@ export PKG_R_CPPFLAGS=@R_CPPFLAGS@
+
+ COMPRESSION_LIBS=compression_tools/blosc/libblosc.a
+
+-PKG_LIBS=$(COMPRESSION_LIBS)
++PKG_LIBS = -lblosc -llz4
+
+ all: $(SHLIB)
+
+-$(SHLIB): compression_libs
+-
+ compression_libs: $(COMPRESSION_LIBS)
+
+ compression_tools/blosc/libblosc.a:
+diff --git a/src/compress.h b/src/compress.h
+index 573e203..72ddd98 100644
+--- a/src/compress.h
++++ b/src/compress.h
+@@ -2,9 +2,9 @@
+
+ #ifndef _COMPRESSION_H
+ #define _COMPRESSION_H
+- #include "compression_tools/blosc/lib/blosc-1.20.1/blosc.h"
+- #include "compression_tools/blosc/lib/lz4-1.9.2/lz4.h"
+- #include "compression_tools/blosc/lib/lz4-1.9.2/lz4hc.h"
++ #include <blosc.h>
++ #include <lz4.h>
++ #include <lz4hc.h>
+ #endif
+
+ SEXP compress_chunk_BLOSC(SEXP input, SEXP type_size);
+diff --git a/src/decompress.h b/src/decompress.h
+index a13b390..3ed84e7 100644
+--- a/src/decompress.h
++++ b/src/decompress.h
+@@ -2,9 +2,9 @@
+
+ #ifndef _COMPRESSION_H
+ #define _COMPRESSION_H
+- #include "compression_tools/blosc/lib/blosc-1.20.1/blosc.h"
+- #include "compression_tools/blosc/lib/lz4-1.9.2/lz4.h"
+- #include "compression_tools/blosc/lib/lz4-1.9.2/lz4hc.h"
++ #include <blosc.h>
++ #include <lz4.h>
++ #include <lz4hc.h>
+ #endif
+
+ SEXP decompress_chunk_BLOSC(SEXP input);