|
11 | 11 | supportedSystems = nixpkgs.lib.systems.flakeExposed; |
12 | 12 |
|
13 | 13 | mkOcamlEnv = |
14 | | - system: |
| 14 | + pkgs: |
15 | 15 | let |
16 | | - pkgs = nixpkgs.legacyPackages.${system}; |
17 | 16 |
|
18 | 17 | ocamlPackages = pkgs.ocamlPackages // { |
19 | 18 | spectrum = ocamlPackages.buildDunePackage { |
|
75 | 74 | buildInputs = buildInputs ++ buildInputsCli; |
76 | 75 | }; |
77 | 76 |
|
78 | | - in |
79 | | - { |
80 | | - packages = nixpkgs.lib.genAttrs supportedSystems ( |
81 | | - system: |
| 77 | + mkOcamlBuild = |
| 78 | + pkgs: |
82 | 79 | let |
83 | | - env = mkOcamlEnv system; |
| 80 | + env = mkOcamlEnv pkgs; |
84 | 81 | in |
85 | | - { |
86 | | - default = env.ocamlPackages.buildDunePackage { |
87 | | - pname = "mlpreview"; |
88 | | - version = "0.0.3"; |
89 | | - duneVersion = "3"; |
90 | | - src = ./.; |
| 82 | + env.ocamlPackages.buildDunePackage { |
| 83 | + pname = "mlpreview"; |
| 84 | + version = "0.0.3"; |
| 85 | + duneVersion = "3"; |
| 86 | + meta = { |
| 87 | + mainProgram = "mlpreview"; |
| 88 | + license = pkgs.lib.licenses.eupl12; |
| 89 | + }; |
| 90 | + src = ./.; |
91 | 91 |
|
92 | | - strictDeps = true; |
| 92 | + strictDeps = true; |
93 | 93 |
|
94 | | - inherit (env) nativeBuildInputs buildInputs; |
| 94 | + inherit (env) nativeBuildInputs buildInputs; |
95 | 95 |
|
96 | | - postInstall = '' |
97 | | - # Wrap installed executables to include required CLI tools on PATH |
98 | | - wrapProgram "$out/bin/mlpreview" --prefix PATH : "${env.pkgs.lib.makeBinPath env.buildInputsCli}" |
99 | | - ''; |
100 | | - }; |
101 | | - } |
102 | | - ); |
| 96 | + postInstall = '' |
| 97 | + # Wrap installed executables to include required CLI tools on PATH |
| 98 | + wrapProgram "$out/bin/mlpreview" --prefix PATH : "${env.pkgs.lib.makeBinPath env.buildInputsCli}" |
| 99 | + ''; |
| 100 | + }; |
| 101 | + |
| 102 | + in |
| 103 | + { |
| 104 | + packages = nixpkgs.lib.genAttrs supportedSystems (system: { |
| 105 | + default = mkOcamlBuild nixpkgs.legacyPackages.${system}; |
| 106 | + }); |
103 | 107 |
|
104 | 108 | devShells = nixpkgs.lib.genAttrs supportedSystems ( |
105 | 109 | system: |
106 | 110 | let |
107 | | - env = mkOcamlEnv system; |
| 111 | + env = mkOcamlEnv nixpkgs.legacyPackages.${system}; |
108 | 112 | in |
109 | 113 | { |
110 | 114 | default = nixpkgs.legacyPackages.${system}.mkShell { |
|
120 | 124 | } |
121 | 125 | ); |
122 | 126 |
|
123 | | - overlays.default = f: p: { mlpreview = self.packages.${p.system}.default; }; |
| 127 | + overlays.default = final: prev: { mlpreview = mkOcamlBuild prev; }; |
124 | 128 | overlay = self.overlays.default; |
125 | 129 |
|
126 | 130 | }; |
|
0 commit comments