nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 fetchpatch,
5 buildDunePackage,
6 cmdliner,
7 ppxlib,
8}:
9
10buildDunePackage (finalAttrs: {
11 pname = "bisect_ppx";
12 version = "2.8.3";
13
14 src = fetchFromGitHub {
15 owner = "aantron";
16 repo = "bisect_ppx";
17 rev = finalAttrs.version;
18 hash = "sha256-3qXobZLPivFDtls/3WNqDuAgWgO+tslJV47kjQPoi6o=";
19 };
20
21 # Ensure compatibility with ppxlib 0.36
22 patches = lib.optionals (lib.versionAtLeast ppxlib.version "0.36") [
23 (fetchpatch {
24 url = "https://github.com/aantron/bisect_ppx/commit/f35fdf4bdcb82c308d70f7c9c313a77777f54bdf.patch";
25 hash = "sha256-hQMDU6zrHDV9JszGAj2p4bd9zlqqjc1TLU+cfMEgz9c=";
26 })
27 (fetchpatch {
28 url = "https://github.com/aantron/bisect_ppx/commit/07bfceec652773de4b140cebc236a15e2429809e.patch";
29 hash = "sha256-9gDIndPIZMkIkd847qd2QstsZJInBPuWXAUIzZMkHcw=";
30 })
31 (fetchpatch {
32 url = "https://github.com/aantron/bisect_ppx/commit/4f0cb2a2e1b0b786b6b5f1c94985b201aa012f12.patch";
33 hash = "sha256-20nr7ApKPnnol0VEOirwXdJX+AiFRzBzAq4YzCWn7W0=";
34 })
35 ];
36
37 minimalOCamlVersion = "4.11";
38
39 buildInputs = [
40 cmdliner
41 ppxlib
42 ];
43
44 meta = {
45 description = "Bisect_ppx is a code coverage tool for OCaml and Reason. It helps you test thoroughly by showing what's not tested";
46 homepage = "https://github.com/aantron/bisect_ppx";
47 license = lib.licenses.mit;
48 maintainers = with lib.maintainers; [ momeemt ];
49 mainProgram = "bisect-ppx-report";
50 };
51})