summaryrefslogtreecommitdiff
path: root/dev-db/clickhouse
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-06-16 05:02:38 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-06-16 05:02:38 +0100
commitf1bc537f089cc8477a9a18db597cb349e1b00e91 (patch)
treec48eb730c43e5f35729fabbe5cb4bfbe4a1bc794 /dev-db/clickhouse
parentcb3e8c6af7661fbcafdcacc7e0ecdfb610d098fa (diff)
gentoo resync : 16.06.2018
Diffstat (limited to 'dev-db/clickhouse')
-rw-r--r--dev-db/clickhouse/Manifest10
-rw-r--r--dev-db/clickhouse/clickhouse-1.1.54385.ebuild192
-rw-r--r--dev-db/clickhouse/files/clickhouse-concatenate-python3.patch38
-rw-r--r--dev-db/clickhouse/files/clickhouse-server.initd17
-rw-r--r--dev-db/clickhouse/files/clickhouse-server.service15
-rw-r--r--dev-db/clickhouse/metadata.xml19
6 files changed, 291 insertions, 0 deletions
diff --git a/dev-db/clickhouse/Manifest b/dev-db/clickhouse/Manifest
new file mode 100644
index 000000000000..7c90c2e6ae57
--- /dev/null
+++ b/dev-db/clickhouse/Manifest
@@ -0,0 +1,10 @@
+AUX clickhouse-concatenate-python3.patch 1520 BLAKE2B d776c0e9c6fc50f038c65f4dbfd6ea70e549803be1ecd4422efa7f1169596fedc7555e2f532af70166c59078a0f7660468722a76953a9bab90b307bb366c9d10 SHA512 5ed347ae738547f1491ad74c2697ec9c977244a70e7be7b4f4130a45c4d90619016eee7679ae0eca21c8376d855673e7529d10378a18e1a4a5fd57bf2a6400b4
+AUX clickhouse-server.initd 452 BLAKE2B d083713e917c2e436316a42adccf8698159c268b4deeca8ce04548e0fb71de2db43a4f4ad3a0ca9b74c3e677cc006386b07a5099d8ae6247da246912ec009545 SHA512 553c4f59c5210c30b219507320debc5b1f9e33b777bc04a37a8598d433a34642e4e653dc74bdd11573e99f20ae9d869c8772d3f36a8e962eb76775695bee2ff7
+AUX clickhouse-server.service 307 BLAKE2B 1f443f68db97408cb2b0a8e9007195cdc5d6e29f54e55b3bd2b023cfbcb9d3ee4c1083503f83a42cfd18bca3320dfa86571434fe89612fb0a1f5a9e178eb706b SHA512 185db8aed69b178540225fa41f623a78af09e30d2dd1e033baf4d7c80451e702f5d6b9ce5240f7f6fb6d63a4ebed5af4d483515c7e6fe019e7fd44334df4ab37
+DIST cctz-4f9776a.tar.gz 290009 BLAKE2B 532eb7d590f9814c05cc7fdd3c75efe0a6b3f81d85201b14163a9600dd858c4fbac592270d0afccd7d5eef0080d7e70e9d716023bdb60d55479585e2cd3d3f59 SHA512 ba0dfc404cc70f03ef2be29fa3b0c70ea881c92a92525ea4ba1b5bcfc9e45df1b62a5eec180f498293e64bdd5cb9b41f97361cbb7e8baf299dcfdcd1557ca205
+DIST clickhouse-1.1.54385.tar.gz 5833821 BLAKE2B 48441aa28dd03c0b3282fe577849902ba29eded5dc90fe83159fdce3be1f93a6e48e48049e62febc2272f9b7ca1c143c1021900daaae9e5b43eab229418becff SHA512 eb3c02e6a094221374eca70b6cf6020414f31cbb196a521214d3c31b4266f5f251d431460025d9e644c83d61a3aa7ac2c266c9fa14db312ce42aa0cc8fc20d7c
+DIST librdkafka-c3d50eb.tar.gz 1869491 BLAKE2B 6b4a1695226d9328033c9cb7db8cd4f80db92b38abce2639db2ebac4511146d0343967d4d6342ed13f13eab07d4b32bc72acd02d5bdec1a5e1da3e2be02e2b2d SHA512 47fd12a2a9c14c986f331abf0df12c782e5f803c2bce86a9eab17977d444230ce4c5e8921e112127b1c51b40fc914e14e20269d65058ecf53991d09997ae172b
+DIST lz4-c10863b.tar.gz 223026 BLAKE2B c5cccac2f9e86f8bc7986cc283bfb969445e0edf35f78dbd880f56c191c172c6c314353e66a056acb461cfb657441662e23daa755c6e3071ff4ac328f79ab7a8 SHA512 97c460ceb48ebbf8832459f2315e08e62832a861d055c5fc78848091feb5c25f175d91e364d14633ca66353d9bd64de5161dfbe6bc1aeb526c5cb62ceab9c63c
+DIST zstd-2555975.tar.gz 2062067 BLAKE2B cfd4eb221a94b1c6bd4f8950ee6e1511f9b773f61a68ada33781c5fed3f3f664820135b074810721cbdfad524aff6d54c2f017aa6b3ec9efcdf09c29aec90219 SHA512 7320149560095a348f0c98f22ed4a8247c32a2e66ef3098039a4d5520b4cb8893ff799e51fb45716594c5ed609752eee6454faa3ddfbb4cab3a46330544eaa19
+EBUILD clickhouse-1.1.54385.ebuild 5111 BLAKE2B 6078269a102d20b88bfb963d34ee50be69aa4baa29581cddaf3223b88139bc1de8b7c637bb3d7521db32d172c80443afdd09005cd6f329adfd4ce9a17e222860 SHA512 eb51208c3d2e861ff381973ff0921650b4b7fdc3005808280048d8268df2a0c64f89f47e781bd95c9e3575639289e1cc7557b2b5995624244a5e357038b7227a
+MISC metadata.xml 738 BLAKE2B 861f40f506964d64cf646f043406945dc54950f48e27d4eb28b6fc0f96bf0ceb093520a0b60d813460fbe8b99ba4858f0a49d30abcb25567f44411c78a02f6e7 SHA512 6d87cc967c081b5a5e60136f5928d7b17c65c3a1c26aa1e45a50e74d5383bb665682a8b0cb5cce0496bebcac1f5e27aace8a8373253c031acc3c166c382e0056
diff --git a/dev-db/clickhouse/clickhouse-1.1.54385.ebuild b/dev-db/clickhouse/clickhouse-1.1.54385.ebuild
new file mode 100644
index 000000000000..9cbe1c907fe2
--- /dev/null
+++ b/dev-db/clickhouse/clickhouse-1.1.54385.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2018 Gentoo Foundation
+# 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"
+LIBRDKAFKA_COMMIT="c3d50eb"
+LZ4_COMMIT="c10863b"
+ZSTD_COMMIT="2555975"
+SRC_URI="https://github.com/yandex/${MY_PN}/archive/v${PV}-${TYPE}.tar.gz -> ${P}.tar.gz
+ https://github.com/google/cctz/archive/${CCTZ_COMMIT}.tar.gz -> cctz-${CCTZ_COMMIT}.tar.gz
+ https://github.com/edenhill/librdkafka/archive/${LIBRDKAFKA_COMMIT}.tar.gz -> librdkafka-${LIBRDKAFKA_COMMIT}.tar.gz
+ https://github.com/lz4/lz4/archive/${LZ4_COMMIT}.tar.gz -> lz4-${LZ4_COMMIT}.tar.gz
+ https://github.com/facebook/zstd/archive/${ZSTD_COMMIT}.tar.gz -> zstd-${ZSTD_COMMIT}.tar.gz
+"
+
+SLOT="0/${TYPE}"
+IUSE="+client cpu_flags_x86_sse4_2 +server debug doc kafka mongodb mysql static test tools zookeeper"
+KEYWORDS="~amd64"
+
+REQUIRED_USE="
+ server? ( cpu_flags_x86_sse4_2 )
+ static? ( client server tools )
+"
+
+RDEPEND="
+ client? (
+ sys-libs/ncurses:0
+ sys-libs/readline:0
+ )
+
+ !static? (
+ dev-libs/double-conversion
+ dev-libs/capnproto
+ dev-libs/libltdl:0
+ sys-libs/zlib
+ || (
+ dev-db/unixODBC
+ dev-libs/poco[odbc]
+ )
+ dev-libs/icu:=
+ dev-libs/glib
+ dev-libs/boost:=
+ dev-libs/openssl:0=
+ dev-libs/zookeeper-c
+ mysql? ( virtual/libmysqlclient )
+ )
+
+ >=dev-libs/poco-1.9.0
+ dev-libs/libpcre
+"
+
+DEPEND="${RDEPEND}
+ doc? ( >=dev-python/mkdocs-0.17.3 )
+ static? (
+ dev-libs/double-conversion[static-libs]
+ dev-libs/capnproto[static-libs]
+ dev-libs/libltdl[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[static-libs]
+ dev-libs/openssl[static-libs]
+ dev-libs/zookeeper-c[static-libs]
+ virtual/libmysqlclient[static-libs]
+ )
+
+ sys-libs/libtermcap-compat
+ dev-util/patchelf
+ || (
+ >=sys-devel/gcc-7.0
+ >=sys-devel/clang-6.0
+ )
+"
+
+PATCHES=( ${FILESDIR}/clickhouse-concatenate-python3.patch )
+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 librdkafka lz4 zookeeper zstd || die "failed to create directories"
+ tar --strip-components=1 -C cctz -xf "${DISTDIR}/cctz-${CCTZ_COMMIT}.tar.gz" || die "failed to unpack cctz"
+ tar --strip-components=1 -C librdkafka -xf "${DISTDIR}/librdkafka-${LIBRDKAFKA_COMMIT}.tar.gz" || die "failed to unpack librdkafka"
+ tar --strip-components=1 -C lz4 -xf "${DISTDIR}/lz4-${LZ4_COMMIT}.tar.gz" || die "failed to unpack lz4"
+ tar --strip-components=1 -C zstd -xf "${DISTDIR}/zstd-${ZSTD_COMMIT}.tar.gz" || die "failed to unpack zstd"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_POCO_MONGODB="$(usex mongodb)"
+ -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_TOOLS="$(usex tools)"
+ -DENABLE_CLICKHOUSE_COPIER="$(usex tools)"
+ -DENABLE_CLICKHOUSE_ALL=OFF
+ -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" || die "Failed to enter docs build directory"
+ ./build.sh || die "Failed to build docs"
+ popd || die "Failed to exit docs build directory"
+
+ dodoc -r "${S}/docs/build/docs"
+ fi
+
+ if use server; then
+ newinitd "${FILESDIR}"/clickhouse-server.initd clickhouse-server
+ systemd_dounit "${FILESDIR}"/clickhouse-server.service
+ fi
+}
+
+pkg_preinst() {
+ if use server; then
+ enewgroup clickhouse
+ enewuser clickhouse -1 -1 /var/lib/clickhouse clickhouse
+ fi
+}
diff --git a/dev-db/clickhouse/files/clickhouse-concatenate-python3.patch b/dev-db/clickhouse/files/clickhouse-concatenate-python3.patch
new file mode 100644
index 000000000000..155ec758a74c
--- /dev/null
+++ b/dev-db/clickhouse/files/clickhouse-concatenate-python3.patch
@@ -0,0 +1,38 @@
+--- ClickHouse-1.1.54381-stable/docs/concatenate.py.bak 2018-05-20 20:30:45.958356001 +0200
++++ ClickHouse-1.1.54381-stable/docs/concatenate.py 2018-05-20 20:45:29.442341203 +0200
+@@ -20,12 +20,12 @@
+ import os
+
+ if len(sys.argv) < 2:
+- print "Usage: concatenate.py language_dir"
+- print "Example: concatenate.py ru"
++ print("Usage: concatenate.py language_dir")
++ print("Example: concatenate.py ru")
+ sys.exit(1)
+
+ if not os.path.exists(sys.argv[1]):
+- print "Pass language_dir correctly. For example, 'ru'."
++ print("Pass language_dir correctly. For example, 'ru'.")
+ sys.exit(2)
+
+ # Configuration
+@@ -43,8 +43,8 @@
+ path = (l[l.index(':') + 1:]).strip(" '\n")
+ files_to_concatenate.append(path)
+
+-print str(len(files_to_concatenate)) + " files will be concatenated into single md-file.\nFiles:"
+-print files_to_concatenate
++print(str(len(files_to_concatenate)) + " files will be concatenated into single md-file.\nFiles:")
++print(files_to_concatenate)
+
+ # 2. Concatenate all of the files in the list
+
+@@ -68,7 +68,7 @@
+ if sharp_pos > -1:
+ return '[' + text + '](' + link[sharp_pos:] + ')'
+ else:
+- print 'ERROR: Link [' + text + '](' + link + ') in file ' + path + ' has no anchor. Please provide it.'
++ print('ERROR: Link [' + text + '](' + link + ') in file ' + path + ' has no anchor. Please provide it.')
+ # return '['+text+'](#'+link.replace('/','-')+')'
+
+ for l in file:
diff --git a/dev-db/clickhouse/files/clickhouse-server.initd b/dev-db/clickhouse/files/clickhouse-server.initd
new file mode 100644
index 000000000000..57c91cd2389c
--- /dev/null
+++ b/dev-db/clickhouse/files/clickhouse-server.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+pidfile="/run/clickhouse-server.pid"
+command_background=1
+command="/usr/bin/clickhouse-server"
+start_stop_daemon_args="--user clickhouse --group clickhouse \
+ --chdir /etc/clickhouse-server \
+ -1 /var/log/clickhouse-server/stdout.log \
+ -2 /var/log/clickhouse-server/stderr.log"
+
+depend() {
+ need net
+ after mongodb
+}
diff --git a/dev-db/clickhouse/files/clickhouse-server.service b/dev-db/clickhouse/files/clickhouse-server.service
new file mode 100644
index 000000000000..64d2cbacf6ec
--- /dev/null
+++ b/dev-db/clickhouse/files/clickhouse-server.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=ClickHouse Server (analytic DBMS for big data)
+
+[Service]
+Type=simple
+User=clickhouse
+Group=clickhouse
+Restart=always
+RestartSec=30
+ExecStart=/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml
+LimitCORE=infinity
+LimitNOFILE=500000
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-db/clickhouse/metadata.xml b/dev-db/clickhouse/metadata.xml
new file mode 100644
index 000000000000..0583e43c96a1
--- /dev/null
+++ b/dev-db/clickhouse/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>civil@gentoo.org</email>
+ <name>Vladimir Smirnov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">yandex/Clickhouse</remote-id>
+ </upstream>
+ <use>
+ <flag name="client">Build CLI client.</flag>
+ <flag name="server">Build server.</flag>
+ <flag name="kafka">Enables support for kafka consumer.</flag>
+ <flag name="mongodb">Enabled support for MongoDB-based dictionaries</flag>
+ <flag name="tools">Build various tools, like benchmark, copier, etc.</flag>
+ <flag name="zookeeper">Enable support for clustering (based on Zookeeper).</flag>
+ </use>
+</pkgmetadata>