diff --git a/projects/apache.org/arrow/package.yml b/projects/apache.org/arrow/package.yml new file mode 100644 index 00000000..0d80be2c --- /dev/null +++ b/projects/apache.org/arrow/package.yml @@ -0,0 +1,106 @@ +distributable: + url: https://archive.apache.org/dist/arrow/arrow-{{version}}/apache-arrow-{{version}}.tar.gz + strip-components: 1 +versions: + url: https://archive.apache.org/dist/arrow/ + match: /arrow-\d+\.\d+\.\d+/ + strip: + - /^arrow-/ +dependencies: + github.com/aws/aws-sdk-cpp: '*' + github.com/google/brotli: '*' + sourceware.org/bzip2: '*' + google.com/glog: '*' + grpc.io: '*' + lz4.org: '*' + openssl.org: '*' + protobuf.dev: '*' + rapidjson.org: '*' + github.com/google/re2: '*' + google.github.io/snappy: '*' + apache.org/thrift: '*' + github.com/JuliaStrings/utf8proc: '*' + facebook.com/zstd: '*' +build: + dependencies: + tea.xyz/gx/cc: c99 + tea.xyz/gx/make: '*' + boost.org: '*' + cmake.org: '*' + llvm.org: ~16 + python.org: '*' + working-directory: cpp + script: + - cmake -B build $CMAKE_ARGS + - cmake --build build + - cmake --install build + - run: | + sed -i.bak "s|$TEA_PREFIX|\${pcfiledir}/../../../..|g" ./*.pc + rm ./*.bak + working-directory: "{{prefix}}/lib/pkgconfig" + env: + CMAKE_ARGS: + - -DCMAKE_INSTALL_PREFIX="{{prefix}} + - -DCMAKE_INSTALL_LIBDIR=lib + - -DCMAKE_BUILD_TYPE=Release + - -DCMAKE_FIND_FRAMEWORK=LAST + - -DCMAKE_VERBOSE_MAKEFILE=ON + - -Wno-dev + - -DBUILD_TESTING=OFF + - -DCMAKE_INSTALL_RPATH={{prefix}} + - -DARROW_ACERO=ON + - -DARROW_COMPUTE=ON + - -DARROW_CSV=ON + - -DARROW_DATASET=ON + - -DARROW_FILESYSTEM=ON + - -DARROW_GANDIVA=ON + - -DARROW_HDFS=ON + - -DARROW_JSON=ON + - -DARROW_ORC=ON + - -DARROW_PARQUET=ON + - -DARROW_PROTOBUF_USE_SHARED=ON + - -DARROW_S3=ON + - -DARROW_WITH_BZ2=ON + - -DARROW_WITH_ZLIB=ON + - -DARROW_WITH_ZSTD=ON + - -DARROW_WITH_LZ4=ON + - -DARROW_WITH_SNAPPY=ON + - -DARROW_WITH_BROTLI=ON + - -DARROW_WITH_UTF8PROC=ON + - -DARROW_INSTALL_NAME_RPATH=OFF + - -DPARQUET_BUILD_EXECUTABLES=ON + aarch64: + CMAKE_ARGS: + - -DARROW_MIMALLOC=ON +provides: + - bin/parquet-dump-schema + - bin/parquet-reader + - bin/parquet-scan +test: + dependencies: + tea.xyz/gx/cc: c99 + freedesktop.org/pkg-config: '*' + script: + - run: | + cat << EOF > test.cpp + #include "arrow/api.h" + int main(void) { + arrow::int64(); + return 0; + } + EOF + - c++ test.cpp -std=c++17 -larrow -o test + - ./test + - run: | + cat << EOF > version.cpp + #include + #include + + int main() { + std::cout << "Apache Arrow Version: " << ARROW_VERSION_STRING << std::endl; + return 0; + } + EOF + - c++ version.cpp -std=c++17 -larrow -o version + - ./version | grep {{version}} + - pkg-config --modversion arrow | grep {{version}}