Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / ti / tigerbeetle / package.nix
blob0d5bfea5f77bb97cb096f64c42c17a51da16b001
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , zig_0_11
5 , testers
6 , tigerbeetle
7 , nix-update-script
8 }:
9 let
10   # Read [these comments](pkgs/development/compilers/zig/hook.nix#L12-L30) on the default Zig flags, and the associated links. tigerbeetle stopped exposing the `-Doptimize` build flag, so we can't use the default Nixpkgs zig hook as-is. tigerbeetle only exposes a boolean `-Drelease` flag which we'll add in the tigerbeetle derivation in this file.
11   custom_zig_hook = zig_0_11.hook.overrideAttrs (previousAttrs: {
12     zig_default_flags = builtins.filter (flag: builtins.match "-Doptimize.*" flag == null) previousAttrs.zig_default_flags;
13   });
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "tigerbeetle";
17   version = "0.15.3";
19   src = fetchFromGitHub {
20     owner = "tigerbeetle";
21     repo = "tigerbeetle";
22     rev = "refs/tags/${finalAttrs.version}";
23     hash = "sha256-3+uCMoOnyvI//ltEaqTIXytUxxgJrfMnFly11WCh66Q=";
24   };
26   env.TIGERBEETLE_RELEASE = finalAttrs.version;
28   nativeBuildInputs = [ custom_zig_hook ];
30   zigBuildFlags = [
31     "-Drelease"
32     "-Dgit-commit=0000000000000000000000000000000000000000"
33   ];
35   passthru = {
36     tests.version = testers.testVersion {
37       package = tigerbeetle;
38       command = "tigerbeetle version";
39     };
40     updateScript = nix-update-script { };
41   };
43   meta = {
44     homepage = "https://tigerbeetle.com/";
45     description = "Financial accounting database designed to be distributed and fast";
46     license = lib.licenses.asl20;
47     maintainers = with lib.maintainers; [ danielsidhion ];
48     platforms = lib.platforms.linux;
49     mainProgram = "tigerbeetle";
50   };