diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/mldoc/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/mldoc/default.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/mldoc/default.nix b/pkgs/development/ocaml-modules/mldoc/default.nix new file mode 100644 index 0000000000000..2d184e68a0e7a --- /dev/null +++ b/pkgs/development/ocaml-modules/mldoc/default.nix @@ -0,0 +1,65 @@ +{ lib +, buildDunePackage +, fetchFromGitHub +, fetchpatch +, angstrom +, cmdliner +, core +, core_bench +, js_of_ocaml +, js_of_ocaml-ppx +, ppx_deriving_yojson +, uri +, yojson +, lwt +, xmlm +}: +let + angstrom' = angstrom.overrideAttrs (attrs: { + patches = attrs.patches or [ ] ++ [ + # mldoc requires Angstrom to expose `unsafe_lookahead` + (fetchpatch { + url = "https://github.com/logseq/angstrom/commit/bbe36c99c13678937d4c983a427e02a733d6cc24.patch"; + sha256 = "sha256-RapY1QJ8U0HOqJ9TFDnCYB4tFLFuThESzdBZqjYuDUA="; + }) + ]; + }); + uri' = uri.override { angstrom = angstrom'; }; +in +buildDunePackage rec { + pname = "mldoc"; + version = "1.3.9"; + + minimalOCamlVersion = "4.10"; + + src = fetchFromGitHub { + owner = "logseq"; + repo = "mldoc"; + rev = "v${version}"; + sha256 = "sha256-C5SeG10EoZixCWeBxw7U+isAR8UWd1jzHLdmbp//gAs="; + }; + + buildInputs = [ + cmdliner + core + core_bench + js_of_ocaml + js_of_ocaml-ppx + lwt + ]; + + propagatedBuildInputs = [ + angstrom' + uri' + yojson + ppx_deriving_yojson + xmlm + ]; + + meta = with lib; { + homepage = "https://github.com/logseq/mldoc"; + description = "Another Emacs Org-mode and Markdown parser"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ marsam ]; + }; +} |