blob: d5fbf06edf70d515e965534ca3c5eb04673e73e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929
PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac
DESCRIPTION="A cross-language development platform for in-memory data."
HOMEPAGE="https://arrow.apache.org/"
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
)
"
S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
RESTRICT="!test? ( test )"
RDEPEND="
brotli? ( app-arch/brotli:= )
bzip2? ( app-arch/bzip2:= )
compute? ( dev-libs/libutf8proc:= )
dataset? (
dev-libs/libutf8proc:=
re2? ( dev-libs/re2:= )
)
lz4? ( app-arch/lz4:= )
parquet? (
dev-libs/libutf8proc:=
dev-libs/thrift:=
ssl? ( dev-libs/openssl:= )
)
snappy? ( app-arch/snappy:= )
zlib? ( sys-libs/zlib:= )
zstd? ( app-arch/zstd:= )
"
DEPEND="${RDEPEND}
dev-cpp/xsimd
>=dev-libs/boost-1.81.0
json? ( dev-libs/rapidjson )
test? (
dev-cpp/gflags
dev-cpp/gtest
)
"
REQUIRED_USE="
test? (
json
parquet? ( zstd )
)
ssl? ( json )
"
PATCHES=( "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch" )
src_prepare() {
# use Gentoo CXXFLAGS, specify docdir at src_configure.
sed -i \
-e '/SetupCxxFlags/d' \
-e '/set(ARROW_DOC_DIR.*)/d' \
CMakeLists.txt \
|| die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DARROW_BUILD_STATIC=OFF
-DARROW_BUILD_TESTS=$(usex test)
-DARROW_COMPUTE=$(usex compute)
-DARROW_CSV=ON
-DARROW_DATASET=$(usex dataset)
-DARROW_DEPENDENCY_SOURCE=SYSTEM
-DARROW_DOC_DIR=share/doc/${PF}
-DARROW_FILESYSTEM=ON
-DARROW_HDFS=ON
-DARROW_JEMALLOC=OFF
-DARROW_JSON=$(usex json)
-DARROW_PARQUET=$(usex parquet)
-DPARQUET_REQUIRE_ENCRYPTION=$(usex ssl)
-DARROW_USE_CCACHE=OFF
-DARROW_USE_SCCACHE=OFF
-DARROW_WITH_BROTLI=$(usex brotli)
-DARROW_WITH_BZ2=$(usex bzip2)
-DARROW_WITH_LZ4=$(usex lz4)
-DARROW_WITH_RE2=$(usex re2)
-DARROW_WITH_SNAPPY=$(usex snappy)
-DARROW_WITH_ZLIB=$(usex zlib)
-DARROW_WITH_ZSTD=$(usex zstd)
-DCMAKE_CXX_STANDARD=17
)
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
}
src_install() {
cmake_src_install
if use test; then
cd "${D}"/usr/$(get_libdir)
rm -r cmake/ArrowTesting || die
rm libarrow_testing* || die
rm pkgconfig/arrow-testing.pc || die
fi
}
|