-
Notifications
You must be signed in to change notification settings - Fork 455
dev meeting 20230809
Marek Kubica edited this page Aug 10, 2023
·
1 revision
Present: @rgrinberg @kit-ty-kate @Leonidas-from-XIV
- There is a PR for it, but do we want it?
- Do we want full support for all OPAM fields in the generator?
- Dune can't do anything with
available - So it can't do anything than just pass it on in the generator
- People already use Dune as OPAM file generator
-
availablein OPAM is used as a filter before being fed into the solver
- Dune can't do anything with
- If Dune can't use
available, why does it supportmaintainers?- Can be used in
dune subst - But the explanation is admittedly a bit post-hoc
- Can be used in
- How else to solve it?
- Traverse source tree and collect
enabled_if - But what if people forget to add
packageto their stanzas? - What if we went the other way and set
enabled_iffromavailable - Do we have the same variables
- no, but we could start with a subset
- we most likely won't have support for user variables
- It's gonna be tough
- The filter languages of OPAM and Dune don't map very well
- The
enabled_iffilter would need to be extended
- Traverse source tree and collect
- Users expect Dune to write OPAM files
- It doesn't make sense to support every opam field
- What goes into
dune-projectvsdune-workspace - What about other fields like
uninstall- Packages can use the field to remove config files
- How is this possible with Dune, given it generates an
.installfile- A binary in the package could generate the config file, then the
uninstallwould remove it. So it is not Dune/OPAM creating it.
- A binary in the package could generate the config file, then the
- What goes into
- Why are OPAM files generated at all?
- No good answer, but it is nice that there is a common useful subset for OPAM and Dune
- The idea was that OPAM would be able to read the
dune-projectbut so far this hasn't happened - Nix doesn't use the dune data but OPAM data
- In the future it could use the info from the lock dir
- At least this way users only need to know Dune sexp syntax and not OPAM syntax on top of it
- Would
available/enabled_ifsupport be a helpful addition to opam-repository maintainers?- Kate says it would be because some packages are missing
availableand maintainers need to add it by hand.
- Kate says it would be because some packages are missing
- Conclusions
- We agree that it is useful to have the metadata in
dune-projectchecked within the build to verify that it somehow makes sense. A bad example isdependswhich is there but can also be completely wrong.
- We agree that it is useful to have the metadata in