insync: 3.9.3.60019 -> 3.9.4.60020 (#363380)
[NixPkgs.git] / pkgs / development / ocaml-modules / mldoc / default.nix
blob20398177d13532a6ca0b6b251060680fc31d4564
2   lib,
3   buildDunePackage,
4   fetchFromGitHub,
5   fetchpatch,
6   angstrom,
7   cmdliner,
8   core,
9   core_bench,
10   core_unix ? null,
11   js_of_ocaml,
12   js_of_ocaml-ppx,
13   ppx_deriving_yojson,
14   uri,
15   yojson,
16   lwt,
17   xmlm,
19 let
20   angstrom' = angstrom.overrideAttrs (attrs: {
21     patches = attrs.patches or [ ] ++ [
22       # mldoc requires Angstrom to expose `unsafe_lookahead`
23       (fetchpatch {
24         url = "https://github.com/logseq/angstrom/commit/bbe36c99c13678937d4c983a427e02a733d6cc24.patch";
25         sha256 = "sha256-RapY1QJ8U0HOqJ9TFDnCYB4tFLFuThESzdBZqjYuDUA=";
26       })
27     ];
28   });
29   uri' = uri.override { angstrom = angstrom'; };
31 buildDunePackage rec {
32   pname = "mldoc";
33   version = "1.5.8";
35   minimalOCamlVersion = "4.10";
37   duneVersion = "3";
39   src = fetchFromGitHub {
40     owner = "logseq";
41     repo = "mldoc";
42     rev = "v${version}";
43     hash = "sha256-7uuNUFMSQEgakTKfpYixp43gnfpQSW++snBzgr0Ni0Y=";
44   };
46   buildInputs = [
47     cmdliner
48     core
49     core_bench
50     core_unix
51     js_of_ocaml
52     js_of_ocaml-ppx
53     lwt
54   ];
56   propagatedBuildInputs = [
57     angstrom'
58     uri'
59     yojson
60     ppx_deriving_yojson
61     xmlm
62   ];
64   meta = with lib; {
65     homepage = "https://github.com/logseq/mldoc";
66     description = "Another Emacs Org-mode and Markdown parser";
67     license = licenses.agpl3Only;
68     maintainers = [ ];
69   };