nixpkgs/pkgs/by-name/ti/tigerbeetle/package.nix
2024-01-31 16:08:28 +00:00

51 lines
1.6 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, zig_0_11
, testers
, tigerbeetle
, nix-update-script
}:
let
# 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.
custom_zig_hook = zig_0_11.hook.overrideAttrs (previousAttrs: {
zig_default_flags = builtins.filter (flag: builtins.match "-Doptimize.*" flag == null) previousAttrs.zig_default_flags;
});
in
stdenv.mkDerivation (finalAttrs: {
pname = "tigerbeetle";
version = "0.14.177";
src = fetchFromGitHub {
owner = "tigerbeetle";
repo = "tigerbeetle";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-oMsDHz/yOWtS1XhJcXR74pA3YvPzANUdRAy7tjNO5lc=";
};
nativeBuildInputs = [ custom_zig_hook ];
zigBuildFlags = [
"-Drelease"
"-Dgit-commit=0000000000000000000000000000000000000000"
"-Dversion=${finalAttrs.version}"
];
passthru = {
tests.version = testers.testVersion {
package = tigerbeetle;
command = "tigerbeetle version";
};
updateScript = nix-update-script { };
};
meta = {
homepage = "https://tigerbeetle.com/";
description = "A financial accounting database designed to be distributed and fast";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ danielsidhion ];
platforms = lib.platforms.linux;
mainProgram = "tigerbeetle";
};
})