|
1 | 1 | { |
2 | 2 | inputs = { |
3 | 3 | flake-utils.url = "github:numtide/flake-utils"; |
4 | | - nixpkgs.url = "github:nix-ocaml/nix-overlays"; |
5 | | - merlin5_2 = { |
6 | | - url = "github:ocaml/merlin/main"; |
7 | | - flake = false; |
8 | | - }; |
9 | | - merlin5_1 = { |
10 | | - url = "github:ocaml/merlin/501"; |
| 4 | + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; |
| 5 | + merlin4_14 = { |
| 6 | + url = "github:ocaml/merlin/v4.18-414"; |
11 | 7 | flake = false; |
12 | 8 | }; |
13 | 9 | }; |
|
30 | 26 | }); |
31 | 27 | dune-release = |
32 | 28 | prev.dune-release.overrideAttrs (_: { doCheck = false; }); |
33 | | - ocamlPackages = prev.ocamlPackages.overrideScope' (oself: osuper: |
| 29 | + ocamlPackages = prev.ocamlPackages.overrideScope (oself: osuper: |
34 | 30 | let |
35 | 31 | fixPreBuild = o: { |
36 | 32 | propagatedBuildInputs = o.propagatedBuildInputs ++ [ oself.pp ]; |
|
58 | 54 | in rec { |
59 | 55 | jsonrpc = buildDunePackage (basePackage // { |
60 | 56 | pname = "jsonrpc"; |
61 | | - doCheck = false; |
62 | 57 | propagatedBuildInputs = with pkgs.ocamlPackages; [ ]; |
63 | 58 | }); |
64 | 59 |
|
65 | 60 | lsp = buildDunePackage (basePackage // { |
66 | 61 | pname = "lsp"; |
67 | | - doCheck = false; |
68 | 62 | propagatedBuildInputs = with pkgs.ocamlPackages; [ |
69 | 63 | jsonrpc |
70 | 64 | yojson |
71 | 65 | ppx_yojson_conv_lib |
72 | 66 | uutf |
73 | 67 | ]; |
74 | 68 | checkInputs = let p = pkgs.ocamlPackages; |
75 | | - in [ |
76 | | - p.stdune |
77 | | - p.cinaps |
78 | | - p.ppx_expect |
79 | | - p.ppx_yojson_conv |
80 | | - (ocamlformat pkgs) |
81 | | - ]; |
| 69 | + in [ p.cinaps p.ppx_expect p.ppx_yojson_conv (ocamlformat pkgs) ]; |
82 | 70 | }); |
83 | 71 |
|
84 | 72 | ocaml-lsp = with pkgs.ocamlPackages; |
85 | 73 | buildDunePackage (basePackage // { |
86 | 74 | pname = package; |
87 | | - doCheck = false; |
88 | 75 | checkInputs = let p = pkgs.ocamlPackages; |
89 | 76 | in [ |
90 | 77 | p.ppx_expect |
|
137 | 124 | overlays = [ (ocamlVersionOverlay ocaml) (overlay merlin) ]; |
138 | 125 | inherit system; |
139 | 126 | }; |
140 | | - pkgs_5_1 = |
141 | | - makeNixpkgs (ocaml: ocaml.ocamlPackages_5_1) inputs.merlin5_1; |
142 | | - pkgs_5_2 = |
143 | | - makeNixpkgs (ocaml: ocaml.ocamlPackages_5_2) inputs.merlin5_2; |
144 | | - localPackages_5_1 = makeLocalPackages pkgs_5_1; |
145 | | - localPackages_5_2 = makeLocalPackages pkgs_5_2; |
| 127 | + pkgs_4_14 = |
| 128 | + makeNixpkgs (ocaml: ocaml.ocamlPackages_4_14) inputs.merlin4_14; |
| 129 | + localPackages_4_14 = makeLocalPackages pkgs_4_14; |
146 | 130 | devShell = localPackages: nixpkgs: |
147 | 131 | nixpkgs.mkShell { |
148 | 132 | buildInputs = [ nixpkgs.ocamlPackages.utop ]; |
149 | | - inputsFrom = |
150 | | - builtins.map (x: x.overrideAttrs (p: n: { doCheck = true; })) |
151 | | - (builtins.attrValues localPackages); |
| 133 | + inputsFrom = builtins.attrValues localPackages; |
152 | 134 | }; |
153 | 135 | in { |
154 | | - packages = (localPackages_5_2 // { |
155 | | - default = localPackages_5_2.ocaml-lsp; |
156 | | - ocaml_5_1 = localPackages_5_1; |
157 | | - }); |
| 136 | + packages = |
| 137 | + (localPackages_4_14 // { default = localPackages_4_14.ocaml-lsp; }); |
158 | 138 |
|
159 | 139 | devShells = { |
160 | | - default = devShell localPackages_5_2 pkgs_5_2; |
161 | | - |
162 | | - ocaml5_1 = devShell localPackages_5_1 pkgs_5_1; |
| 140 | + default = devShell localPackages_4_14 pkgs_4_14; |
163 | 141 |
|
164 | 142 | release = pkgsWithoutOverlays.mkShell { |
165 | 143 | buildInputs = [ pkgsWithoutOverlays.dune-release ]; |
|
176 | 154 | ]; |
177 | 155 | }; |
178 | 156 |
|
179 | | - check = pkgs_5_2.mkShell { |
180 | | - inputsFrom = builtins.attrValues localPackages_5_2; |
| 157 | + check = pkgs_4_14.mkShell { |
| 158 | + inputsFrom = builtins.attrValues localPackages_4_14; |
181 | 159 | }; |
182 | 160 | }; |
183 | 161 | })); |
|
0 commit comments