1{ fetchCrate, lib, rustPlatform }:
2
3rustPlatform.buildRustPackage rec {
4 pname = "inferno";
5 version = "0.10.7";
6
7 # github version doesn't have a Cargo.lock
8 src = fetchCrate {
9 inherit pname version;
10 sha256 = "0bzrwa87j56sv03frl0lp6izfxsldn0692g2vpwfndhrsm0gy8z9";
11 };
12
13 cargoSha256 = "1dvk1y1afqlmmqqdm91lg2wvny5q47yfjvmjzaryk2ic1s6g17b1";
14
15 # these tests depend on a patched version of flamegraph which is included in
16 # the github repository as a submodule, but absent from the crates version
17 checkFlags = [
18 "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace"
19 "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace_simple"
20 "--skip=collapse::perf::tests::test_collapse_multi_perf"
21 "--skip=collapse::perf::tests::test_collapse_multi_perf_simple"
22 ];
23
24 meta = with lib; {
25 description = "A port of parts of the flamegraph toolkit to Rust";
26 homepage = "https://github.com/jonhoo/inferno";
27 changelog = "https://github.com/jonhoo/inferno/blob/v${version}/CHANGELOG.md";
28 license = licenses.cddl;
29 maintainers = with maintainers; [ figsoda ];
30 };
31}