diff --git a/autodeps/deps.nix b/autodeps/deps.nix index 29b665b..6eafe89 100644 --- a/autodeps/deps.nix +++ b/autodeps/deps.nix @@ -22,4 +22,5 @@ "atk-sys" = {build = ["at-spi2-atk"];}; "pango-sys" = {build = ["pango"];}; "gdk-sys" = {build = ["gtk3"];}; + "gungraun" = {native = ["gungraun-runner" "valgrind"];}; } diff --git a/autotools.nix b/autotools.nix index 4b1aad6..a1d75ef 100644 --- a/autotools.nix +++ b/autotools.nix @@ -4,4 +4,5 @@ "esp-hal" = ["espflash" "cargo-espmonitor"]; "wasm-bindgen" = ["wasm-pack" "wasm-bindgen-cli"]; "iai-callgrind" = ["iai-callgrind-runner" "valgrind"]; + "gungraun" = ["gungraun-runner" "valgrind"]; } diff --git a/flake.nix b/flake.nix index 01abb48..d4dc26e 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,7 @@ }; packages = { iai-callgrind-runner = pkgs: pkgs.iai-callgrind-runner; + gungraun-runner = pkgs: pkgs.gungraun-runner; }; }; } diff --git a/overlay.nix b/overlay.nix index d6d7afe..9d33927 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,3 +1,4 @@ prev: final: { iai-callgrind-runner = final.callPackage ./pkgs/iai-callgrind-runner {}; + gungraun-runner = final.callPackage ./pkgs/gungraun-runner {}; } diff --git a/pkgs/gungraun-runner/default.nix b/pkgs/gungraun-runner/default.nix new file mode 100644 index 0000000..a00f808 --- /dev/null +++ b/pkgs/gungraun-runner/default.nix @@ -0,0 +1,29 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "gungraun-runner"; + version = "0.19.4"; + + src = fetchFromGitHub { + owner = "gungraun"; + repo = "gungraun"; + rev = "v${finalAttrs.version}"; + hash = "sha256-KWQ4wMNIdKY9FTmPd9ZdlSuCpQQBFhIKD2Ereo3JQaI="; + }; + + cargoHash = "sha256-+3toaUDLCmExC3EvNv1GEdUbHSBeShurp2Y+zvE/t0k="; + + buildAndTestSubdir = "gungraun-runner"; + + doCheck = false; + + meta = with lib; { + description = "High-precision and consistent benchmarking framework/harness for Rust"; + homepage = "https://github.com/gungraun/gungraun"; + license = licenses.mit; + mainProgram = "gungraun-runner"; + }; +})