2025-02-07 08:54:55 +00:00

64 lines
1.5 KiB
Nix

{
lib,
stdenvNoCC,
fetchzip,
testers,
tigerbeetle,
nix-update-script,
}:
let
platform =
if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
hash = builtins.getAttr platform {
"universal-macos" = "sha256-Rrm/vTOT8y9e7wFsM+J3SwHoyd2t9VMUVcUFfjBssjU=";
"x86_64-linux" = "sha256-fgs4YiK7egvKmLev2e7dTu1zdz6O61+HzOmyt5ke8cE=";
"aarch64-linux" = "sha256-J2JFV4TFGX1XDQ+7AAJ8dREmPoNcErzpcUFkhWk/YVs=";
};
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tigerbeetle";
version = "0.16.26";
src = fetchzip {
url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
inherit hash;
};
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp $src/tigerbeetle $out/bin/tigerbeetle
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = tigerbeetle;
command = "tigerbeetle version";
};
updateScript = ./update.sh;
};
meta = {
homepage = "https://tigerbeetle.com/";
description = "Financial accounting database designed to be distributed and fast";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
danielsidhion
nwjsmith
];
platforms = [
"x86_64-linux"
"aarch64-linux"
] ++ lib.platforms.darwin;
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
mainProgram = "tigerbeetle";
};
})