18 # Each releases of Merlin support a limited range of versions of OCaml.
24 "4.14.0" = "4.14-414";
25 "4.14.1" = "4.14-414";
26 "4.14.2" = "4.14-414";
33 "4.7-412" = "sha256-0U3Ia7EblKULNy8AuXFVKACZvGN0arYJv7BWiBRgT0Y=";
34 "4.7-413" = "sha256-aVmGWS4bJBLuwsxDKsng/n0A6qlyJ/pnDTcYab/5gyU=";
35 "4.14-414" = "sha256-eQGMyqN8FQHdXE1c94vDQg1kGx6CRDZimBxUctlzmT0=";
36 "4.14-500" = "sha256-7CPzJPh1UgzYiX8wPMbU5ZXz1wAJFNQQcp8WuGrR1w4=";
37 "4.14-501" = "sha256-t+npbpJAWMLOQpZCeIqi45ByDUQeIkU4vPSUplIDopI=";
40 version = lib.getAttr ocaml.version merlinVersions;
43 if !lib.hasAttr ocaml.version merlinVersions
44 then builtins.throw "merlin is not available for OCaml ${ocaml.version}"
53 url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-${version}.tbz";
54 sha256 = hashes."${version}";
59 src = ./fix-paths.patch;
60 dot_merlin_reader = "${dot-merlin-reader}/bin/dot-merlin-reader";
61 dune = "${dune_3}/bin/dune";
74 (if lib.versionAtLeast version "4.7-414"
84 patchShebangs tests/merlin-wrapper
85 dune runtest # filtering with -p disables tests
90 description = "An editor-independent tool to ease the development of programs in OCaml";
91 homepage = "https://github.com/ocaml/merlin";
92 license = licenses.mit;
93 maintainers = [ maintainers.vbgl maintainers.sternenseemann ];