Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / ocaml-modules / git / default.nix
blob5e1a0461abb13143c0a2bfb36e73ce35d4e22665
1 { stdenv, lib, fetchurl, buildDunePackage
2 , alcotest, mirage-crypto-rng, git-binary
3 , angstrom, astring, cstruct, decompress, digestif, encore, fmt, checkseum
4 , fpath, ke, logs, lwt, ocamlgraph, uri, rresult, base64, hxd
5 , result, bigstringaf, optint, mirage-flow, domain-name, emile
6 , mimic, carton, carton-lwt, carton-git, ipaddr, psq, crowbar, alcotest-lwt, cmdliner
7 }:
9 buildDunePackage rec {
10   pname = "git";
11   version = "3.13.0";
13   minimalOCamlVersion = "4.08";
14   duneVersion = "3";
16   src = fetchurl {
17     url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
18     hash = "sha256-98w2Amze/B+YN/ENfSb0V8I2yyFUf8rSEOcUg1YbVdM=";
19   };
21   # remove changelog for the carton package
22   postPatch = ''
23     rm CHANGES.carton.md
24   '';
26   buildInputs = [
27     base64
28   ];
29   propagatedBuildInputs = [
30     angstrom astring checkseum cstruct decompress digestif encore fmt fpath
31     ke logs lwt ocamlgraph uri rresult result bigstringaf optint mirage-flow
32     domain-name emile mimic carton carton-lwt carton-git ipaddr psq hxd
33   ];
34   nativeCheckInputs = [
35     git-binary
36   ];
37   checkInputs = [
38     alcotest alcotest-lwt mirage-crypto-rng crowbar cmdliner
39   ];
40   doCheck = !stdenv.isAarch64;
42   meta = {
43     description = "Git format and protocol in pure OCaml";
44     license = lib.licenses.isc;
45     maintainers = with lib.maintainers; [ sternenseemann vbgl ];
46     homepage = "https://github.com/mirage/ocaml-git";
47   };