aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GIDs2
-rw-r--r--UIDs2
-rw-r--r--databases/Makefile1
-rw-r--r--databases/clickhouse/Makefile76
-rw-r--r--databases/clickhouse/distinfo3
-rw-r--r--databases/clickhouse/files/clickhouse.in62
-rw-r--r--databases/clickhouse/pkg-descr4
-rw-r--r--databases/clickhouse/pkg-plist14
8 files changed, 162 insertions, 2 deletions
diff --git a/GIDs b/GIDs
index 136e44173090..c1c7ca5c18ca 100644
--- a/GIDs
+++ b/GIDs
@@ -741,7 +741,7 @@ zetacoin:*:780:
# free: 797
# free: 798
# free: 799
-# free: 800
+clickhouse:*:800:
# free: 801
# free: 802
# free: 803
diff --git a/UIDs b/UIDs
index 29618987caaa..03734fd842b1 100644
--- a/UIDs
+++ b/UIDs
@@ -746,7 +746,7 @@ zetacoin:*:780:780::0:0:ZetaCoin Daemon:/nonexistent:/usr/sbin/nologin
# free: 797
# free: 798
# free: 799
-# free: 800
+clickhouse:*:800:800::0:0:ClickHouse Daemon:/var/db/clickhouse:/usr/sbin/nologin
# free: 801
# free: 802
# free: 803
diff --git a/databases/Makefile b/databases/Makefile
index 135031430631..eb4d918b43c7 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -33,6 +33,7 @@
SUBDIR += cdb
SUBDIR += cego
SUBDIR += cegobridge
+ SUBDIR += clickhouse
SUBDIR += couchdb
SUBDIR += courier-authlib-mysql
SUBDIR += courier-authlib-pgsql
diff --git a/databases/clickhouse/Makefile b/databases/clickhouse/Makefile
new file mode 100644
index 000000000000..777097c18595
--- /dev/null
+++ b/databases/clickhouse/Makefile
@@ -0,0 +1,76 @@
+# Created by: proler@gmail.com
+# $FreeBSD$
+
+PORTNAME= clickhouse
+PORTVERSION= 1.1.54165
+DISTVERSIONPREFIX= v
+DISTVERSIONSUFFIX= -stable
+CATEGORIES= databases
+
+MAINTAINER= proler@gmail.com
+COMMENT= ClickHouse is an column-oriented database management system
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= bash:shells/bash
+LIB_DEPENDS= libsqlite3.so:databases/sqlite3 \
+ libtcmalloc.so:devel/google-perftools \
+ libodbc.so:databases/unixODBC \
+ libltdl.so:devel/libltdl \
+ libicudata.so:devel/icu \
+ libboost_program_options.so:devel/boost-libs
+
+USE_GITHUB= yes
+GH_ACCOUNT= yandex
+GH_PROJECT= ClickHouse
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= "Only supported on amd64"
+
+USES= compiler:c++14-lang cmake iconv mysql ssl readline
+USE_LDCONFIG= yes
+CMAKE_ARGS= -DUSE_INTERNAL_GPERFTOOLS_LIBRARY=0 \
+ -DUSE_INTERNAL_BOOST_LIBRARY=0 \
+ -DUSE_INTERNAL_ZLIB_LIBRARY=0 \
+ -DUSE_STATIC_LIBRARIES=0 \
+ -DNO_WERROR=1
+
+USE_RC_SUBR= ${PORTNAME}
+USERS= clickhouse
+GROUPS= clickhouse
+
+#temporary! use PORTVERSION after version match
+SOVERSION= 1.1.54164
+PLIST_SUB= SOVERSION=${SOVERSION}
+
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
+BUILD_DEPENDS+= clang38:devel/llvm38
+CC= clang38
+CXX= clang++38
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/var/lib/clickhouse|/var/db/clickhouse|' ${WRKSRC}/dbms/src/Server/config.xml
+
+post-install:
+ @${RM} ${STAGEDIR}${PREFIX}/bin/clickhouse-compressor
+ @${RM} ${STAGEDIR}${PREFIX}/bin/config-processor
+ @${RM} ${STAGEDIR}${PREFIX}/bin/corrector_utf8
+ @${RM} ${STAGEDIR}${PREFIX}/lib/cmake/Poco/PocoConfig.cmake
+ @${RMDIR} ${STAGEDIR}${PREFIX}/lib/cmake/Poco
+ @${RMDIR} ${STAGEDIR}${PREFIX}/lib/cmake
+
+ ${INSTALL_DATA} ${WRKSRC}/dbms/src/Client/config.xml \
+ ${STAGEDIR}${PREFIX}/etc/clickhouse-client/config.xml.sample
+ ${INSTALL_DATA} ${WRKSRC}/dbms/src/Server/config.xml \
+ ${STAGEDIR}${PREFIX}/etc/clickhouse-server/config.xml.sample
+ ${INSTALL_DATA} ${WRKSRC}/dbms/src/Server/users.xml \
+ ${STAGEDIR}${PREFIX}/etc/clickhouse-server/users.xml.sample
+
+ @${MKDIR} ${STAGEDIR}/var/db/clickhouse
+ @${MKDIR} ${STAGEDIR}/var/log/clickhouse
+ @${MKDIR} ${STAGEDIR}/var/run/clickhouse
+
+.include <bsd.port.post.mk>
diff --git a/databases/clickhouse/distinfo b/databases/clickhouse/distinfo
new file mode 100644
index 000000000000..c23e74a08c1d
--- /dev/null
+++ b/databases/clickhouse/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1488372403
+SHA256 (yandex-ClickHouse-v1.1.54165-stable_GH0.tar.gz) = 192dc82094e3350a5030a68a39ed08b484d48d05514ed6d6c16647f21520aeb5
+SIZE (yandex-ClickHouse-v1.1.54165-stable_GH0.tar.gz) = 13510381
diff --git a/databases/clickhouse/files/clickhouse.in b/databases/clickhouse/files/clickhouse.in
new file mode 100644
index 000000000000..7fa89c7129d5
--- /dev/null
+++ b/databases/clickhouse/files/clickhouse.in
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: clickhouse
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable clickhouse server
+#
+# clickhouse_enable (bool): Set to "NO" by default
+# Set it to "YES" to enable clickhouse server
+# clickhouse_limits (bool): Set to "NO" by default.
+# Set it to yes to run `limits -e -U clickhouse`
+# just before clickhouse starts.
+# clickhouse_config (str): Path to config file (required).
+# (default: %%PREFIX%%/etc/clickhouse-server/config.xml)
+# clickhouse_rundir (str): Path to directory holding a pidfile.
+# (default: /var/run/clickhouse)
+# clickhouse_user (str): User to run as
+# (default: clickhouse)
+# clickhouse_group (str): Group to run as
+# (default: clickhouse)
+# clickhouse_logdir (str): Path to log directory
+# (default: /var/log/clickhouse)
+# clickhouse_dbdir (str): Path to world database directory
+# (default: /var/db/clickhouse)
+
+. /etc/rc.subr
+
+name=clickhouse
+rcvar=clickhouse_enable
+
+load_rc_config ${name}
+
+: ${clickhouse_enable="NO"}
+: ${clickhouse_limits="NO"}
+: ${clickhouse_config="%%PREFIX%%/etc/clickhouse-server/config.xml"}
+: ${clickhouse_rundir="/var/run/clickhouse"}
+: ${clickhouse_user="clickhouse"}
+: ${clickhouse_group="clickhouse"}
+: ${clickhouse_logdir="/var/log/clickhouse"}
+: ${clickhouse_dbdir="/var/db/clickhouse"}
+: ${clickhouse_flags=""}
+: ${clickhouse_args="--server --config-file ${clickhouse_config} ${clickhouse_flags}"}
+
+command=/usr/sbin/daemon
+procname=/usr/local/bin/clickhouse
+pidfile=${clickhouse_rundir}/clickhouse.pid
+command_args="-c -f -p ${pidfile} ${procname} ${clickhouse_args}"
+required_files=${clickhouse_config}
+start_precmd=clickhouse_prestart
+
+clickhouse_prestart () {
+ if checkyesno clickhouse_limits; then
+ eval `/usr/bin/limits -e -U ${clickhouse_user}` 2>/dev/null
+ else
+ return 0
+ fi
+}
+
+run_rc_command "$1"
diff --git a/databases/clickhouse/pkg-descr b/databases/clickhouse/pkg-descr
new file mode 100644
index 000000000000..2e877073c2e2
--- /dev/null
+++ b/databases/clickhouse/pkg-descr
@@ -0,0 +1,4 @@
+ClickHouse is an open-source column-oriented database management
+system that allows generating analytical data reports in real time.
+
+WWW: https://clickhouse.yandex/
diff --git a/databases/clickhouse/pkg-plist b/databases/clickhouse/pkg-plist
new file mode 100644
index 000000000000..77ed067c76eb
--- /dev/null
+++ b/databases/clickhouse/pkg-plist
@@ -0,0 +1,14 @@
+bin/clickhouse
+bin/clickhouse-benchmark
+bin/clickhouse-client
+bin/clickhouse-local
+bin/clickhouse-server
+@sample etc/clickhouse-client/config.xml.sample
+@sample etc/clickhouse-server/config.xml.sample
+@sample etc/clickhouse-server/users.xml.sample
+lib/libclickhouse.so
+lib/libclickhouse.so.1
+lib/libclickhouse.so.%%SOVERSION%%
+@dir(clickhouse,clickhouse,700) /var/db/clickhouse
+@dir(clickhouse,clickhouse) /var/log/clickhouse
+@dir(clickhouse,clickhouse) /var/run/clickhouse