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>

Reply via email to