Skip to content

Commit 7fc5a6a

Browse files
authored
chore(nix): remove flake-utils / nix-filter (#17)
1 parent a81c56e commit 7fc5a6a

File tree

2 files changed

+88
-119
lines changed

2 files changed

+88
-119
lines changed

flake.lock

Lines changed: 7 additions & 60 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 81 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,95 @@
11
{
22
description = "melange-jest Nix Flake";
33

4-
inputs.nix-filter.url = "github:numtide/nix-filter";
5-
inputs.flake-utils.url = "github:numtide/flake-utils";
6-
inputs.nixpkgs = {
7-
url = "github:nix-ocaml/nix-overlays";
8-
inputs.flake-utils.follows = "flake-utils";
9-
};
4+
inputs.nixpkgs.url = "github:nix-ocaml/nix-overlays";
105

11-
outputs = { self, nixpkgs, flake-utils, nix-filter }:
12-
flake-utils.lib.eachDefaultSystem (system:
13-
let
14-
pkgs = nixpkgs.legacyPackages."${system}".extend (self: super: {
15-
ocamlPackages = super.ocaml-ng.ocamlPackages_5_2;
16-
});
17-
inherit (pkgs) nodejs_latest lib stdenv darwin yarn cacert;
6+
outputs = { self, nixpkgs }:
7+
let
8+
forAllSystems = f: nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (system:
9+
let
10+
pkgs = nixpkgs.legacyPackages.${system}.extend (self: super: {
11+
ocamlPackages = super.ocaml-ng.ocamlPackages_5_2;
12+
});
13+
in
14+
f pkgs);
15+
in
16+
{
17+
packages = forAllSystems (pkgs:
18+
let
19+
inherit (pkgs) nodejs_latest lib stdenv darwin yarn cacert;
1820

19-
checkPhaseNodePackages = pkgs.buildNpmPackage {
20-
name = "melange-jest-deps";
21-
version = "0.0.0-dev";
21+
checkPhaseNodePackages = pkgs.buildNpmPackage {
22+
name = "melange-jest-deps";
23+
version = "0.0.0-dev";
24+
src =
25+
let fs = pkgs.lib.fileset; in
26+
fs.toSource {
27+
root = ./.;
28+
fileset = fs.unions [
29+
./dune-project
30+
./dune
31+
./melange-jest.opam
32+
./melange-jest.opam.template
33+
./jest
34+
./jest-dom
35+
./jest.config.js
36+
./package.json
37+
./package-lock.json
38+
];
39+
};
2240

23-
src = ./.;
24-
dontNpmBuild = true;
25-
npmDepsHash = "sha256-T0oSCDJtwK0vNwoQQBgRtgcrz/1/gfIEUaz2uHgVKKY=";
26-
installPhase = ''
27-
runHook preInstall
28-
mkdir -p "$out"
29-
cp -r ./node_modules "$out/node_modules"
30-
runHook postInstall
31-
'';
32-
};
3341

34-
melange-jest = with pkgs.ocamlPackages; buildDunePackage {
35-
pname = "melange-jest";
36-
version = "dev";
42+
dontNpmBuild = true;
43+
npmDepsHash = "sha256-T0oSCDJtwK0vNwoQQBgRtgcrz/1/gfIEUaz2uHgVKKY=";
44+
installPhase = ''
45+
runHook preInstall
46+
mkdir -p "$out"
47+
cp -r ./node_modules "$out/node_modules"
48+
runHook postInstall
49+
'';
50+
};
3751

38-
src = ./.;
39-
nativeBuildInputs = with pkgs.ocamlPackages; [ melange ];
40-
propagatedBuildInputs = with pkgs.ocamlPackages; [ melange ];
41-
doCheck = true;
42-
nativeCheckInputs = [ reason nodejs_latest yarn cacert ];
43-
checkInputs = [ melange-webapi cacert checkPhaseNodePackages ];
44-
checkPhase = ''
45-
dune build @all -p melange-jest --display=short
46-
ln -sfn "${checkPhaseNodePackages}/node_modules" ./node_modules
47-
./node_modules/.bin/jest
48-
'';
49-
};
52+
melange-jest = with pkgs.ocamlPackages; buildDunePackage {
53+
pname = "melange-jest";
54+
version = "dev";
5055

51-
mkShell = { buildInputs ? [ ] }: pkgs.mkShell {
52-
inputsFrom = [ melange-jest ];
53-
nativeBuildInputs = with pkgs; [
54-
yarn
55-
nodejs_latest
56-
] ++ (with pkgs.ocamlPackages; [
57-
ocamlformat
58-
merlin
59-
reason
60-
]);
61-
inherit buildInputs;
62-
};
63-
in
64-
rec {
65-
packages.default = melange-jest;
66-
devShells = {
56+
src = ./.;
57+
nativeBuildInputs = with pkgs.ocamlPackages; [ melange ];
58+
propagatedBuildInputs = with pkgs.ocamlPackages; [ melange ];
59+
doCheck = true;
60+
nativeCheckInputs = [ reason nodejs_latest yarn cacert ];
61+
checkInputs = [ melange-webapi cacert checkPhaseNodePackages ];
62+
checkPhase = ''
63+
dune build @all -p melange-jest --display=short
64+
ln -sfn "${checkPhaseNodePackages}/node_modules" ./node_modules
65+
./node_modules/.bin/jest
66+
'';
67+
};
68+
in
69+
{
70+
inherit melange-jest;
71+
default = melange-jest;
72+
});
73+
devShells = forAllSystems (pkgs:
74+
let
75+
mkShell = { buildInputs ? [ ] }: pkgs.mkShell {
76+
inputsFrom = [ self.packages.${pkgs.system}.melange-jest ];
77+
nativeBuildInputs = with pkgs; [
78+
yarn
79+
nodejs_latest
80+
] ++ (with pkgs.ocamlPackages; [
81+
ocamlformat
82+
merlin
83+
reason
84+
]);
85+
inherit buildInputs;
86+
};
87+
in
88+
{
6789
default = mkShell { };
6890
release = mkShell {
6991
buildInputs = with pkgs; [ cacert curl ocamlPackages.dune-release git ];
7092
};
71-
};
72-
});
93+
});
94+
};
7395
}

0 commit comments

Comments
 (0)