|
84 | 84 | - [ ] Handle lock file without ocaml.
|
85 | 85 | - [x] Version the lock file.
|
86 | 86 | - Add version, packages and repo fields.
|
87 |
| -- [ ] Consider using joinSymlinks/linkFarm(!) to create a build scope. |
| 87 | +- [x] Consider using joinSymlinks/linkFarm(!) to create a build scope. |
88 | 88 | - Use this for the `onix build` command, i.e., result will contain the root outputs.
|
89 | 89 | - [x] Consider using makeScope for the scope.
|
90 | 90 | - [ ] Handle pkg:installed?enable:disable.
|
91 | 91 | - [x] Stop using emptyPkg. Override the base compiler only?
|
92 |
| -- [ ] Would depending on the content of the opam files (as opposed to the opam file in the repo) improve cache reusability? |
93 |
| -- [ ] Handle enable-ocaml-beta-repository. |
| 92 | +- [x] Would depending on the content of the opam files (as opposed to the opam file in the repo) improve cache reusability? |
| 93 | +- [x] Handle enable-ocaml-beta-repository. |
94 | 94 | - In theory this is now working with multirepos.
|
95 |
| -- [ ] Should we include the opam field in the lock pkg? The opam file path can be reconstructed from the repo path and pkg nv. |
| 95 | +- [ ] ~~Should we include the opam field in the lock pkg? The opam file path can be reconstructed from the repo path and pkg nv.~~ |
96 | 96 | - [x] Hanlde "sys-ocaml-version" var.
|
97 | 97 | - [ ] Group dep flags.
|
98 | 98 | - [ ] Setup the opamverse test.
|
|
103 | 103 | - [ ] Filter out invalid nixpkgs names: "pkgs.devel/librdkafka"
|
104 | 104 | - [ ] Slacko base-no-ppx for lwt?
|
105 | 105 | - [ ] Support a vendoring/forking workflow (override src?).
|
106 |
| -- [ ] Opam-installer requires ocaml 4.13 by default. Use the same version as the rest of the build. |
107 |
| -- [ ] Consider adding opam-installer to lock file to avoid pulling pkgs.opam-installer. |
| 106 | +- [ ] ~~Opam-installer requires ocaml 4.13 by default. Use the same version as the rest of the build.~~ |
| 107 | + - opam installer is now vendored in onix itself. |
| 108 | +- [ ] ~~Consider adding opam-installer to lock file to avoid pulling pkgs.opam-installer.~~ |
108 | 109 | - [ ] Document diffs:
|
109 | 110 | - Support compiler option packages.
|
110 | 111 | - Support dev tools, test, doc.
|
|
115 | 116 | - Support offline mode.
|
116 | 117 | - Prefetch packages to compute sha256 when md5 is used.
|
117 | 118 | - Support multiple opam repositories.
|
118 |
| -- [ ] Help debug nix paths (eg show opam repo path) |
| 119 | +- [x] Help debug nix paths (eg show opam repo path) |
119 | 120 | - [x] When the scope is built but there was a pkg override do we still build the pkg? Must not.
|
120 | 121 | - [x] Replace hardcoded ocaml nix versions with a call to get currently available version from ocaml-ng.
|
121 | 122 | - [ ] Make sure that unsupported compiler combinations error out.
|
|
135 | 136 | - [ ] Consider using attrsets (name => x) for representing deps to avoid duplicates when (++).
|
136 | 137 | - [ ] Add support for local repos.
|
137 | 138 | - [ ] Host's OPAMPATH is used when -i is not passed to develop for shell target.
|
138 |
| -- [ ] Formatting dune files is slow with vscode. |
| 139 | +- [x] Formatting dune files is slow with vscode. |
139 | 140 | - Which uses `nix develop -i -c $prog $args`.
|
| 141 | + - Use env file |
140 | 142 | - [ ] Can we symlinkJoin an opam root?
|
141 | 143 | - [ ] How to get compatibility with OCaml Platform? Can we fake opam's CLI?
|
142 | 144 | - [x] Pass `verbosity` to top-level onix attrset.
|
|
157 | 159 | - [ ] Document that opam vars can be added to drv.
|
158 | 160 | - [ ] Install repo's opam file.
|
159 | 161 | - [ ] When running `nix profile install github:odis-labs/onix` why are so manny deps fetched (like clang).
|
160 |
| -- [ ] Lookup all opam files by default on onix lock. |
| 162 | +- [x] Lookup all opam files by default on onix lock. |
161 | 163 | - [ ] Improve verbosity of onix lock.
|
162 | 164 | - [ ] Add a shell hook to shell to check if there are any opam variables.
|
0 commit comments