Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / carton / default.nix
blob7ba02d68ff5f4a0ac461d7f2084282475a290e74
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 }:
9 buildDunePackage rec {
10   pname = "carton";
11   version = "0.7.0";
13   minimalOCamlVersion = "4.08";
15   src = fetchurl {
16     url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/git-${pname}-v${version}.tbz";
17     hash = "sha256-vWkBJdP4ZpRCEwzrFMzsdHay4VyiXix/+1qzk+7yDvk=";
18   };
20   patches = [
21     (substituteAll {
22       src = ./carton-find-getconf.patch;
23       getconf = "${getconf}";
24     })
25   ];
27   # remove changelogs for mimic and the git* packages
28   postPatch = ''
29     rm CHANGES.md
30   '';
32   buildInputs = [
33     cmdliner
34     digestif
35     result
36     rresult
37     fpath
38     bos
39     hxd
40   ];
41   propagatedBuildInputs = [
42     ke
43     duff
44     decompress
45     cstruct
46     optint
47     bigstringaf
48     checkseum
49     logs
50     psq
51     fmt
52   ];
54   doCheck = true;
55   nativeBuildInputs = [
56     findlib
57   ];
58   checkInputs = [
59     base64
60     alcotest
61     alcotest-lwt
62     crowbar
63     lwt
64     mirage-flow
65   ];
67   meta = with lib; {
68     description = "Implementation of PACKv2 file in OCaml";
69     license = licenses.mit;
70     homepage = "https://github.com/mirage/ocaml-git";
71     maintainers = [ maintainers.sternenseemann ];
72   };