python312Packages.mandown: 1.10.0 -> 1.10.1 (#370595)
[NixPkgs.git] / pkgs / development / ocaml-modules / reperf / default.nix
blob829c1653840e5fc239f2886cd9eda5617c10c520
2   buildDunePackage,
3   fetchFromGitHub,
4   lib,
5   printbox-text,
6   reason,
7 }:
9 buildDunePackage rec {
10   pname = "reperf";
11   version = "1.5.1";
13   src = fetchFromGitHub {
14     owner = "bryphe";
15     repo = "reperf";
16     rev = "68ef2f96899c09e6ac7d929b0375f7a806aee067";
17     sha256 = "sha256-ASujTsH4eDAYLNalB9Xt1p3C8x+FI0kMldZBYaXMCWc=";
18   };
20   postPatch = ''
21     substituteInPlace src/dune --replace "printbox" "printbox-text"
22   '';
24   nativeBuildInputs = [ reason ];
26   propagatedBuildInputs = [
27     printbox-text
28   ];
30   meta = with lib; {
31     description = "Native Reason + JSOO cross-platform performance benchmarking tools";
32     longDescription = ''
33       Inspired by the core_bench tools from Janestreet.
35       reperf helps with:
36       * Timing: time spent in a code block
37       * Call count: frequency of code-path calls
38       * Allocations: code-block impact to garbage collector
40       Supports benchmarks, which are test cases that exercise performance scenarios.
41       Outputs a JSON performance report, and compare it with previous iterations - and fail if a regression is detected.
42     '';
43     homepage = "https://github.com/bryphe/reperf";
44     maintainers = [ ];
45     license = licenses.mit;
46   };