Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Dec 2025 18:50:57 +0000
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 14821d60aad2 - main - databases/clickhouse-cpp: Add new port
Message-ID:  <69541f11.36d12.e88e767@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=14821d60aad2335e18bd68eec7cdfd9c3299ca9a

commit 14821d60aad2335e18bd68eec7cdfd9c3299ca9a
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2025-12-30 18:48:29 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2025-12-30 18:48:29 +0000

    databases/clickhouse-cpp: Add new port
    
    clickhouse-cpp is the official C++ client library for ClickHouse,
    providing a fast and type-safe interface to ClickHouse using its
    native binary protocol.
---
 databases/Makefile                                 |  1 +
 databases/clickhouse-cpp/Makefile                  | 41 ++++++++++++++++++++
 databases/clickhouse-cpp/distinfo                  |  3 ++
 .../files/patch-clickhouse_base_platform.h         | 20 ++++++++++
 .../files/patch-clickhouse_base_socket.cpp         | 11 ++++++
 .../files/patch-clickhouse_base_socket.h           | 13 +++++++
 databases/clickhouse-cpp/pkg-descr                 |  3 ++
 databases/clickhouse-cpp/pkg-plist                 | 45 ++++++++++++++++++++++
 8 files changed, 137 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index 6b460e4661e5..fdfd97ee7c56 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -31,6 +31,7 @@
     SUBDIR += cego
     SUBDIR += cegobridge
     SUBDIR += clickhouse
+    SUBDIR += clickhouse-cpp
     SUBDIR += closql
     SUBDIR += cockroach
     SUBDIR += couchdb3
diff --git a/databases/clickhouse-cpp/Makefile b/databases/clickhouse-cpp/Makefile
new file mode 100644
index 000000000000..0d049ac2dff8
--- /dev/null
+++ b/databases/clickhouse-cpp/Makefile
@@ -0,0 +1,41 @@
+PORTNAME=		clickhouse-cpp
+DISTVERSIONPREFIX=	v
+DISTVERSION=		2.6.0
+CATEGORIES=		databases devel
+
+MAINTAINER=	madpilot@FreeBSD.org
+COMMENT=	C++ client for ClickHouse
+WWW=		https://clickhouse.com/
+
+LICENSE=	APACHE20
+
+ONLY_FOR_ARCHS=	aarch64 amd64
+ONLY_FOR_ARCHS_REASON=	only supported on aarch64 and amd64
+
+LIB_DEPENDS=	libabsl_base.so:devel/abseil \
+		liblz4.so:archivers/liblz4 \
+		libzstd.so:archivers/zstd
+
+USES=		cmake 
+USE_GITHUB=	yes
+GH_ACCOUNT=	clickhouse
+
+CMAKE_ON=	WITH_OPENSSL \
+		WITH_SYSTEM_ABSEIL \
+		WITH_SYSTEM_LZ4 \
+		WITH_SYSTEM_ZSTD
+
+OPTIONS_DEFINE=		TEST
+OPTIONS_SUB=		yes
+
+TEST_RUN_DEPENDS=	expect>0:lang/expect
+TEST_CMAKE_BOOL=	ENABLE_TESTS
+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD
+USES+=	llvm:min=21
+CFLAGS+=-Wno-error=int-conversion
+.endif
+
+.include <bsd.port.mk>
diff --git a/databases/clickhouse-cpp/distinfo b/databases/clickhouse-cpp/distinfo
new file mode 100644
index 000000000000..74f6c8278cab
--- /dev/null
+++ b/databases/clickhouse-cpp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1763643899
+SHA256 (clickhouse-clickhouse-cpp-v2.6.0_GH0.tar.gz) = f694395ab49e7c2380297710761a40718278cefd86f4f692d3f8ce4293e1335f
+SIZE (clickhouse-clickhouse-cpp-v2.6.0_GH0.tar.gz) = 1131214
diff --git a/databases/clickhouse-cpp/files/patch-clickhouse_base_platform.h b/databases/clickhouse-cpp/files/patch-clickhouse_base_platform.h
new file mode 100644
index 000000000000..17d744498b1b
--- /dev/null
+++ b/databases/clickhouse-cpp/files/patch-clickhouse_base_platform.h
@@ -0,0 +1,20 @@
+--- clickhouse/base/platform.h.orig	2025-09-20 19:59:03 UTC
++++ clickhouse/base/platform.h
+@@ -2,6 +2,8 @@
+ 
+ #if defined(__linux__)
+ #   define _linux_
++#elif defined(__FreeBSD__)
++#   define _freebsd_
+ #elif defined(_WIN64)
+ #   define _win64_
+ #   define _win32_
+@@ -20,7 +22,7 @@
+ #   define WIN32_LEAN_AND_MEAN 1  // don't include too much header automatically
+ #endif
+ 
+-#if defined(_linux_) || defined (_darwin_)
++#if defined(_linux_) || defined (_darwin_) || defined(_freebsd_)
+ #   define _unix_
+ #endif
+ 
diff --git a/databases/clickhouse-cpp/files/patch-clickhouse_base_socket.cpp b/databases/clickhouse-cpp/files/patch-clickhouse_base_socket.cpp
new file mode 100644
index 000000000000..8ac3fca86d30
--- /dev/null
+++ b/databases/clickhouse-cpp/files/patch-clickhouse_base_socket.cpp
@@ -0,0 +1,11 @@
+--- clickhouse/base/socket.cpp.orig	2025-09-20 19:59:03 UTC
++++ clickhouse/base/socket.cpp
+@@ -355,7 +355,7 @@ void Socket::SetTcpKeepAlive(int idle, int intvl, int 
+ 
+ #if defined(_unix_)
+     setsockopt(handle_, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val));
+-#   if defined(_linux_)
++#   if defined(_linux_) || defined(_freebsd_)
+         setsockopt(handle_, IPPROTO_TCP, TCP_KEEPIDLE, &idle, sizeof(idle));
+ #   elif defined(_darwin_)
+         setsockopt(handle_, IPPROTO_TCP, TCP_KEEPALIVE, &idle, sizeof(idle));
diff --git a/databases/clickhouse-cpp/files/patch-clickhouse_base_socket.h b/databases/clickhouse-cpp/files/patch-clickhouse_base_socket.h
new file mode 100644
index 000000000000..5831ca229e1e
--- /dev/null
+++ b/databases/clickhouse-cpp/files/patch-clickhouse_base_socket.h
@@ -0,0 +1,13 @@
+--- clickhouse/base/socket.h.orig	2025-09-20 19:59:03 UTC
++++ clickhouse/base/socket.h
+@@ -18,6 +18,10 @@
+ #   include <sys/socket.h>
+ #   include <poll.h>
+ 
++#   if defined(__FreeBSD__)
++#       include <netinet/in.h>
++#    endif
++
+ #   if !defined(SOCKET)
+ #       define SOCKET int
+ #   endif
diff --git a/databases/clickhouse-cpp/pkg-descr b/databases/clickhouse-cpp/pkg-descr
new file mode 100644
index 000000000000..ef4c9e29e261
--- /dev/null
+++ b/databases/clickhouse-cpp/pkg-descr
@@ -0,0 +1,3 @@
+Clickhouse-cpp is the official C++ client library for ClickHouse,
+providing a fast and type-safe interface to ClickHouse using its
+native binary protocol.
diff --git a/databases/clickhouse-cpp/pkg-plist b/databases/clickhouse-cpp/pkg-plist
new file mode 100644
index 000000000000..3cc2c38591ed
--- /dev/null
+++ b/databases/clickhouse-cpp/pkg-plist
@@ -0,0 +1,45 @@
+include/clickhouse/base/buffer.h
+include/clickhouse/base/compressed.h
+include/clickhouse/base/endpoints_iterator.h
+include/clickhouse/base/input.h
+include/clickhouse/base/open_telemetry.h
+include/clickhouse/base/output.h
+include/clickhouse/base/platform.h
+include/clickhouse/base/projected_iterator.h
+include/clickhouse/base/singleton.h
+include/clickhouse/base/socket.h
+include/clickhouse/base/string_utils.h
+include/clickhouse/base/string_view.h
+include/clickhouse/base/uuid.h
+include/clickhouse/base/wire_format.h
+include/clickhouse/block.h
+include/clickhouse/client.h
+include/clickhouse/columns/array.h
+include/clickhouse/columns/column.h
+include/clickhouse/columns/date.h
+include/clickhouse/columns/decimal.h
+include/clickhouse/columns/enum.h
+include/clickhouse/columns/factory.h
+include/clickhouse/columns/geo.h
+include/clickhouse/columns/ip4.h
+include/clickhouse/columns/ip6.h
+include/clickhouse/columns/itemview.h
+include/clickhouse/columns/lowcardinality.h
+include/clickhouse/columns/map.h
+include/clickhouse/columns/nothing.h
+include/clickhouse/columns/nullable.h
+include/clickhouse/columns/numeric.h
+include/clickhouse/columns/string.h
+include/clickhouse/columns/tuple.h
+include/clickhouse/columns/utils.h
+include/clickhouse/columns/uuid.h
+include/clickhouse/error_codes.h
+include/clickhouse/exceptions.h
+include/clickhouse/protocol.h
+include/clickhouse/query.h
+include/clickhouse/server_exception.h
+include/clickhouse/types/type_parser.h
+include/clickhouse/types/types.h
+include/clickhouse/version.h
+lib/libcityhash.a
+lib/libclickhouse-cpp-lib.a


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69541f11.36d12.e88e767>