Gentoo Archives: gentoo-commits

From: "罗百科" <patrick@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/clickhouse/
Date: Sun, 28 Jul 2019 17:58:00
Message-Id: 1564336650.8eb6218ff219087d321a565869e803ac17d026a9.patrick@gentoo
1 commit: 8eb6218ff219087d321a565869e803ac17d026a9
2 Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 28 17:57:30 2019 +0000
4 Commit: 罗百科 <patrick <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 28 17:57:30 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8eb6218f
7
8 dev-db/clickhouse: Bump
9
10 Package-Manager: Portage-2.3.69, Repoman-2.3.16
11 Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
12
13 dev-db/clickhouse/Manifest | 1 +
14 dev-db/clickhouse/clickhouse-19.9.5.36.ebuild | 203 ++++++++++++++++++++++++++
15 2 files changed, 204 insertions(+)
16
17 diff --git a/dev-db/clickhouse/Manifest b/dev-db/clickhouse/Manifest
18 index 6464e53287f..9a52ddcf42a 100644
19 --- a/dev-db/clickhouse/Manifest
20 +++ b/dev-db/clickhouse/Manifest
21 @@ -3,3 +3,4 @@ DIST clickhouse-18.10.3.tar.gz 6136661 BLAKE2B 5564bbe85f4ca43f18df702148af0e4e5
22 DIST clickhouse-18.12.17.tar.gz 6495521 BLAKE2B 00dfb823b9e36923beb50a88bee88af3918bedc7b20079785699a42e36e52f32739f786bd78c5b350f58ae59251e3846da6202d04e24e9a750c92e16065cc395 SHA512 876c5fb6011c65b8ec201126678dad6f5de3430b7d320316ced5c6d22e8086ce337d20b73badbd053bf141097b8fe6cd94910ed607b4bbedb681cfa7921d1fb6
23 DIST clickhouse-18.6.0.tar.gz 5852534 BLAKE2B 5634fd26907b21d4a35cff3ed816696205be4aff1cdd1acfe222e24214b1842eb18a4e499e888b0d92b78f5c3023c2962a385af2c0ea889055e473dfa0198bf5 SHA512 e8ea2d4457122513cad47b1cdb2a58dd2ffaec77a7a08bf82179aca12a369d39970520a995bb5db2e5ea4b0939da827b7d4b1f3929cf71c149c965438ebb3633
24 DIST clickhouse-19.5.3.8.zip 11247905 BLAKE2B f72289f55bddf9b3ad2e16a4d1fc6e4f7681477e742eda3694c3c16975820c93affc01c70b194c5992226d79bee714f706c04402c62bd0ed3d1701a16fb22192 SHA512 f578abbd43c3ccf721e079ce2bafac22be0c5d619388be192c59a2053ae1cf1e7f0a025e0323f0f8f004f879990a88c0ca0cd4d135606de51c576619fe0172b8
25 +DIST clickhouse-19.9.5.36.zip 11708002 BLAKE2B 075f9b1556c5ee207a608047fa559cec7a0b1f044236e412189ae6dabe25aa04abf881726e4ffa17d4aad6937250c704f050935e61470994b57eaa1ac9ea07e4 SHA512 b0aa04a1c0f7c15316c83a2711f9b64f8235e664956f933530a9f2dc26fcb8b817adb8ca43c96db1cad498e06f4291ce13c0bb259726039c5caa52ae523fa4ab
26
27 diff --git a/dev-db/clickhouse/clickhouse-19.9.5.36.ebuild b/dev-db/clickhouse/clickhouse-19.9.5.36.ebuild
28 new file mode 100644
29 index 00000000000..8de003457ec
30 --- /dev/null
31 +++ b/dev-db/clickhouse/clickhouse-19.9.5.36.ebuild
32 @@ -0,0 +1,203 @@
33 +# Copyright 1999-2019 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=6
37 +
38 +CMAKE_MAKEFILE_GENERATOR="ninja"
39 +
40 +inherit cmake-utils systemd toolchain-funcs user
41 +
42 +DESCRIPTION="An OSS column-oriented database management system for real-time data analysis"
43 +HOMEPAGE="https://clickhouse.yandex"
44 +LICENSE="Apache-2.0"
45 +
46 +MY_PN="ClickHouse"
47 +TYPE="stable"
48 +
49 +CCTZ_COMMIT="4f9776a"
50 +SRC_URI="https://github.com/yandex/${MY_PN}/archive/v${PV}-${TYPE}.zip -> ${P}.zip
51 + https://github.com/google/cctz/archive/${CCTZ_COMMIT}.tar.gz -> cctz-${CCTZ_COMMIT}.tar.gz
52 +"
53 +
54 +SLOT="0/${TYPE}"
55 +IUSE="+client cpu_flags_x86_sse4_2 +server debug doc kafka mongodb mysql static test tools"
56 +KEYWORDS="~amd64"
57 +
58 +REQUIRED_USE="
59 + server? ( cpu_flags_x86_sse4_2 )
60 + static? ( client server tools )
61 +"
62 +
63 +RDEPEND="
64 + dev-libs/re2:0=
65 + !static? (
66 + >=app-arch/lz4-1.8.0:=
67 + >=app-arch/zstd-1.3.4:=
68 + client? (
69 + sys-libs/ncurses:0=
70 + sys-libs/readline:0=
71 + )
72 +
73 + dev-libs/double-conversion
74 + dev-libs/capnproto
75 + dev-libs/libltdl:0
76 + sys-libs/libunwind:7
77 + sys-libs/zlib
78 + dev-libs/poco[odbc]
79 + dev-libs/icu:=
80 + dev-libs/glib
81 + >=dev-libs/boost-1.65.0:=
82 + dev-libs/openssl:0=
83 + kafka? ( dev-libs/librdkafka:= )
84 + mysql? ( virtual/libmysqlclient )
85 + )
86 +
87 + >=dev-libs/poco-1.9.0
88 + dev-libs/libpcre
89 + dev-libs/jemalloc
90 +"
91 +
92 +DEPEND="${RDEPEND}
93 + doc? ( >=dev-python/mkdocs-1.0.1 )
94 + static? (
95 + >=app-arch/lz4-1.8.0[static-libs]
96 + >=app-arch/zstd-1.3.4[static-libs]
97 + client? (
98 + sys-libs/ncurses:0=[static-libs]
99 + sys-libs/readline:0=[static-libs]
100 + )
101 + dev-libs/double-conversion[static-libs]
102 + dev-libs/capnproto[static-libs]
103 + dev-libs/libltdl[static-libs]
104 + sys-libs/libunwind:7[static-libs]
105 + sys-libs/zlib[static-libs]
106 + || (
107 + dev-db/unixODBC[static-libs]
108 + dev-libs/poco[odbc]
109 + )
110 + dev-libs/icu[static-libs]
111 + dev-libs/glib[static-libs]
112 + >=dev-libs/boost-1.65.0[static-libs]
113 + dev-libs/openssl[static-libs]
114 + virtual/libmysqlclient[static-libs]
115 + kafka? ( dev-libs/librdkafka[static-libs] )
116 + )
117 +
118 + sys-libs/libtermcap-compat
119 + dev-util/patchelf
120 + >=sys-devel/lld-6.0.0
121 + >=sys-devel/gcc-7.0
122 + >=sys-devel/clang-6.0
123 +"
124 +
125 +S="${WORKDIR}/${MY_PN}-${PV}-${TYPE}"
126 +
127 +_clang_fullversion() {
128 + local ver="$1"; shift
129 + set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__")
130 + eval echo "$ver"
131 +}
132 +
133 +clang-fullversion() {
134 + _clang_fullversion '$1.$2.$3' "$@"
135 +}
136 +
137 +clang-version() {
138 + _clang_fullversion '$1.$2' "$@"
139 +}
140 +
141 +clang-major-version() {
142 + _clang_fullversion '$1' "$@"
143 +}
144 +
145 +clang-minor-version() {
146 + _clang_fullversion '$2' "$@"
147 +}
148 +
149 +clang-micro-version() {
150 + _clang_fullversion '$3' "$@"
151 +}
152 +
153 +pkg_pretend() {
154 + if [[ $(tc-getCC) == clang ]]; then
155 + if [[ $(clang-major-version) -lt 6 ]]; then
156 + eerror "Compilation with clang older than 6.0 is not supported"
157 + die "Too old clang found"
158 + fi
159 + :
160 + elif [[ $(gcc-major-version) -lt 7 ]] && [[$(gcc-minor-version) -lt 2 ]]; then
161 + eerror "Compilation with gcc older than 7.2 is not supported"
162 + die "Too old gcc found"
163 + fi
164 +}
165 +
166 +src_unpack() {
167 + default_src_unpack
168 + [[ ${PV} == 9999 ]] && return 0
169 + cd "${S}/contrib" || die "failed to cd to contrib"
170 + mkdir -p cctz zstd || die "failed to create directories"
171 + tar --strip-components=1 -C cctz -xf "${DISTDIR}/cctz-${CCTZ_COMMIT}.tar.gz" || die "failed to unpack cctz"
172 +}
173 +
174 +src_prepare() {
175 + eapply_user
176 + cmake-utils_src_prepare
177 +}
178 +src_configure() {
179 + local mycmakeargs=(
180 + -DENABLE_POCO_MONGODB="$(usex mongodb)"
181 + -DENABLE_RDKAFKA="$(usex kafka)"
182 + -DENABLE_TESTS="$(usex test)"
183 + -DUSE_STATIC_LIBRARIES="$(usex static)"
184 + -DMAKE_STATIC_LIBRARIES="$(usex static)"
185 + -DUSE_MYSQL="$(usex mysql)"
186 + -DENABLE_CLICKHOUSE_SERVER="$(usex server)"
187 + -DENABLE_CLICKHOUSE_CLIENT="$(usex client)"
188 + -DENABLE_CLICKHOUSE_LOCAL="$(usex tools)"
189 + -DENABLE_CLICKHOUSE_BENCHMARK="$(usex tools)"
190 + -DENABLE_CLICKHOUSE_PERFORMANCE="$(usex tools)"
191 + -DENABLE_CLICKHOUSE_EXTRACT_FROM_CONFIG="$(usex tools)"
192 + -DENABLE_CLICKHOUSE_COMPRESSOR="$(usex tools)"
193 + -DENABLE_CLICKHOUSE_COPIER="$(usex tools)"
194 + # As of now, clickhouse fails to build if odbc is disabled
195 + -DENABLE_ODBC=True
196 + -DENABLE_CLICKHOUSE_ODBC_BRIDGE=True
197 + -DENABLE_CLICKHOUSE_ALL=OFF
198 + -DUSE_INTERNAL_SSL_LIBRARY=False
199 + -DUSE_INTERNAL_CITYHASH_LIBRARY=ON # Clickhouse explicitly requires bundled patched cityhash
200 + -DUNBUNDLED=ON
201 + )
202 +
203 + cmake-utils_src_configure
204 +}
205 +
206 +src_install() {
207 + cmake-utils_src_install
208 +
209 + if ! use test; then
210 + rm -rf "${D}/usr/share/clickhouse-test" || die "failed to remove tests"
211 + fi
212 +
213 + if use doc; then
214 + pushd "${S}/docs/tools" || die "Failed to enter docs build directory"
215 + ./build.py || die "Failed to build docs"
216 + popd || die "Failed to exit docs build directory"
217 +
218 + dodoc -r "${S}/docs/build"
219 + fi
220 +
221 + if use server; then
222 + newinitd "${FILESDIR}"/clickhouse-server.initd clickhouse-server
223 + systemd_dounit "${FILESDIR}"/clickhouse-server.service
224 + fi
225 +
226 + keepdir /var/log/clickhouse-server
227 + chown clickhouse:clickhouse "${D}"/var/log/clickhouse-server
228 +}
229 +
230 +pkg_preinst() {
231 + if use server; then
232 + enewgroup clickhouse
233 + enewuser clickhouse -1 -1 /var/lib/clickhouse clickhouse
234 + fi
235 +}