From 1cad271033e2c5768ca7e3c217425d6e82d03315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Lafuente?= Date: Fri, 12 Jun 2026 20:52:22 +0200 Subject: [PATCH] clickhouse-cpp: init at 2.6.2 --- .../cl/clickhouse-cpp/clickhouse-cpp.pc.in | 11 ++++ pkgs/by-name/cl/clickhouse-cpp/package.nix | 50 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 pkgs/by-name/cl/clickhouse-cpp/clickhouse-cpp.pc.in create mode 100644 pkgs/by-name/cl/clickhouse-cpp/package.nix diff --git a/pkgs/by-name/cl/clickhouse-cpp/clickhouse-cpp.pc.in b/pkgs/by-name/cl/clickhouse-cpp/clickhouse-cpp.pc.in new file mode 100644 index 000000000000..7d7fde74d07b --- /dev/null +++ b/pkgs/by-name/cl/clickhouse-cpp/clickhouse-cpp.pc.in @@ -0,0 +1,11 @@ +prefix=@out@ +includedir=${prefix}/include +libdir=${prefix}/lib + +Name: clickhouse-cpp +Description: Library to interact with ClickHouse Database from C++ code +URL: https://github.com/ClickHouse/clickhouse-cpp +Version: @version@ +Cflags: -pthread -isystem${includedir} +Libs: -pthread -L${libdir} -Wl,-rpath,${libdir} -lclickhouse-cpp-lib +Requires: absl_int128 diff --git a/pkgs/by-name/cl/clickhouse-cpp/package.nix b/pkgs/by-name/cl/clickhouse-cpp/package.nix new file mode 100644 index 000000000000..76230e9b3711 --- /dev/null +++ b/pkgs/by-name/cl/clickhouse-cpp/package.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + abseil-cpp, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "clickhouse-cpp"; + version = "2.6.2"; + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "clickhouse"; + repo = "clickhouse-cpp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-szvRPqj2xarzGTVyycPlSTJkWSxwLO4EKXADS1DpO7Q="; + }; + + flattenPackagesPrefix = "absl_"; + flattenPcLookupDir = "${abseil-cpp}/lib/pkgconfig"; + + nativeBuildInputs = [ + cmake + ]; + + cmakeFlags = [ + "-DWITH_SYSTEM_ABSEIL=1" + "-DBUILD_SHARED_LIBS=1" + ]; + + propagatedBuildInputs = [ abseil-cpp ]; + + postInstall = '' + mkdir -p $out/lib/pkgconfig + substituteAll ${./clickhouse-cpp.pc.in} $out/lib/pkgconfig/clickhouse-cpp.pc + ''; + + meta = { + description = "C++ client library for ClickHouse"; + homepage = "https://github.com/clickhouse/clickhouse-cpp"; + changelog = "https://github.com/clickhouse/clickhouse-cpp/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jlesquembre ]; + mainProgram = "clickhouse-cpp"; + platforms = lib.platforms.all; + }; +})