commit: c3223af9cc2764080679ac25e52726ab319aa50f Author: Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com> AuthorDate: Mon Mar 20 09:21:54 2023 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> CommitDate: Tue Mar 28 16:40:49 2023 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=c3223af9
dev-libs/apache-arrow: new package, add 11.0.0 Turns on all use flags, tests all passed: 100% tests passed, 0 tests failed out of 59 Label Time Summary: arrow-tests = 18.62 sec*proc (31 tests) arrow_compute = 15.69 sec*proc (12 tests) arrow_dataset = 5.38 sec*proc (9 tests) filesystem = 1.02 sec*proc (1 test) parquet-tests = 3.46 sec*proc (7 tests) unittest = 43.15 sec*proc (59 tests) Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com> Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org> dev-libs/apache-arrow/apache-arrow-11.0.0.ebuild | 90 ++++++++++++++++++++++ .../apache-arrow/files/arrow-11.0-shared-lz4.patch | 14 ++++ dev-libs/apache-arrow/metadata.xml | 17 ++++ 3 files changed, 121 insertions(+) diff --git a/dev-libs/apache-arrow/apache-arrow-11.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-11.0.0.ebuild new file mode 100644 index 000000000..8a763531a --- /dev/null +++ b/dev-libs/apache-arrow/apache-arrow-11.0.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +IUSE="+bzip2 +brotli +csv +lz4 +parquet snappy test +zlib +zstd" + +DESCRIPTION="A cross-language development platform for in-memory data." +HOMEPAGE="https://arrow.apache.org/" +PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac +ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929 +SRC_URI="mirror://apache/arrow/arrow-${PV}/${P}.tar.gz +test? ( https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz -> ${PN}-parquet-data-${PV}.tar.gz + https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz -> ${PN}-arrow-data-${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/lz4 + >=dev-cpp/xsimd-8.1 + lz4? ( app-arch/lz4:= ) + brotli? ( app-arch/brotli ) + bzip2? ( app-arch/bzip2 ) + parquet? ( + dev-libs/libutf8proc:= + dev-libs/re2:= + dev-libs/thrift + ) + snappy? ( app-arch/snappy ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd:= ) +" +DEPEND=" + ${RDEPEND} + dev-libs/rapidjson + net-libs/grpc + >=dev-cpp/xsimd-8.1 + test? ( + dev-libs/flatbuffers + dev-cpp/gflags + dev-cpp/gtest + ) +" + +S="${WORKDIR}/${P}/cpp" + +PATCHES=( "${FILESDIR}/arrow-11.0-shared-lz4.patch" ) + +src_prepare() { + # use Gentoo CXXFLAGS, specify docdir at src_configure. + sed -e '/SetupCxxFlags/d' \ + -e '/set(ARROW_DOC_DIR.*)/d' \ + -i CMakeLists.txt || die + # xsimd version is managed by Gentoo. + sed -e 's/resolve_dependency(xsimd.*)/resolve_dependency(xsimd)/' \ + -i cmake_modules/ThirdpartyToolchain.cmake || die + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DARROW_DEPENDENCY_SOURCE=SYSTEM + -DARROW_BUILD_STATIC=OFF + -DARROW_CSV=$(usex csv ON OFF) + -DARROW_DATASET=ON + -DARROW_DOC_DIR=share/doc/${PF} + -DARROW_JEMALLOC=OFF + -DARROW_SUBSTRAIT=OFF + -DARROW_BUILD_TESTS=$(usex test ON OFF) + -DARROW_MIMALLOC=OFF + -DARROW_PARQUET=$(usex parquet ON OFF) + -DARROW_WITH_BZ2=$(usex bzip2 ON OFF) + -DARROW_WITH_LZ4=$(usex lz4 ON OFF) + -DARROW_WITH_SNAPPY=$(usex snappy ON OFF) + -DARROW_WITH_ZLIB=$(usex zlib ON OFF) + -DARROW_WITH_ZSTD=$(usex zstd ON OFF) + ) + cmake_src_configure +} + +src_test() { + export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data" + export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data" + cmake_src_test +} diff --git a/dev-libs/apache-arrow/files/arrow-11.0-shared-lz4.patch b/dev-libs/apache-arrow/files/arrow-11.0-shared-lz4.patch new file mode 100644 index 000000000..fdb26196d --- /dev/null +++ b/dev-libs/apache-arrow/files/arrow-11.0-shared-lz4.patch @@ -0,0 +1,14 @@ +Index: cpp/cmake_modules/Findlz4Alt.cmake +=================================================================== +--- cpp.orig/cmake_modules/Findlz4Alt.cmake ++++ cpp/cmake_modules/Findlz4Alt.cmake +@@ -32,8 +32,8 @@ if(lz4_FOUND) + # Conan uses lz4::lz4 not LZ4::lz4 + if(NOT TARGET LZ4::lz4 AND TARGET lz4::lz4) + add_library(LZ4::lz4 ALIAS lz4::lz4) ++ return() + endif() +- return() + endif() + + if(MSVC_TOOLCHAIN AND NOT DEFINED LZ4_MSVC_LIB_PREFIX) diff --git a/dev-libs/apache-arrow/metadata.xml b/dev-libs/apache-arrow/metadata.xml new file mode 100644 index 000000000..8df604998 --- /dev/null +++ b/dev-libs/apache-arrow/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Yiyang Wu</name> + </maintainer> + <upstream> + <remote-id type="github">arrow-testing/tree</remote-id> + <remote-id type="github">apache/parquet-testing</remote-id> + </upstream> + <use> + <flag name='brotli'>Enable brotli compression suppor</flag> + <flag name='csv'>Enables read/write csv format</flag> + <flag name='parquet'>Enables read/write parquet data format</flag> + </use> +</pkgmetadata>
