1{
2 lib,
3 fetchFromGitHub,
4 buildDunePackage,
5 ocaml-crunch,
6 angstrom,
7 async,
8 cohttp,
9 cohttp_static_handler ? null,
10 core,
11 core_unix ? null,
12 fzf,
13 owee,
14 ppx_jane,
15 re,
16 shell ? null,
17}:
18
19buildDunePackage rec {
20 pname = "magic-trace";
21 version = "1.2.3";
22
23 minimalOCamlVersion = "4.12";
24
25 src = fetchFromGitHub {
26 owner = "janestreet";
27 repo = "magic-trace";
28 rev = "v${version}";
29 hash = "sha256-cAoaAXZOeWNQh6emm17a9oCis8s4jJxPQMI/NfiUa7g=";
30 };
31
32 nativeBuildInputs = [
33 ocaml-crunch
34 ];
35 buildInputs = [
36 angstrom
37 async
38 cohttp
39 cohttp_static_handler
40 core
41 core_unix
42 fzf
43 owee
44 ppx_jane
45 re
46 shell
47 ];
48
49 meta = with lib; {
50 description = "Collects and displays high-resolution traces of what a process is doing";
51 license = licenses.mit;
52 maintainers = [ maintainers.alizter ];
53 homepage = "https://github.com/janestreet/magic-trace";
54 };
55}