# Contributor: Holger Jaekel <holger.jaekel@gmx.de> # Maintainer: Holger Jaekel <holger.jaekel@gmx.de> pkgname=tiledb pkgver=2.25.0 pkgrel=1 pkgdesc="Engine for storing and accessing dense and sparse multi-dimensional arrays" url="https://tiledb.com/" # Tests fail on s390x # doesn't build on 32-bit arch="all !armhf !armv7 !x86 !s390x" license="MIT" makedepends=" abseil-cpp-dev blosc-dev bzip2-dev capnproto-dev catch2-3 clang cmake crc32c-dev curl-dev doxygen file-dev google-cloud-cpp-dev libpng-dev lz4-dev nlohmann-json openssl-dev samurai spdlog-dev zlib-dev zstd-dev " subpackages=" $pkgname-dev " source="tiledb-$pkgver.tar.gz::https://github.com/TileDB-Inc/TileDB/archive/refs/tags/$pkgver.tar.gz https://raw.githubusercontent.com/muellan/clipp/v1.2.3/include/clipp.h 10-compression.patch 20-versions.patch 30-catch.patch 50-clipp.patch 60-stringstream.patch 70-avx2.patch 80-test.patch " builddir="$srcdir/TileDB-$pkgver" # secfixes: # 2.17.4-r0: # - CVE-2023-5129 # Optional dependencies aws-* are not available on s390x and ppc64le _with_s3="OFF" case "$CARCH" in arm*|s390x|ppc64le) ;; *) makedepends="$makedepends aws-crt-cpp-dev aws-sdk-cpp-dev" _with_s3="ON" ;; esac build() { if [ "$CBUILD" != "$CHOST" ]; then local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" fi CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations" \ LDFLAGS="$LDFLAGS -Wl,--copy-dt-needed-entries" \ cmake -B build -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=None \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_SKIP_RPATH=ON \ -DTILEDB_SUPERBUILD=OFF \ -DTILEDB_VERBOSE=OFF \ -DTILEDB_HDFS=OFF \ -DTILEDB_S3=$_with_s3 \ -DTILEDB_AZURE=OFF \ -DTILEDB_GCS=ON \ -DTILEDB_SERIALIZATION=ON \ -DTILEDB_TOOLS=OFF \ -DTILEDB_WERROR=OFF \ -DTILEDB_CPP_API=ON \ -DTILEDB_STATS=ON \ -DTILEDB_TESTS="$(want_check && echo ON || echo OFF)" \ -DTILEDB_CCACHE=OFF \ -DTILEDB_ARROW_TESTS=OFF \ -DTILEDB_WEBP=OFF \ -DTILEDB_FORCE_ALL_DEPS=OFF \ $crossopts # compile Cap’n Proto schema with the current version cd "$builddir/tiledb/sm/serialization" capnp compile -oc++:. tiledb-rest.capnp cd "$builddir" cmake --build build if want_check; then cmake --build build --target tests fi } check() { ctest --output-on-failure --test-dir build \ -R '^unit_|test_assert' -E 'unit_capi_query_plan|unit_capi_query_aggregate|unit_fragment|unit_aggregators|unit_vfs|unit_capi_current_domain|unit_capi_ndrectangle|unit_array_schema|unit_run_filter_pipeline' } package() { DESTDIR="$pkgdir" cmake --install build } sha512sums=" 5657e88e4994efee675b4c8715ebc7d5c88c84a94974a96f9571c8d3affc06ee84417712f781c5f9872008b32083e221b3a4c1a765c5293527865ff83115c018 tiledb-2.25.0.tar.gz 0a801eff46581a96e571b41ce734d5a8e7f30333d46e3fb81c4c40fc44c18035d4b4597732221e37945ad23b94e53e496562ae4b24d358761dbf5ed803f66ff4 clipp.h 7918e866de823bb423ee4531abe4cd7375f4cf49ce0b159df8d7567c317ee3f9fde4b63be4d5fcda48617f21d8e9d3e285498f0c9d0f7a37522940946c2257a5 10-compression.patch c9a542c6ed38ced0e4c3364fdbaa962526a2ea6e6adc6756bf0425d5f195b602405a31715ef32f412e60f8390a6f25c0d016f533ab7da4cef63784c4ba0f47b1 20-versions.patch 761af7bd08be2b7751dd68b4c6e7214afa484f4f1ae3956f00bc2014acc52f9cb6b184e1e13239fb38cb349698efd88ba511f79d182eaa4fc075ac450b1f8940 30-catch.patch 9a6a4130b60b6e6e71b30e87ffdefc830a3dbce1ed484cee872d470556bb06db68817fd8d48211c7301f96a4cbc7564295557a8390b451d316362a459e4ab794 50-clipp.patch c24b1b6f5c2ba58cb6a631c94a49c999e1bc2d432b1c0ce15ab07f0b4e602d8fbec59de4c231873a7666fce788d55c1b4f926e6869eb5a0b8249ca56a7f238f7 60-stringstream.patch 86e5f9722e4ef8524b96d059ba434508cf03e3c264ec3bfcaf3585dae5584f4863e4bbc6f34be68e653df18cd7d827f8fc36b058acdc4636609412526bc95d5b 70-avx2.patch 3a22fdb4493cbe78b177dd1c749b1a364cd92a972f8d59a16a9417d9243da9e202d033a204b1d5512c47b4c601a8fdd7d9ec10b2a1c30993363a4d285103a67e 80-test.patch "