Skip to content

Commit

Permalink
dev-db/clickhouse: Bump
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Patrick Lauer <[email protected]>
  • Loading branch information
patricklauer committed Jul 28, 2019
1 parent 188a362 commit 8eb6218
Show file tree
Hide file tree
Showing 2 changed files with 204 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-db/clickhouse/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ DIST clickhouse-18.10.3.tar.gz 6136661 BLAKE2B 5564bbe85f4ca43f18df702148af0e4e5
DIST clickhouse-18.12.17.tar.gz 6495521 BLAKE2B 00dfb823b9e36923beb50a88bee88af3918bedc7b20079785699a42e36e52f32739f786bd78c5b350f58ae59251e3846da6202d04e24e9a750c92e16065cc395 SHA512 876c5fb6011c65b8ec201126678dad6f5de3430b7d320316ced5c6d22e8086ce337d20b73badbd053bf141097b8fe6cd94910ed607b4bbedb681cfa7921d1fb6
DIST clickhouse-18.6.0.tar.gz 5852534 BLAKE2B 5634fd26907b21d4a35cff3ed816696205be4aff1cdd1acfe222e24214b1842eb18a4e499e888b0d92b78f5c3023c2962a385af2c0ea889055e473dfa0198bf5 SHA512 e8ea2d4457122513cad47b1cdb2a58dd2ffaec77a7a08bf82179aca12a369d39970520a995bb5db2e5ea4b0939da827b7d4b1f3929cf71c149c965438ebb3633
DIST clickhouse-19.5.3.8.zip 11247905 BLAKE2B f72289f55bddf9b3ad2e16a4d1fc6e4f7681477e742eda3694c3c16975820c93affc01c70b194c5992226d79bee714f706c04402c62bd0ed3d1701a16fb22192 SHA512 f578abbd43c3ccf721e079ce2bafac22be0c5d619388be192c59a2053ae1cf1e7f0a025e0323f0f8f004f879990a88c0ca0cd4d135606de51c576619fe0172b8
DIST clickhouse-19.9.5.36.zip 11708002 BLAKE2B 075f9b1556c5ee207a608047fa559cec7a0b1f044236e412189ae6dabe25aa04abf881726e4ffa17d4aad6937250c704f050935e61470994b57eaa1ac9ea07e4 SHA512 b0aa04a1c0f7c15316c83a2711f9b64f8235e664956f933530a9f2dc26fcb8b817adb8ca43c96db1cad498e06f4291ce13c0bb259726039c5caa52ae523fa4ab
203 changes: 203 additions & 0 deletions dev-db/clickhouse/clickhouse-19.9.5.36.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6

CMAKE_MAKEFILE_GENERATOR="ninja"

inherit cmake-utils systemd toolchain-funcs user

DESCRIPTION="An OSS column-oriented database management system for real-time data analysis"
HOMEPAGE="https://clickhouse.yandex"
LICENSE="Apache-2.0"

MY_PN="ClickHouse"
TYPE="stable"

CCTZ_COMMIT="4f9776a"
SRC_URI="https://github.com/yandex/${MY_PN}/archive/v${PV}-${TYPE}.zip -> ${P}.zip
https://github.com/google/cctz/archive/${CCTZ_COMMIT}.tar.gz -> cctz-${CCTZ_COMMIT}.tar.gz
"

SLOT="0/${TYPE}"
IUSE="+client cpu_flags_x86_sse4_2 +server debug doc kafka mongodb mysql static test tools"
KEYWORDS="~amd64"

REQUIRED_USE="
server? ( cpu_flags_x86_sse4_2 )
static? ( client server tools )
"

RDEPEND="
dev-libs/re2:0=
!static? (
>=app-arch/lz4-1.8.0:=
>=app-arch/zstd-1.3.4:=
client? (
sys-libs/ncurses:0=
sys-libs/readline:0=
)
dev-libs/double-conversion
dev-libs/capnproto
dev-libs/libltdl:0
sys-libs/libunwind:7
sys-libs/zlib
dev-libs/poco[odbc]
dev-libs/icu:=
dev-libs/glib
>=dev-libs/boost-1.65.0:=
dev-libs/openssl:0=
kafka? ( dev-libs/librdkafka:= )
mysql? ( virtual/libmysqlclient )
)
>=dev-libs/poco-1.9.0
dev-libs/libpcre
dev-libs/jemalloc
"

DEPEND="${RDEPEND}
doc? ( >=dev-python/mkdocs-1.0.1 )
static? (
>=app-arch/lz4-1.8.0[static-libs]
>=app-arch/zstd-1.3.4[static-libs]
client? (
sys-libs/ncurses:0=[static-libs]
sys-libs/readline:0=[static-libs]
)
dev-libs/double-conversion[static-libs]
dev-libs/capnproto[static-libs]
dev-libs/libltdl[static-libs]
sys-libs/libunwind:7[static-libs]
sys-libs/zlib[static-libs]
|| (
dev-db/unixODBC[static-libs]
dev-libs/poco[odbc]
)
dev-libs/icu[static-libs]
dev-libs/glib[static-libs]
>=dev-libs/boost-1.65.0[static-libs]
dev-libs/openssl[static-libs]
virtual/libmysqlclient[static-libs]
kafka? ( dev-libs/librdkafka[static-libs] )
)
sys-libs/libtermcap-compat
dev-util/patchelf
>=sys-devel/lld-6.0.0
>=sys-devel/gcc-7.0
>=sys-devel/clang-6.0
"

S="${WORKDIR}/${MY_PN}-${PV}-${TYPE}"

_clang_fullversion() {
local ver="$1"; shift
set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__")
eval echo "$ver"
}

clang-fullversion() {
_clang_fullversion '$1.$2.$3' "$@"
}

clang-version() {
_clang_fullversion '$1.$2' "$@"
}

clang-major-version() {
_clang_fullversion '$1' "$@"
}

clang-minor-version() {
_clang_fullversion '$2' "$@"
}

clang-micro-version() {
_clang_fullversion '$3' "$@"
}

pkg_pretend() {
if [[ $(tc-getCC) == clang ]]; then
if [[ $(clang-major-version) -lt 6 ]]; then
eerror "Compilation with clang older than 6.0 is not supported"
die "Too old clang found"
fi
:
elif [[ $(gcc-major-version) -lt 7 ]] && [[$(gcc-minor-version) -lt 2 ]]; then
eerror "Compilation with gcc older than 7.2 is not supported"
die "Too old gcc found"
fi
}

src_unpack() {
default_src_unpack
[[ ${PV} == 9999 ]] && return 0
cd "${S}/contrib" || die "failed to cd to contrib"
mkdir -p cctz zstd || die "failed to create directories"
tar --strip-components=1 -C cctz -xf "${DISTDIR}/cctz-${CCTZ_COMMIT}.tar.gz" || die "failed to unpack cctz"
}

src_prepare() {
eapply_user
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DENABLE_POCO_MONGODB="$(usex mongodb)"
-DENABLE_RDKAFKA="$(usex kafka)"
-DENABLE_TESTS="$(usex test)"
-DUSE_STATIC_LIBRARIES="$(usex static)"
-DMAKE_STATIC_LIBRARIES="$(usex static)"
-DUSE_MYSQL="$(usex mysql)"
-DENABLE_CLICKHOUSE_SERVER="$(usex server)"
-DENABLE_CLICKHOUSE_CLIENT="$(usex client)"
-DENABLE_CLICKHOUSE_LOCAL="$(usex tools)"
-DENABLE_CLICKHOUSE_BENCHMARK="$(usex tools)"
-DENABLE_CLICKHOUSE_PERFORMANCE="$(usex tools)"
-DENABLE_CLICKHOUSE_EXTRACT_FROM_CONFIG="$(usex tools)"
-DENABLE_CLICKHOUSE_COMPRESSOR="$(usex tools)"
-DENABLE_CLICKHOUSE_COPIER="$(usex tools)"
# As of now, clickhouse fails to build if odbc is disabled
-DENABLE_ODBC=True
-DENABLE_CLICKHOUSE_ODBC_BRIDGE=True
-DENABLE_CLICKHOUSE_ALL=OFF
-DUSE_INTERNAL_SSL_LIBRARY=False
-DUSE_INTERNAL_CITYHASH_LIBRARY=ON # Clickhouse explicitly requires bundled patched cityhash
-DUNBUNDLED=ON
)

cmake-utils_src_configure
}

src_install() {
cmake-utils_src_install

if ! use test; then
rm -rf "${D}/usr/share/clickhouse-test" || die "failed to remove tests"
fi

if use doc; then
pushd "${S}/docs/tools" || die "Failed to enter docs build directory"
./build.py || die "Failed to build docs"
popd || die "Failed to exit docs build directory"

dodoc -r "${S}/docs/build"
fi

if use server; then
newinitd "${FILESDIR}"/clickhouse-server.initd clickhouse-server
systemd_dounit "${FILESDIR}"/clickhouse-server.service
fi

keepdir /var/log/clickhouse-server
chown clickhouse:clickhouse "${D}"/var/log/clickhouse-server
}

pkg_preinst() {
if use server; then
enewgroup clickhouse
enewuser clickhouse -1 -1 /var/lib/clickhouse clickhouse
fi
}

0 comments on commit 8eb6218

Please sign in to comment.