New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[build] Bump minimal dune version to 3.6.1 #18359
Conversation
Unfortunately due to ocaml/dune#6545 , we either rework quite a few opens in the codebase, or bump to 3.6.1. |
Here's an example of pitfalls of testing vs versioning of the build language, as Coq didn't bump the Dune version, the bug wasn't detected at 3.5.0 release time. |
The patch says 3.6.1 here and 3.6.0 there. Which is the right one? |
@coqbot run full CI |
Indeed 3.5.0 and 3.6.0 are buggy and cannot build Coq if We'll have to tweak this in the |
Dep for |
@coqbot run full CI |
@coqbot run full CI |
This seems ready too, anyone willing to assign? |
Dune 3.6.1 is from 2022-11-24, debian testing has 3.11.1, should be fine to require 3.6.1. |
This brings mainly improvements into the directory target feature, so we can go ahead with packaging the docs properly. Note some fixes in documentation, plus now Dune enables some more warnings by default that we address in the following way: - warning 67 [unused functor parameter]: we make the arguments anonymous as OCaml seems to recommend - warning 69 [unused-field]: we disable this warning, but should be maybe enabled and handled again. It seems that most of the triggers for this warning are legit, however the situation is delicate due to some parts of the code involved using `Obj.magic` or `Marshall`. Also quite a few of these warnings are in code that is scheduled for removal at some point. Note that we couldn't bump to 3.5 directly due to ocaml/dune#6545
@coqbot merge now |
Reviewed-by: ppedrot Co-authored-by: ppedrot <ppedrot@users.noreply.github.com>
@@ -27,7 +27,7 @@ homepage: "https://coq.inria.fr/" | |||
doc: "https://coq.github.io/doc/" | |||
bug-reports: "https://github.com/coq/coq/issues" | |||
depends: [ | |||
"dune" {>= "2.9"} | |||
"dune" {>= "3.6" & >= "3.6.1"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is it written like this instead of just >= "3.6.1"
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As we declare (lang dune 3.6)
dune adds automatically the dune >= 3.6
lower bound when auto-generating the opam file, then our bound is added, as 3.6.0 contains a bug fatal to Coq.
This brings mainly improvements into the directory target feature, so we can go ahead with packaging the docs properly.
Note some fixes in documentation, plus now Dune enables some more warnings by default that we address in the following way:
warning 67 [unused functor parameter]: we make the arguments anonymous as OCaml seems to recommend
warning 69 [unused-field]: we disable this warning, but should be maybe enabled and handled again. It seems that most of the triggers for this warning are legit, however the situation is delicate due to some parts of the code involved using
Obj.magic
orMarshall
. Also quite a few of these warnings are in code that is scheduled for removal at some point.Note that we couldn't bump to 3.5 due to
ocaml/dune#6545