Skip to content
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

Merged
merged 3 commits into from
Jul 25, 2020
Merged

package Coq 8.12.0 #16876

merged 3 commits into from
Jul 25, 2020

Conversation

RalfJung
Copy link
Contributor

No description provided.

Copy link
Contributor

@Blaisorblade Blaisorblade left a 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.


depends: [
"coq" {= version}
"lablgtk3-sourceview3"
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Member

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.

Suggested change
"lablgtk3-sourceview3"
"lablgtk3-sourceview3" {>="3.1.1"}

Copy link
Member

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.

Copy link
Contributor Author

@RalfJung RalfJung Jul 26, 2020

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.

"-libdir" "%{lib}%/coq"
"-datadir" "%{share}%/coq"
"-coqide" "no"
"-flambda-opts" "-O3 -unbox-closures"
Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor Author

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"
Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor

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 🙂

@camelus
Copy link
Contributor

camelus commented Jul 25, 2020

Commit: 674d6a6

@RalfJung has posted 14 contributions.

☀️ All lint checks passed 674d6a6
  • These packages passed lint tests: coq.8.12.0, coqide.8.12.0

☀️ Installability check (+2)
  • new installable packages (2): coq.8.12.0 coqide.8.12.0

🌤️ 2 ignored non-opam files:
  • packages/coq/coq.8.12.0/files/coq.install
  • packages/coqide/coqide.8.12.0/files/coqide.install

@kit-ty-kate
Copy link
Member

Thanks a lot!

@kit-ty-kate kit-ty-kate merged commit 973b299 into ocaml:master Jul 25, 2020

depends: [
"coq" {= version}
"lablgtk3-sourceview3" {>= "3.1.0"}
Copy link
Contributor

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.

Copy link
Contributor

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.

  1. 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.

  2. Sorry: that's to say "no, there's no strong reason for the restriction to be that strict".

  3. 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).

Copy link
Contributor Author

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.

@MSoegtropIMC
Copy link
Contributor

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).

@Zimmi48
Copy link
Contributor

Zimmi48 commented Jul 29, 2020

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?

@Blaisorblade
Copy link
Contributor

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)
@RalfJung used those as templates, and I'd guess that's the correct workflow (I used it too) — if the new release needs different opam packaging, how else would you know?
OTOH, there's also an opam file in-tree, but that's for devs and uses dune so it's not directly applicable.

@Blaisorblade
Copy link
Contributor

Just submitted #16908 with the (untested) fix — I took a diff with the 8.11.2 packages.

Blaisorblade added a commit to Blaisorblade/opam-coq-archive that referenced this pull request Jul 29, 2020
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).
Blaisorblade added a commit to Blaisorblade/opam-coq-archive that referenced this pull request Jul 29, 2020
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).
@RalfJung
Copy link
Contributor Author

Ah, I wasn't aware it is still needed -- indeed I assumed it was not since the core-dev packages do not have this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants