|
56 | 56 | }); |
57 | 57 | }) |
58 | 58 | ]; |
59 | | - |
60 | | - applyOxcamlPatches = import ./nix/ox-patches.nix { |
61 | | - inherit pkgs; |
62 | | - lib = pkgs.lib; |
| 59 | + |
| 60 | + applyOxcamlPatches = import ./nix/ox-patches.nix { |
| 61 | + inherit pkgs; |
| 62 | + lib = pkgs.lib; |
63 | 63 | oxcamlOpamRepo = oxcaml-opam-repository; |
64 | 64 | }; |
65 | | - |
| 65 | + |
66 | 66 | dune-static-overlay = self: super: { |
67 | 67 | ocamlPackages = super.ocaml-ng.ocamlPackages_5_3.overrideScope ( |
68 | 68 | oself: osuper: { |
|
196 | 196 | }: |
197 | 197 | let |
198 | 198 | hasOcamlOverride = (packageOverrides { } { ocaml = null; }) ? ocaml; |
199 | | - |
| 199 | + |
200 | 200 | pkgs' = |
201 | 201 | if hasOcamlOverride then |
202 | 202 | pkgs.extend ( |
203 | 203 | pself: psuper: { |
204 | 204 | ocamlPackages = psuper.ocamlPackages.overrideScope ( |
205 | 205 | oself: osuper: |
206 | | - (pkgs.lib.mapAttrs |
207 | | - (name: pkg: |
208 | | - if pkgs.lib.isDerivation pkg && pkg ? overrideAttrs |
209 | | - then pkg.overrideAttrs (old: { doCheck = false; }) |
210 | | - else pkg) |
211 | | - osuper) |
212 | | - // (packageOverrides oself osuper) |
| 206 | + (pkgs.lib.mapAttrs ( |
| 207 | + name: pkg: |
| 208 | + if pkgs.lib.isDerivation pkg && pkg ? overrideAttrs then |
| 209 | + pkg.overrideAttrs (old: { |
| 210 | + doCheck = false; |
| 211 | + }) |
| 212 | + else |
| 213 | + pkg |
| 214 | + ) osuper) |
| 215 | + // (packageOverrides oself osuper) |
213 | 216 | ); |
214 | 217 | } |
215 | 218 | ) |
|
234 | 237 | ''; |
235 | 238 |
|
236 | 239 | baseInputs = if includeTestDeps then (testNativeBuildInputs pkgs') ++ docInputs else [ ]; |
237 | | - |
238 | | - ocamlLibs = if includeTestDeps then |
239 | | - (with pkgs'.ocamlPackages; [ |
240 | | - ctypes |
241 | | - cinaps |
242 | | - integers |
243 | | - lwt |
244 | | - mdx |
245 | | - menhir |
246 | | - merlin |
247 | | - ocaml-index |
248 | | - ocaml-lsp |
249 | | - odoc |
250 | | - patdiff |
251 | | - ppx_expect |
252 | | - re |
253 | | - spawn |
254 | | - uutf |
255 | | - ]) |
256 | | - else |
257 | | - [ ]; |
| 240 | + |
| 241 | + ocamlLibs = |
| 242 | + if includeTestDeps then |
| 243 | + (with pkgs'.ocamlPackages; [ |
| 244 | + ctypes |
| 245 | + cinaps |
| 246 | + integers |
| 247 | + lwt |
| 248 | + mdx |
| 249 | + menhir |
| 250 | + merlin |
| 251 | + ocaml-index |
| 252 | + ocaml-lsp |
| 253 | + odoc |
| 254 | + patdiff |
| 255 | + ppx_expect |
| 256 | + re |
| 257 | + spawn |
| 258 | + uutf |
| 259 | + ]) |
| 260 | + else |
| 261 | + [ ]; |
258 | 262 | in |
259 | 263 |
|
260 | 264 | pkgs'.mkShell { |
261 | 265 | shellHook = '' |
262 | 266 | export DUNE_SOURCE_ROOT=$PWD |
263 | 267 | ''; |
264 | 268 | inherit meta; |
265 | | - nativeBuildInputs = baseInputs ++ [ duneScript ] ++ (if hasOcamlOverride then [ pkgs'.ocamlPackages.ocaml ] else [ ]); |
| 269 | + nativeBuildInputs = |
| 270 | + baseInputs ++ [ duneScript ] ++ (if hasOcamlOverride then [ pkgs'.ocamlPackages.ocaml ] else [ ]); |
266 | 271 | inputsFrom = if hasOcamlOverride then [ ] else [ pkgs'.ocamlPackages.dune_3 ]; |
267 | 272 | buildInputs = |
268 | 273 | (if includeTestDeps then testBuildInputs else [ ]) |
|
389 | 394 |
|
390 | 395 | ox-minimal = makeDuneDevShell { |
391 | 396 | includeTestDeps = false; |
392 | | - packageOverrides = oself: osuper: |
393 | | - (applyOxcamlPatches oself osuper) // { |
| 397 | + packageOverrides = |
| 398 | + oself: osuper: |
| 399 | + (applyOxcamlPatches oself osuper) |
| 400 | + // { |
394 | 401 | # dune_3 = self.packages.${system}.default; |
395 | 402 | ocaml = oxcaml.packages.${system}.default.overrideAttrs (old: { |
396 | 403 | passthru = (old.passthru or { }) // pkgs.ocamlPackages.ocaml.passthru; |
397 | 404 | meta = (old.meta or { }) // pkgs.ocamlPackages.ocaml.meta; |
398 | 405 | }); |
399 | | - spawn = osuper.spawn.overrideAttrs (old: { doCheck = false; }); |
| 406 | + spawn = osuper.spawn.overrideAttrs (old: { |
| 407 | + doCheck = false; |
| 408 | + }); |
400 | 409 | }; |
401 | | - extraBuildInputs = pkgs: with pkgs.ocamlPackages; [ |
402 | | - re |
403 | | - spawn |
404 | | - uutf |
405 | | - findlib |
406 | | - ]; |
| 410 | + extraBuildInputs = |
| 411 | + pkgs: with pkgs.ocamlPackages; [ |
| 412 | + re |
| 413 | + spawn |
| 414 | + uutf |
| 415 | + findlib |
| 416 | + ]; |
407 | 417 | meta.description = '' |
408 | 418 | Provides a minimal shell environment with OxCaml in order to |
409 | 419 | run the OxCaml tests. |
410 | 420 | ''; |
411 | 421 | }; |
412 | 422 |
|
413 | 423 | ox = makeDuneDevShell { |
414 | | - packageOverrides = oself: osuper: |
415 | | - (applyOxcamlPatches oself osuper) // { |
| 424 | + packageOverrides = |
| 425 | + oself: osuper: |
| 426 | + (applyOxcamlPatches oself osuper) |
| 427 | + // { |
416 | 428 | dune_3 = self.packages.${system}.default; |
417 | 429 | ocaml = oxcaml.packages.${system}.default.overrideAttrs (old: { |
418 | 430 | passthru = (old.passthru or { }) // pkgs.ocamlPackages.ocaml.passthru; |
|
0 commit comments