From d5228f9ede8b996fdb991e646c84c630ef3aa4fe Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 9 Jul 2025 19:37:13 +0000 Subject: [PATCH 01/17] clickhouse: Split existing package into lts.nix and generic.nix --- .../cl/clickhouse/{package.nix => generic.nix} | 14 ++++++++++---- pkgs/by-name/cl/clickhouse/lts.nix | 5 +++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) rename pkgs/by-name/cl/clickhouse/{package.nix => generic.nix} (96%) create mode 100644 pkgs/by-name/cl/clickhouse/lts.nix diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/generic.nix similarity index 96% rename from pkgs/by-name/cl/clickhouse/package.nix rename to pkgs/by-name/cl/clickhouse/generic.nix index e19aa2b51b95..e64ddb29e05d 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -1,3 +1,9 @@ +{ + lts ? false, + version, + hash, +}: + { lib, stdenv, @@ -20,16 +26,16 @@ }: llvmPackages_19.stdenv.mkDerivation (finalAttrs: { - pname = "clickhouse"; - version = "25.3.5.42"; + pname = "clickhouse" + lib.optionalString lts "-lts"; + inherit version; src = fetchFromGitHub rec { owner = "ClickHouse"; repo = "ClickHouse"; - tag = "v${finalAttrs.version}-lts"; + tag = "v${finalAttrs.version}"; fetchSubmodules = true; name = "clickhouse-${tag}.tar.gz"; - hash = "sha256-LvGl9XJK6Emt7HnV/Orp7qEmJSr3TBJZtApL6GrWIMg="; + inherit hash; postFetch = '' # delete files that make the source too big rm -rf $out/contrib/llvm-project/llvm/test diff --git a/pkgs/by-name/cl/clickhouse/lts.nix b/pkgs/by-name/cl/clickhouse/lts.nix new file mode 100644 index 000000000000..f9b1d901b6fa --- /dev/null +++ b/pkgs/by-name/cl/clickhouse/lts.nix @@ -0,0 +1,5 @@ +import ./generic.nix { + version = "25.3.5.42-lts"; + hash = "sha256-LvGl9XJK6Emt7HnV/Orp7qEmJSr3TBJZtApL6GrWIMg="; + lts = true; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82f13ae44c9a..3558734ca83d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2637,6 +2637,8 @@ with pkgs; ckb-next = libsForQt5.callPackage ../tools/misc/ckb-next { }; + clickhouse-lts = callPackage ../by-name/cl/clickhouse/lts.nix { }; + cmdpack = callPackages ../tools/misc/cmdpack { }; cocoapods = callPackage ../development/tools/cocoapods { }; From f0fbe75e810b80382434a1a53af7c3db0e46e527 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 9 Jul 2025 19:39:45 +0000 Subject: [PATCH 02/17] =?UTF-8?q?clickhouse:=2025.3.5.42=20=E2=86=92=2025.?= =?UTF-8?q?5.6.14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 pkgs/by-name/cl/clickhouse/package.nix diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix new file mode 100644 index 000000000000..3e1698261abe --- /dev/null +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -0,0 +1,5 @@ +import ./generic.nix { + version = "25.5.6.14-stable"; + hash = "sha256-gaKozR/QvvyZ3v21XEZLHV2YrhEStKuuAdOjjkd3+uc"; + lts = false; +} From 7885b4e30a7753a5edaf9313f927be7c145f5733 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 9 Jul 2025 19:42:39 +0000 Subject: [PATCH 03/17] nixos/release-notes: Add note about clickhouse vs clickhouse-lts package --- doc/release-notes/rl-2511.section.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 80d07cc1095c..202ee003ead1 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -113,6 +113,10 @@ - `fetchgit`: Add `rootDir` argument to limit the resulting source to one subdirectory of the whole Git repository. Corresponding `--root-dir` option added to `nix-prefetch-git`. +- The `clickhouse` package now track the stable upstream version per [upstream's + recommendation](https://clickhouse.com/docs/faq/operations/production). Users + can continue to use the `clickhouse-lts` package if desired. + ## Nixpkgs Library {#sec-nixpkgs-release-25.11-lib} From 67710e33186e91925085e9a1e8570c821cb036c4 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 9 Jul 2025 19:44:39 +0000 Subject: [PATCH 04/17] clickhouse: Add nix-update-script --- pkgs/by-name/cl/clickhouse/generic.nix | 10 +++++++++- pkgs/by-name/cl/clickhouse/lts.nix | 6 ++++++ pkgs/by-name/cl/clickhouse/package.nix | 6 ++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index e64ddb29e05d..2edf80df1895 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -2,6 +2,7 @@ lts ? false, version, hash, + nixUpdateExtraArgs ? [ ], }: { @@ -23,6 +24,7 @@ rustc, cargo, rustPlatform, + nix-update-script, }: llvmPackages_19.stdenv.mkDerivation (finalAttrs: { @@ -156,7 +158,13 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { # Builds in 7+h with 2 cores, and ~20m with a big-parallel builder. requiredSystemFeatures = [ "big-parallel" ]; - passthru.tests.clickhouse = nixosTests.clickhouse; + passthru = { + tests.clickhouse = nixosTests.clickhouse; + + updateScript = nix-update-script { + extraArgs = nixUpdateExtraArgs; + }; + }; meta = with lib; { homepage = "https://clickhouse.com"; diff --git a/pkgs/by-name/cl/clickhouse/lts.nix b/pkgs/by-name/cl/clickhouse/lts.nix index f9b1d901b6fa..01dd749858e0 100644 --- a/pkgs/by-name/cl/clickhouse/lts.nix +++ b/pkgs/by-name/cl/clickhouse/lts.nix @@ -2,4 +2,10 @@ import ./generic.nix { version = "25.3.5.42-lts"; hash = "sha256-LvGl9XJK6Emt7HnV/Orp7qEmJSr3TBJZtApL6GrWIMg="; lts = true; + nixUpdateExtraArgs = [ + "--version-regex" + "^v?(.*-lts)$" + "--override-filename" + "pkgs/by-name/cl/clickhouse/lts.nix" + ]; } diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 3e1698261abe..00a28b3a7226 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -2,4 +2,10 @@ import ./generic.nix { version = "25.5.6.14-stable"; hash = "sha256-gaKozR/QvvyZ3v21XEZLHV2YrhEStKuuAdOjjkd3+uc"; lts = false; + nixUpdateExtraArgs = [ + "--version-regex" + "^v?(.*-stable)$" + "--override-filename" + "pkgs/by-name/cl/clickhouse/package.nix" + ]; } From fe8494c9089aed96e89744db7062933741ffdc69 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 9 Jul 2025 16:36:44 +0000 Subject: [PATCH 05/17] nixos/clickhouse: Enable tests for clickhouse-lts --- nixos/tests/all-tests.nix | 9 ++++++- nixos/tests/clickhouse/base.nix | 7 ++++-- nixos/tests/clickhouse/default.nix | 33 ++++++++++++++++++++++---- nixos/tests/clickhouse/kafka.nix | 7 ++++-- nixos/tests/clickhouse/keeper.nix | 12 ++++++++-- nixos/tests/clickhouse/s3.nix | 7 ++++-- pkgs/by-name/cl/clickhouse/generic.nix | 2 +- 7 files changed, 62 insertions(+), 15 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c26b1097823b..cb659e879878 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -333,7 +333,14 @@ in cinnamon-wayland = runTest ./cinnamon-wayland.nix; cjdns = runTest ./cjdns.nix; clatd = runTest ./clatd.nix; - clickhouse = import ./clickhouse { inherit runTest; }; + clickhouse = import ./clickhouse { + inherit runTest; + package = pkgs.clickhouse; + }; + clickhouse-lts = import ./clickhouse { + inherit runTest; + package = pkgs.clickhouse-lts; + }; cloud-init = runTest ./cloud-init.nix; cloud-init-hostname = runTest ./cloud-init-hostname.nix; cloudlog = runTest ./cloudlog.nix; diff --git a/nixos/tests/clickhouse/base.nix b/nixos/tests/clickhouse/base.nix index cbeb5b64699a..c67857a82688 100644 --- a/nixos/tests/clickhouse/base.nix +++ b/nixos/tests/clickhouse/base.nix @@ -1,10 +1,13 @@ -{ pkgs, ... }: +{ pkgs, package, ... }: { name = "clickhouse"; meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; nodes.machine = { - services.clickhouse.enable = true; + services.clickhouse = { + enable = true; + inherit package; + }; virtualisation.memorySize = 4096; }; diff --git a/nixos/tests/clickhouse/default.nix b/nixos/tests/clickhouse/default.nix index e6568010eb66..88e01fcb1fdb 100644 --- a/nixos/tests/clickhouse/default.nix +++ b/nixos/tests/clickhouse/default.nix @@ -1,8 +1,31 @@ -{ runTest }: +{ + runTest, + package, +}: { - base = runTest ./base.nix; - kafka = runTest ./kafka.nix; - keeper = runTest ./keeper.nix; - s3 = runTest ./s3.nix; + base = runTest { + imports = [ ./base.nix ]; + _module.args = { + inherit package; + }; + }; + kafka = runTest { + imports = [ ./kafka.nix ]; + _module.args = { + inherit package; + }; + }; + keeper = runTest { + imports = [ ./keeper.nix ]; + _module.args = { + inherit package; + }; + }; + s3 = runTest { + imports = [ ./s3.nix ]; + _module.args = { + inherit package; + }; + }; } diff --git a/nixos/tests/clickhouse/kafka.nix b/nixos/tests/clickhouse/kafka.nix index 29e4f839d07f..94723fa5a968 100644 --- a/nixos/tests/clickhouse/kafka.nix +++ b/nixos/tests/clickhouse/kafka.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, package, ... }: let kafkaNamedCollectionConfig = '' @@ -38,7 +38,10 @@ in }; }; - services.clickhouse.enable = true; + services.clickhouse = { + enable = true; + inherit package; + }; virtualisation.memorySize = 4096; }; diff --git a/nixos/tests/clickhouse/keeper.nix b/nixos/tests/clickhouse/keeper.nix index 40be4c19f2cf..8b99d5844161 100644 --- a/nixos/tests/clickhouse/keeper.nix +++ b/nixos/tests/clickhouse/keeper.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, ... }: +{ + lib, + pkgs, + package, + ... +}: rec { name = "clickhouse-keeper"; meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; @@ -94,7 +99,10 @@ rec { 9444 ]; - services.clickhouse.enable = true; + services.clickhouse = { + enable = true; + inherit package; + }; systemd.services.clickhouse = { after = [ "network-online.target" ]; diff --git a/nixos/tests/clickhouse/s3.nix b/nixos/tests/clickhouse/s3.nix index 2268b6128fe6..cfa8c46f0628 100644 --- a/nixos/tests/clickhouse/s3.nix +++ b/nixos/tests/clickhouse/s3.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, package, ... }: let s3 = { @@ -50,7 +50,10 @@ in }; }; - services.clickhouse.enable = true; + services.clickhouse = { + enable = true; + inherit package; + }; virtualisation.diskSize = 15 * 1024; virtualisation.memorySize = 4 * 1024; }; diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index 2edf80df1895..f15194df4721 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -159,7 +159,7 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { requiredSystemFeatures = [ "big-parallel" ]; passthru = { - tests.clickhouse = nixosTests.clickhouse; + tests.clickhouse = if lts then nixosTests.clickhouse-lts else nixosTests.clickhouse; updateScript = nix-update-script { extraArgs = nixUpdateExtraArgs; From 96ded83be65823b8d443d105f8f093637f730873 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Wed, 9 Jul 2025 20:02:23 +0000 Subject: [PATCH 06/17] nixos/clickhouse: Add thevar1able to test maintainers --- nixos/tests/clickhouse/base.nix | 5 ++++- nixos/tests/clickhouse/kafka.nix | 5 ++++- nixos/tests/clickhouse/keeper.nix | 5 ++++- nixos/tests/clickhouse/s3.nix | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/nixos/tests/clickhouse/base.nix b/nixos/tests/clickhouse/base.nix index c67857a82688..440492fdc987 100644 --- a/nixos/tests/clickhouse/base.nix +++ b/nixos/tests/clickhouse/base.nix @@ -1,7 +1,10 @@ { pkgs, package, ... }: { name = "clickhouse"; - meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + meta.maintainers = with pkgs.lib.maintainers; [ + jpds + thevar1able + ]; nodes.machine = { services.clickhouse = { diff --git a/nixos/tests/clickhouse/kafka.nix b/nixos/tests/clickhouse/kafka.nix index 94723fa5a968..65dbd98be96f 100644 --- a/nixos/tests/clickhouse/kafka.nix +++ b/nixos/tests/clickhouse/kafka.nix @@ -28,7 +28,10 @@ let in { name = "clickhouse-kafka"; - meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + meta.maintainers = with pkgs.lib.maintainers; [ + jpds + thevar1able + ]; nodes = { clickhouse = { diff --git a/nixos/tests/clickhouse/keeper.nix b/nixos/tests/clickhouse/keeper.nix index 8b99d5844161..49e9472e1375 100644 --- a/nixos/tests/clickhouse/keeper.nix +++ b/nixos/tests/clickhouse/keeper.nix @@ -6,7 +6,10 @@ }: rec { name = "clickhouse-keeper"; - meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + meta.maintainers = with pkgs.lib.maintainers; [ + jpds + thevar1able + ]; nodes = let diff --git a/nixos/tests/clickhouse/s3.nix b/nixos/tests/clickhouse/s3.nix index cfa8c46f0628..20e4bf60bf8f 100644 --- a/nixos/tests/clickhouse/s3.nix +++ b/nixos/tests/clickhouse/s3.nix @@ -40,7 +40,10 @@ let in { name = "clickhouse-s3"; - meta.maintainers = with pkgs.lib.maintainers; [ jpds ]; + meta.maintainers = with pkgs.lib.maintainers; [ + jpds + thevar1able + ]; nodes = { clickhouse = { From 13aadd3ce7e45b5a5517afee11d1503b0b0506ea Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 10 Jul 2025 14:51:43 +0000 Subject: [PATCH 07/17] =?UTF-8?q?clickhouse:=2025.5.6.14=20=E2=86=92=2025.?= =?UTF-8?q?6.3.116?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 00a28b3a7226..08cc88d37e8d 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.5.6.14-stable"; - hash = "sha256-gaKozR/QvvyZ3v21XEZLHV2YrhEStKuuAdOjjkd3+uc"; + version = "25.6.3.116-stable"; + hash = "sha256-gWvlVhW9RtSj50+Mzlvk0aTNdl0hS9vHzveocTvuazc="; lts = false; nixUpdateExtraArgs = [ "--version-regex" From 997484a8a1c891e03912abeb035ebe81dbb33ae1 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 10 Jul 2025 14:52:31 +0000 Subject: [PATCH 08/17] clickhouse: Removed unused script substitution --- pkgs/by-name/cl/clickhouse/generic.nix | 99 +++++++++++++------------- 1 file changed, 48 insertions(+), 51 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index f15194df4721..00b435d801c9 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -63,65 +63,62 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - nativeBuildInputs = [ - cmake - ninja - python3 - perl - llvmPackages_19.lld - ] - ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - nasm - yasm - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages_19.bintools - findutils - darwin.bootstrap_cmds - ] - ++ lib.optionals rustSupport [ - rustc - cargo - rustPlatform.cargoSetupHook - ]; + nativeBuildInputs = + [ + cmake + ninja + python3 + perl + llvmPackages_19.lld + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + nasm + yasm + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages_19.bintools + findutils + darwin.bootstrap_cmds + ] + ++ lib.optionals rustSupport [ + rustc + cargo + rustPlatform.cargoSetupHook + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; dontCargoSetupPostUnpack = true; - postPatch = '' - patchShebangs src/ - patchShebangs utils/ + postPatch = + '' + patchShebangs src/ + patchShebangs utils/ - sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt + sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt - substituteInPlace src/Storages/System/StorageSystemLicenses.sh \ - --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" - substituteInPlace utils/check-style/check-ungrouped-includes.sh \ - --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" - substituteInPlace utils/list-licenses/list-licenses.sh \ - --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - sed -i 's|gfind|find|' cmake/tools.cmake - sed -i 's|ggrep|grep|' cmake/tools.cmake + substituteInPlace src/Storages/System/StorageSystemLicenses.sh utils/list-licenses/list-licenses.sh \ + --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace cmake/tools.cmake \ + --replace-fail 'gfind' 'find' \ + --replace-fail 'ggrep' 'grep' \ + --replace-fail '--ld-path=''${LLD_PATH}' '-fuse-ld=lld' + '' + + lib.optionalString rustSupport '' + cargoSetupPostPatchHook() { true; } + ''; - # Make sure Darwin invokes lld.ld64 not lld. - substituteInPlace cmake/tools.cmake \ - --replace '--ld-path=''${LLD_PATH}' '-fuse-ld=lld' - '' - + lib.optionalString rustSupport '' - cargoSetupPostPatchHook() { true; } - ''; - - cmakeFlags = [ - "-DENABLE_TESTS=OFF" - "-DENABLE_DELTA_KERNEL_RS=0" - "-DCOMPILER_CACHE=disabled" - ] - ++ lib.optional ( - stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 - ) "-DNO_ARMV81_OR_HIGHER=1"; + cmakeFlags = + [ + "-DENABLE_TESTS=OFF" + "-DENABLE_DELTA_KERNEL_RS=0" + "-DCOMPILER_CACHE=disabled" + ] + ++ lib.optional ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 + ) "-DNO_ARMV81_OR_HIGHER=1"; env = { CARGO_HOME = "$PWD/../.cargo/"; From 84a44b3c34d20bd26d2a079ca540e77969adfae6 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Fri, 11 Jul 2025 11:44:37 +0000 Subject: [PATCH 09/17] clickhouse: Disable chdig as it breaks the build with a bad checksum error --- pkgs/by-name/cl/clickhouse/generic.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index 00b435d801c9..45b91d2415d4 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -112,6 +112,7 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ + "-DENABLE_CHDIG=OFF" "-DENABLE_TESTS=OFF" "-DENABLE_DELTA_KERNEL_RS=0" "-DCOMPILER_CACHE=disabled" From 4c8e2c3573379c8756325e025aedc65bf0c0e61f Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Mon, 14 Jul 2025 10:19:12 +0000 Subject: [PATCH 10/17] clickhouse: Pull request fixes for substituteInPlace and cross-compilation --- pkgs/by-name/cl/clickhouse/generic.nix | 102 ++++++++++++------------- 1 file changed, 48 insertions(+), 54 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index 45b91d2415d4..5de42b88490c 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -63,63 +63,60 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { }; strictDeps = true; - nativeBuildInputs = - [ - cmake - ninja - python3 - perl - llvmPackages_19.lld - ] - ++ lib.optionals stdenv.hostPlatform.isx86_64 [ - nasm - yasm - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - llvmPackages_19.bintools - findutils - darwin.bootstrap_cmds - ] - ++ lib.optionals rustSupport [ - rustc - cargo - rustPlatform.cargoSetupHook - ]; + nativeBuildInputs = [ + cmake + ninja + python3 + perl + llvmPackages_19.lld + ] + ++ lib.optionals stdenv.hostPlatform.isx86_64 [ + nasm + yasm + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + llvmPackages_19.bintools + findutils + darwin.bootstrap_cmds + ] + ++ lib.optionals rustSupport [ + rustc + cargo + rustPlatform.cargoSetupHook + ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; dontCargoSetupPostUnpack = true; - postPatch = - '' - patchShebangs src/ - patchShebangs utils/ + postPatch = '' + patchShebangs src/ utils/ - sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt + sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt - substituteInPlace src/Storages/System/StorageSystemLicenses.sh utils/list-licenses/list-licenses.sh \ - --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace cmake/tools.cmake \ - --replace-fail 'gfind' 'find' \ - --replace-fail 'ggrep' 'grep' \ - --replace-fail '--ld-path=''${LLD_PATH}' '-fuse-ld=lld' - '' - + lib.optionalString rustSupport '' - cargoSetupPostPatchHook() { true; } - ''; + substituteInPlace src/Storages/System/StorageSystemLicenses.sh utils/list-licenses/list-licenses.sh \ + --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace cmake/tools.cmake \ + --replace-fail 'gfind' 'find' \ + --replace-fail 'ggrep' 'grep' \ + --replace-fail '--ld-path=''${LLD_PATH}' '-fuse-ld=lld' + '' + # Rust is handled by cmake + + lib.optionalString rustSupport '' + cargoSetupPostPatchHook() { true; } + ''; - cmakeFlags = - [ - "-DENABLE_CHDIG=OFF" - "-DENABLE_TESTS=OFF" - "-DENABLE_DELTA_KERNEL_RS=0" - "-DCOMPILER_CACHE=disabled" - ] - ++ lib.optional ( - stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 - ) "-DNO_ARMV81_OR_HIGHER=1"; + cmakeFlags = [ + "-DENABLE_CHDIG=OFF" + "-DENABLE_TESTS=OFF" + "-DENABLE_DELTA_KERNEL_RS=0" + "-DCOMPILER_CACHE=disabled" + ] + ++ lib.optional ( + stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64 + ) "-DNO_ARMV81_OR_HIGHER=1"; env = { CARGO_HOME = "$PWD/../.cargo/"; @@ -137,19 +134,16 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { hardeningDisable = [ "fortify" ]; postInstall = '' - rm -rf $out/share/clickhouse-test - sed -i -e '\!/var/log/clickhouse-server/clickhouse-server\.log!d' \ $out/etc/clickhouse-server/config.xml substituteInPlace $out/etc/clickhouse-server/config.xml \ - --replace-fail "/var/log/clickhouse-server/clickhouse-server.err.log" "1" - substituteInPlace $out/etc/clickhouse-server/config.xml \ + --replace-fail "/var/log/clickhouse-server/clickhouse-server.err.log" "1" \ --replace-fail "trace" "warning" ''; # Basic smoke test doCheck = true; - checkPhase = '' + checkPhase = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' $NIX_BUILD_TOP/$sourceRoot/build/programs/clickhouse local --query 'SELECT 1' | grep 1 ''; From 33c631772a62392acc01a54603aca1e03cc6452d Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 15 Jul 2025 07:23:01 +0000 Subject: [PATCH 11/17] =?UTF-8?q?clickhouse:=20lts:=2025.3.5.42=20?= =?UTF-8?q?=E2=86=92=2025.3.6.56?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/lts.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/lts.nix b/pkgs/by-name/cl/clickhouse/lts.nix index 01dd749858e0..58a48489078f 100644 --- a/pkgs/by-name/cl/clickhouse/lts.nix +++ b/pkgs/by-name/cl/clickhouse/lts.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.3.5.42-lts"; - hash = "sha256-LvGl9XJK6Emt7HnV/Orp7qEmJSr3TBJZtApL6GrWIMg="; + version = "25.3.6.56-lts"; + hash = "sha256-wpC6uw811IWImLWAatYbghp3aZ+esEEBFng6AHIesK4="; lts = true; nixUpdateExtraArgs = [ "--version-regex" From 80c5f51ec3f862ae5125fe0526f1ce86870df487 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 15 Jul 2025 21:53:47 +0000 Subject: [PATCH 12/17] =?UTF-8?q?clickhouse:=2025.6.3.116=20=E2=86=92=2025?= =?UTF-8?q?.6.4.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 08cc88d37e8d..39c31ea820df 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.6.3.116-stable"; - hash = "sha256-gWvlVhW9RtSj50+Mzlvk0aTNdl0hS9vHzveocTvuazc="; + version = "25.6.4.12-stable"; + hash = "sha256-37huf+eOMOUJg7pyoFPzCTlUilI3wnq8D6tcrhC0NUE="; lts = false; nixUpdateExtraArgs = [ "--version-regex" From 7faff6ae6955f77eab9439369597a6dab428b245 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 24 Jul 2025 20:26:54 +0000 Subject: [PATCH 13/17] =?UTF-8?q?clickhouse:=2025.6.4.12=20=E2=86=92=2025.?= =?UTF-8?q?6.5.41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 39c31ea820df..4521e80244a6 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.6.4.12-stable"; - hash = "sha256-37huf+eOMOUJg7pyoFPzCTlUilI3wnq8D6tcrhC0NUE="; + version = "25.6.5.41-stable"; + hash = "sha256-NIt5JCKXSnJRSjCZskMvRhN8qwCB0aKinOCKXqq5DF0="; lts = false; nixUpdateExtraArgs = [ "--version-regex" From 02419e28958f2b3ddbaaff34a946c4c28ce24c41 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Sat, 2 Aug 2025 13:06:25 +0000 Subject: [PATCH 14/17] clickhouse: Only patch StorageSystemLicenses.sh in <= 25.6 --- pkgs/by-name/cl/clickhouse/generic.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/cl/clickhouse/generic.nix b/pkgs/by-name/cl/clickhouse/generic.nix index 5de42b88490c..6ced512b876f 100644 --- a/pkgs/by-name/cl/clickhouse/generic.nix +++ b/pkgs/by-name/cl/clickhouse/generic.nix @@ -94,9 +94,13 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt - substituteInPlace src/Storages/System/StorageSystemLicenses.sh utils/list-licenses/list-licenses.sh \ + substituteInPlace utils/list-licenses/list-licenses.sh \ --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" '' + + lib.optionalString (lib.versions.majorMinor version <= "25.6") '' + substituteInPlace src/Storages/System/StorageSystemLicenses.sh \ + --replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot" + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace cmake/tools.cmake \ --replace-fail 'gfind' 'find' \ From c7ffcf16609318fc7474bd78e84869c55f0e46f7 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Sat, 2 Aug 2025 13:07:07 +0000 Subject: [PATCH 15/17] =?UTF-8?q?clickhouse:=2025.6.5.41=20=E2=86=92=2025.?= =?UTF-8?q?7.1.3997?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 4521e80244a6..4435b1a7017b 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.6.5.41-stable"; - hash = "sha256-NIt5JCKXSnJRSjCZskMvRhN8qwCB0aKinOCKXqq5DF0="; + version = "25.7.1.3997-stable"; + hash = "sha256-XEVAQrANEIXim1MlOAYEmfwyomGrvsS/mbSKggMkr1k="; lts = false; nixUpdateExtraArgs = [ "--version-regex" From 61b49819662d057baf7d0460e1d1cca6b323dc4c Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 7 Aug 2025 12:36:46 +0000 Subject: [PATCH 16/17] =?UTF-8?q?clickhouse:=2025.7.1.3997=20=E2=86=92=202?= =?UTF-8?q?5.7.2.54?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 4435b1a7017b..10fca444e116 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.7.1.3997-stable"; - hash = "sha256-XEVAQrANEIXim1MlOAYEmfwyomGrvsS/mbSKggMkr1k="; + version = "25.7.2.54-stable"; + hash = "sha256-WwrElYPSgcQGGpJ0gUqVrynLQx/kQHHmrTsckiRFm4w="; lts = false; nixUpdateExtraArgs = [ "--version-regex" From baa5c7f91450b2a6e77ad78527859857fa8f1d5a Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 14 Aug 2025 15:16:01 +0000 Subject: [PATCH 17/17] =?UTF-8?q?clickhouse:=2025.7.2.54=20=E2=86=92=2025.?= =?UTF-8?q?7.4.11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index 10fca444e116..ce7af6b9e7fc 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -1,6 +1,6 @@ import ./generic.nix { - version = "25.7.2.54-stable"; - hash = "sha256-WwrElYPSgcQGGpJ0gUqVrynLQx/kQHHmrTsckiRFm4w="; + version = "25.7.4.11-stable"; + hash = "sha256-SKDnnBdl9Rwc+ONH1chXAOFIwRmVG2l5cPEwpaDogzU="; lts = false; nixUpdateExtraArgs = [ "--version-regex"