nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildDunePackage,
4 fetchFromGitHub,
5 fetchpatch,
6 ppx_assert ? null,
7 ppx_bench ? null,
8 ppx_bin_prot ? null,
9 ppx_compare ? null,
10 ppx_enumerate ? null,
11 ppx_expect,
12 ppx_hash,
13 ppx_here,
14 ppx_optcomp,
15 ppx_sexp_conv,
16 ppx_sexp_value ? null,
17}:
18
19buildDunePackage rec {
20 pname = "ppx_bap";
21 version = "0.14";
22
23 minimalOCamlVersion = "4.07";
24
25 src = fetchFromGitHub {
26 owner = "BinaryAnalysisPlatform";
27 repo = pname;
28 rev = "v${version}";
29 sha256 = "1c6rcdp8bicdiwqc2mb59cl9l2vxlp3y8hmnr9x924fq7acly248";
30 };
31
32 # Support ppx_expect
33 patches = fetchpatch {
34 url = "https://github.com/BinaryAnalysisPlatform/ppx_bap/commit/7f197648978758fbcbf553da50d7a9248d34f7e4.patch";
35 hash = "sha256-oOdcA06mb0W5jDhF4nutEijy6yu/6kMjKOUcNxUSk6k=";
36 };
37
38 buildInputs = [
39 ppx_optcomp
40 ppx_sexp_value
41 ];
42
43 propagatedBuildInputs = [
44 ppx_assert
45 ppx_bench
46 ppx_bin_prot
47 ppx_compare
48 ppx_enumerate
49 ppx_expect
50 ppx_hash
51 ppx_here
52 ppx_sexp_conv
53 ];
54
55 meta = {
56 description = "Set of ppx rewriters for BAP";
57 inherit (src.meta) homepage;
58 license = lib.licenses.mit;
59 maintainers = [ lib.maintainers.vbgl ];
60 mainProgram = "ppx-bap";
61 };
62}