nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchurl,
4 fetchpatch,
5 buildDunePackage,
6 replaceVars,
7 dot-merlin-reader,
8 dune_2,
9 yojson,
10 csexp,
11 result,
12 seq,
13 menhirSdk,
14}:
15
16buildDunePackage rec {
17 pname = "merlin";
18 version = "3.8.0";
19
20 src = fetchurl {
21 url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-${version}.tbz";
22 sha256 = "sha256-wmBGNwXL3BduF4o1sUXtAOUHJ4xmMvsWAxl/QdNj/28=";
23 };
24
25 minimalOCamlVersion = "4.02.3";
26
27 patches = [
28 (replaceVars ./fix-paths.patch {
29 dot-merlin-reader = "${dot-merlin-reader}/bin/dot-merlin-reader";
30 dune = "${dune_2}/bin/dune";
31 })
32 # https://github.com/ocaml/merlin/pull/1798
33 (fetchpatch {
34 name = "vim-python-12-syntax-warning-fix.patch";
35 url = "https://github.com/ocaml/merlin/commit/9e0c47b0d5fd0c4edc37c4c7ce927b155877557d.patch";
36 hash = "sha256-HmdTISE/s45C5cwLgsCHNUW6OAPSsvQ/GcJE6VDEobs=";
37 })
38 ];
39
40 strictDeps = true;
41
42 buildInputs = [
43 dot-merlin-reader
44 yojson
45 csexp
46 result
47 seq
48 menhirSdk
49 ];
50
51 meta = {
52 description = "Editor-independent tool to ease the development of programs in OCaml";
53 homepage = "https://github.com/ocaml/merlin";
54 license = lib.licenses.mit;
55 maintainers = [ lib.maintainers.vbgl ];
56 };
57}