1{ lib
2, rustPlatform
3, fetchFromGitHub
4, substituteAll
5, rust
6, stdenv
7}:
8
9rustPlatform.buildRustPackage rec {
10 pname = "cargo-benchcmp";
11 version = "0.4.4";
12
13 src = fetchFromGitHub {
14 owner = "BurntSushi";
15 repo = "cargo-benchcmp";
16 rev = version;
17 hash = "sha256-pg3/VUC1DQ7GbSQDfVZ0WNisXvzXy0O0pr2ik2ar2h0=";
18 };
19
20 cargoHash = "sha256-vxy9Ym3Twx034I1E5fWNnbP1ttfLolMbO1IgRiPfhRw=";
21
22 patches = [
23 # patch the binary path so tests can find the binary when `--target` is present
24 (substituteAll {
25 src = ./fix-test-binary-path.patch;
26 shortTarget = rust.toRustTarget stdenv.hostPlatform;
27 })
28 ];
29
30 checkFlags = [
31 # thread 'different_input_colored' panicked at 'assertion failed: `(left == right)`
32 "--skip=different_input_colored"
33 ];
34
35 meta = with lib; {
36 description = "A small utility to compare Rust micro-benchmarks";
37 homepage = "https://github.com/BurntSushi/cargo-benchcmp";
38 license = with licenses; [ mit unlicense ];
39 maintainers = with maintainers; [ figsoda ];
40 };
41}