-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
package Coq 8.12.0 #16876
package Coq 8.12.0 #16876
Conversation
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.
Thanks for this @RalfJung! Here are some comments.
packages/coqide/coqide.8.12.0/opam
Outdated
|
||
depends: [ | ||
"coq" {= version} | ||
"lablgtk3-sourceview3" |
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.
Did the problem with beta7 get fixed?
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.
I don't know, but the latest version 3.3.1 works. I don't think it is worth testing each intermediate version for incompatibilities, nor is it worth keeping a list of incompatible versions forever.
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.
In that case, just stick a constraint in to indicate the supported envelope.
"lablgtk3-sourceview3" | |
"lablgtk3-sourceview3" {>="3.1.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.
I used {>= "3.1.0"}
so that it at least gets rid of the 3.0beta versions, which seems sensible. This can always be modified later if you prefer.
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.
I have no idea what the future-compat policy is for these packages, but I'd naively also expect an upper bound.
packages/coq/coq.8.12.0/opam
Outdated
"-libdir" "%{lib}%/coq" | ||
"-datadir" "%{share}%/coq" | ||
"-coqide" "no" | ||
"-flambda-opts" "-O3 -unbox-closures" |
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.
Having this on by default seems a bit too dangerous — there's serious enough bugs that 8.12.0 doesn't fix — some with bad ocaml versions, others in combo with native-compiler.
The best way forward seems to make native-compiler depend on a "package flag", encoded as a dummy package.
For the last discussion see #16779 and https://coq.zulipchat.com/#narrow/stream/237663-coq-community-devs.20.26.20users/topic/flambda-using.20Docker-Coq.20images, but I think that's the summary.
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.
Sure I can remove this. I took it from the core-dev packages.
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.
If those flags cause problems, IMO they should be removed from the core-dev packages as well.
@@ -0,0 +1,50 @@ | |||
opam-version: "2.0" |
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.
Let's remember to split CoqIDE out if there are problems in CI.
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.
I don't follow... we want a CoqIDE package, no?
I consider creating two PRs and tracking their mutual dependencies to be just unnecessary work.
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.
Your call; I was just mentioning @palmskog's suggestion to avoid holding up Coq packages (IIRC because coqide held up some 8.11.* version for a long while). No strong opinion myself.
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.
But again, no action needed if there are no problems in CI 🙂
Commit: 674d6a6 @RalfJung has posted 14 contributions. ☀️ All lint checks passed 674d6a6
☀️ Installability check (+2)
🌤️ 2 ignored non-opam files:
|
Thanks a lot! |
|
||
depends: [ | ||
"coq" {= version} | ||
"lablgtk3-sourceview3" {>= "3.1.0"} |
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.
@RalfJung @ejgallego : Is there a good reason for the restriction to lablgtk 3.1.0? For a reason yet to be investigated this version does not build on windows, but 3.0.beta5 does and it seems to work fine.
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.
Summing up: no, beta7 had to be banned only for coqide 8.10.*. No comment on potential other problems.
Coq 8.11.0 should be compatible with beta7 since coq/coq#11234.
=== Below the former comments which I dropped.
-
That's from package Coq 8.12.0 #16876 (comment); there was a specific reason we banned beta7, but beta8 was fine again, and I suspect it was fixed on the Coq side as well.
-
Sorry: that's to say "no, there's no strong reason for the restriction to be that strict".
-
In fact, I should have searched the original issue. Indeed, beta7 needn't be blacklisted since
[ide] Don't use -linkall for the GUI app. coq/coq#11234, which was merged in 8.11.0; only 8.10.* need the exclusion, as I noted in [build] don't link Gtk{Th,}Init static initializers into the main library garrigue/lablgtk#100 (comment).
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.
Okay, I opened #16881 to relax the version bound.
Thanks, this should work! I didn't try it but hearsay is that beta6 still works on windows but beta7 doesn't (I resorted to beta5 which we have been using on Windows for a while). Before I release the 8.12.0 platform, I will find out what the issue is (a strange link and/or flexlink issue). |
Is there a reason why native compute was not disabled on macOS for this version contrary to what was done for versions 8.11.1 and 8.11.2? |
No good reason. And apologies, you'd think I'd notice, wouldn't you 🤦? But we know how to avoid that: fix the core-dev packages. #16876 (comment) |
Just submitted #16908 with the (untested) fix — I took a diff with the 8.11.2 packages. |
These opam packages are currently used as templates for releases. See discussion at ocaml/opam-repository#16908 and ocaml/opam-repository#16876 (comment). Only done for 8.12 and dev, which will be used in the future. The resulting packages are safer and slower (for flambda users); fixing that will require a more proper fix (such as ocaml/opam-repository#16887).
These opam packages are currently used as templates for releases. See discussion at ocaml/opam-repository#16908, ocaml/opam-repository#16876 (comment) and coq/coq#11178 (comment). Only done for 8.12 and dev, which will be used in the future. The resulting packages are safer and slower (for flambda users); fixing that will require a more proper fix (such as ocaml/opam-repository#16887).
Ah, I wasn't aware it is still needed -- indeed I assumed it was not since the core-dev packages do not have this. |
No description provided.