Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, buildDunePackage, fetchurl
2, ke, duff, decompress, cstruct, optint, bigstringaf
3, checkseum, logs, psq, fmt
4, result, rresult, fpath, base64, bos, digestif, alcotest
5, crowbar, alcotest-lwt, lwt, findlib, mirage-flow, cmdliner, hxd
6, getconf, substituteAll
7}:
8
9buildDunePackage rec {
10 pname = "carton";
11 version = "0.6.0";
12
13 minimalOCamlVersion = "4.08";
14 duneVersion = "3";
15
16 src = fetchurl {
17 url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/git-${pname}-v${version}.tbz";
18 hash = "sha256-NAm4Xq7L0Dgynr8cKZQ356M4GR6D19LbCRxvnSlIf1U=";
19 };
20
21 patches = [
22 (substituteAll {
23 src = ./carton-find-getconf.patch;
24 getconf = "${getconf}";
25 })
26 ];
27
28 # remove changelogs for mimic and the git* packages
29 postPatch = ''
30 rm CHANGES.md
31 '';
32
33 buildInputs = [
34 cmdliner
35 digestif
36 result
37 rresult
38 fpath
39 bos
40 hxd
41 ];
42 propagatedBuildInputs = [
43 ke
44 duff
45 decompress
46 cstruct
47 optint
48 bigstringaf
49 checkseum
50 logs
51 psq
52 fmt
53 ];
54
55 doCheck = true;
56 nativeBuildInputs = [
57 findlib
58 ];
59 checkInputs = [
60 base64
61 alcotest
62 alcotest-lwt
63 crowbar
64 lwt
65 mirage-flow
66 ];
67
68 meta = with lib; {
69 description = "Implementation of PACKv2 file in OCaml";
70 license = licenses.mit;
71 homepage = "https://github.com/mirage/ocaml-git";
72 maintainers = [ maintainers.sternenseemann ];
73 };
74}