Gentoo Archives: gentoo-commits

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