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