diff options
author | Pekka Ristola | 2023-11-09 15:27:48 +0200 |
---|---|---|
committer | Pekka Ristola | 2023-11-09 15:27:48 +0200 |
commit | 701b979fc81def7654d247d5c575dbc94934404b (patch) | |
tree | 950ddbcb4068b33bcfbeb838cbadbe7fa9f6d08a | |
download | aur-701b979fc81def7654d247d5c575dbc94934404b.tar.gz |
Version 1.2.0
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | system-libs.patch | 155 |
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); |