-
Notifications
You must be signed in to change notification settings - Fork 468
dev meeting 2024 09 18
Etienne Marais edited this page Sep 18, 2024
·
2 revisions
Attendees: @gridbugs @maiste @Leonidas-from-XIV @rgrinberg @moyodiallo
- We only use the non-local dependencies to give a package name and calculate the dependency hash
- Taking all packages as dependencies is wrong but determining the right set requires evaluating the filters/running the solver
-
OpamTypes.filtered_formulashould not be exposed outside ofdune_pkg, wrapping it in Dune types is better
- It's an OPAM feature where plugins can define their own variables
- Unknown depext variables make the solver fail
- We can't just set them to
falseas they can be negated - Remove any depext entirely where the filter refers to unknown variables
- Dune cache was disabled by default, so we assume most people did not use it
- Enables us to go through the rules incrementally and mark those that are safe
-
enable-user-rulesindune-workspacecould be a good compromise for those that can't set an environment variable - having a configuration in
~/.config/dunecould work too
- The interviews say that people want
dune pkg add? - It could be done by editing
dune-project, pretty printing it and promoting the new file - It requires to fix pretty printing first
- Still that would not make it work for most people as they have to add the dependency to their
dunefiles - We could add the package to all
dunefiles but that would make the build slower - It can make sense in the context of the
duneeasy mode - We could also go backwards from
dunefiles which fully qualify a library (<opam-pkg>.<meta-name>) - Using the auto promote mechanism to update the
dune-projectaccording to thedunefiles associated with a package - How do we know which package a dependency goes to and where does it go when it is not part of a public package
- We should have non-public packages, existing projects like Yojson have dummy-opam files for that reason
- Maybe the better thing would be to have better editor integration for
dune*files, e.g via a Dune LSP
- There's a race between creating lock dirs and checking for lock dirs, thus it fails at first
- Hard to say how to fix, need to look at the code to have an insight on how to solve it
-
dune tools exec <toolname>to call a tool,execallows other, future verbs - The first time installation with locking and building can take a minute, that's blocking
- Maybe a Dune LSP would be the better solution, that way the editor can request the OCaml LSP being installed via the LSP
- The connection can be handed over to the newly installed LSP
- The LSP library can be vendored into Dune, shouldn't be too hard