Skip to content

Commit 4ba69de

Browse files
3Rafalanmonteiro
andauthored
Improve nix flake (#1632)
* Fix nix tests * Fix scopes * Fix merlin tests --------- Co-authored-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
1 parent 95f2005 commit 4ba69de

File tree

1 file changed

+47
-8
lines changed

1 file changed

+47
-8
lines changed

flake.nix

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,60 @@
2424
rec {
2525
packages = rec {
2626
default = merlin;
27-
merlin = buildDunePackage {
28-
pname = "merlin";
29-
version = "n/a";
27+
merlin-lib = buildDunePackage {
28+
pname = "merlin-lib";
29+
version = "dev";
3030
src = ./.;
3131
duneVersion = "3";
32-
buildInputs = with pkgs.ocamlPackages; [ menhirSdk menhir ];
3332
propagatedBuildInputs = with pkgs.ocamlPackages; [
34-
findlib
3533
csexp
36-
yojson
37-
menhirLib
3834
];
39-
checkInputs = with pkgs.ocamlPackages; [ ppxlib pkgs.jq ];
4035
doCheck = true;
4136
};
37+
dot-merlin-reader = buildDunePackage {
38+
pname = "dot-merlin-reader";
39+
version = "dev";
40+
src = ./.;
41+
duneVersion = "3";
42+
propagatedBuildInputs = [
43+
pkgs.ocamlPackages.findlib
44+
];
45+
buildInputs = [
46+
merlin-lib
47+
];
48+
doCheck = true;
49+
};
50+
merlin = buildDunePackage {
51+
pname = "merlin";
52+
version = "dev";
53+
src = ./.;
54+
duneVersion = "3";
55+
buildInputs = [
56+
merlin-lib
57+
dot-merlin-reader
58+
pkgs.ocamlPackages.menhirLib
59+
pkgs.ocamlPackages.menhirSdk
60+
pkgs.ocamlPackages.yojson
61+
];
62+
nativeBuildInputs = [
63+
pkgs.ocamlPackages.menhir
64+
pkgs.jq
65+
];
66+
nativeCheckInputs = [ dot-merlin-reader ];
67+
checkInputs = with pkgs.ocamlPackages; [
68+
ppxlib
69+
];
70+
doCheck = true;
71+
checkPhase = ''
72+
runHook preCheck
73+
patchShebangs tests/merlin-wrapper
74+
dune build @check @runtest
75+
runHook postCheck
76+
'';
77+
meta = with pkgs; {
78+
mainProgram = "ocamlmerlin";
79+
};
80+
};
4281
};
4382
devShells.default = pkgs.mkShell {
4483
inputsFrom = pkgs.lib.attrValues packages;

0 commit comments

Comments
 (0)