{ 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-glxTuuSfRkkBZE3OMflv2FM1yqamJXpRz3DnMt8baRU="; "x86_64-linux" = "sha256-xirnZUQxhvaJ0OpDF57rZ3Di7q0JfH3TXlAe2Ej9bwU="; "aarch64-linux" = "sha256-0lOpYlSOaX9CfQO9CdJ7xIanhf8G3KoUuGNbbPXmmow="; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "tigerbeetle"; version = "0.16.14"; 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"; }; })