1{
2 lib,
3 rdkafka,
4 pkg-config,
5 fetchFromGitHub,
6 rustPlatform,
7 fetchzip,
8 versionCheckHook,
9 nix-update-script,
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "parseable";
14 version = "2.3.5";
15
16 src = fetchFromGitHub {
17 owner = "parseablehq";
18 repo = "parseable";
19 tag = "v${version}";
20 hash = "sha256-3kSbhTMnAPA86obH7F8nig8xIvlFpBanWuzgNVU1xFU=";
21 };
22
23 LOCAL_ASSETS_PATH = fetchzip {
24 url = "https://github.com/parseablehq/console/releases/download/v0.9.15/build.zip";
25 hash = "sha256-T37pI7adfKPDkCETcGcZVzcYVcxROSZLDrFhV4XO4tc=";
26 };
27
28 cargoHash = "sha256-oXcOozjFKN10+693Eofg8vS2XryDEezAKkAhbGGNZ0A=";
29
30 nativeBuildInputs = [ pkg-config ];
31
32 buildInputs = [ rdkafka ];
33
34 buildFeatures = [ "rdkafka/dynamic-linking" ];
35
36 nativeInstallCheckInputs = [ versionCheckHook ];
37 versionCheckProgramArg = "--version";
38 doInstallCheck = true;
39
40 passthru.updateScript = nix-update-script { };
41
42 meta = {
43 description = "Disk less, cloud native database for logs, observability, security, and compliance";
44 homepage = "https://www.parseable.com";
45 changelog = "https://github.com/parseablehq/parseable/releases/tag/v${version}";
46 license = lib.licenses.agpl3Only;
47 maintainers = with lib.maintainers; [ ilyakooo0 ];
48 mainProgram = "parseable";
49 };
50}