From fe05ef35c2bc91b83168053cdd68384599f2aa19 Mon Sep 17 00:00:00 2001 From: Bouke van der Bijl Date: Tue, 21 Jul 2026 19:24:05 +0200 Subject: [PATCH] clickhouse: preserve VERSION_REVISION from the source tree The preConfigure that regenerates cmake/autogenerated_versions.txt hardcoded SET(VERSION_REVISION 0), so nixpkgs-built servers report 0 from the revision(), which e.g. clickhouse-go reads. (cherry picked from commit c00f8bc01c332ad7f5d4a6eca53d117938da93d1) --- pkgs/by-name/cl/clickhouse/generic.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index 4b9b9cfaded9..4616222f3363 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -165,8 +165,17 @@ llvmStdenv.mkDerivation (finalAttrs: { gitHash = rev; in '' - cat <<'EOF' > cmake/autogenerated_versions.txt - SET(VERSION_REVISION 0) + # Preserve VERSION_REVISION from the source tree, like ClickHouse CI + # does. It identifies the server release line to clients (exposed via + # the revision() SQL function) + versionRevision=$(sed -n 's/^SET(VERSION_REVISION \([0-9]\{1,\}\))$/\1/p' cmake/autogenerated_versions.txt) + if [[ -z "$versionRevision" ]]; then + echo "Could not extract VERSION_REVISION from cmake/autogenerated_versions.txt" >&2 + exit 1 + fi + + cat < cmake/autogenerated_versions.txt + SET(VERSION_REVISION $versionRevision) SET(VERSION_MAJOR ${major}) SET(VERSION_MINOR ${minor}) SET(VERSION_PATCH ${patch})