diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix index 629842669388..db112aad6038 100644 --- a/pkgs/servers/clickhouse/default.nix +++ b/pkgs/servers/clickhouse/default.nix @@ -11,6 +11,7 @@ , nixosTests , darwin , findutils +, libiconv , rustSupport ? true @@ -28,15 +29,15 @@ let else llvmPackages.stdenv).mkDerivation; in mkDerivation rec { pname = "clickhouse"; - version = "23.11.1.2711"; + version = "24.3.2.23"; src = fetchFromGitHub rec { owner = "ClickHouse"; repo = "ClickHouse"; - rev = "v${version}-stable"; + rev = "v${version}-lts"; fetchSubmodules = true; name = "clickhouse-${rev}.tar.gz"; - hash = "sha256-xRg9NzUkjTbR2Lp6DgDzcUp2Hrc4sfgkot7KxPw2Uy8="; + hash = "sha256-2OdlePEFJu4k2ysSPqa3kwsPgVRIlaU1B80LmU5w0yQ="; postFetch = '' # delete files that make the source too big rm -rf $out/contrib/llvm-project/llvm/test @@ -95,6 +96,8 @@ in mkDerivation rec { rustPlatform.cargoSetupHook ]; + buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; + # their vendored version is too old and missing this patch: https://github.com/corrosion-rs/corrosion/pull/205 corrosionSrc = if rustSupport then fetchFromGitHub { owner = "corrosion-rs"; @@ -112,7 +115,7 @@ in mkDerivation rec { inherit src; name = "rust-deps"; preBuild = "cd rust"; - hash = "sha256-fWDAGm19b7uZv8aBdBoieY5c6POd8IxFXbGdtONpZbw="; + hash = "sha256-rbEfCRB2QAZ2WBgSLYYUqeYtI4Y5d9oQ2G8/mPirIp4="; } else null; dontCargoSetupPostUnpack = true; @@ -177,10 +180,13 @@ in mkDerivation rec { "-DENABLE_EMBEDDED_COMPILER=ON" ]; - env = lib.optionalAttrs stdenv.isDarwin { - # Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and - # ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp. - NIX_CFLAGS_COMPILE = "-Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration"; + env = { + NIX_CFLAGS_COMPILE = + # undefined reference to '__sync_val_compare_and_swap_16' + lib.optionalString stdenv.isx86_64 " -mcx16" + + # Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and + # ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp. + lib.optionalString stdenv.isDarwin " -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration"; }; # https://github.com/ClickHouse/ClickHouse/issues/49988 @@ -206,7 +212,7 @@ in mkDerivation rec { homepage = "https://clickhouse.com"; description = "Column-oriented database management system"; license = licenses.asl20; - maintainers = with maintainers; [ orivej ]; + maintainers = with maintainers; [ orivej mbalatsko ]; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685 platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin);