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

ocaml 5.1.0; ocaml@4 4.14.1 (new formula); ledit 2.06 #154837

Merged
merged 24 commits into from
Dec 1, 2023

Conversation

cho-m
Copy link
Member

@cho-m cho-m commented Nov 19, 2023

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

@cho-m cho-m added the CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. label Nov 19, 2023
@github-actions github-actions bot added the CI-build-dependents-from-source Pass --build-dependents-from-source to brew test-bot. label Nov 19, 2023
@p-linnane p-linnane added the long build Set a long timeout for formula testing label Nov 20, 2023
@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Nov 20, 2023
@cho-m
Copy link
Member Author

cho-m commented Nov 20, 2023

Still need to figure out coccinelle. Using ocaml@4 would require locally building ocaml-findlib and I don't know situation with runtime dependency (as ocaml@4 would be keg-only and not have the HOMEBREW_PREFIX prefix-logic).

Backporting OCaml 5 fixes is tedious as I have tried applying a number of patches so far and it still doesn't build. Also, HEAD may work on Linux but there are build issues on macOS due to LD_LIBRARY_PATH usage.

Probably will end up going with ocaml@4 once I figure out what is needed to get it working.

@cho-m cho-m changed the title ocaml 5.1.0 ocaml 5.1.0; ledit 2.06; ott 0.33; ocaml@4 4.14.1 (new formula) Nov 20, 2023
@cho-m cho-m added the new formula PR adds a new formula to Homebrew/homebrew-core label Nov 20, 2023
@cho-m cho-m added the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 20, 2023
@cho-m cho-m force-pushed the ocaml-5.1.0 branch 3 times, most recently from 25ede07 to f26d389 Compare November 20, 2023 18:20
@github-actions github-actions bot removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 20, 2023
@cho-m cho-m marked this pull request as ready for review November 21, 2023 00:16
@cho-m cho-m added the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 23, 2023
@github-actions github-actions bot removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 23, 2023
@cho-m cho-m changed the title ocaml 5.1.0; ledit 2.06; ott 0.33; ocaml@4 4.14.1 (new formula) ocaml 5.1.0; ledit 2.06; ocaml@4 4.14.1 (new formula) Nov 23, 2023
@cho-m cho-m added the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 23, 2023
@github-actions github-actions bot removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 23, 2023
@cho-m
Copy link
Member Author

cho-m commented Nov 24, 2023

Going to try deferring ott and ledit updates to future PR and re-run with ocaml@4-based build.

@cho-m cho-m changed the title ocaml 5.1.0; ledit 2.06; ocaml@4 4.14.1 (new formula) ocaml 5.1.0; ocaml@4 4.14.1 (new formula) Nov 24, 2023
@alebcay
Copy link
Member

alebcay commented Nov 25, 2023

Regarding ott update, @danielnachun posted this in a different PR:

I added ocaml-findlib as a build requirement which fixed the initial error but now it looks like we have new problem - ott now depends on ocamlgraph and that needs a new formula. I will try to submit one in the next few days, but any other contributors should feel free to do so before me!

I had some time to take a look at ocamlgraph. Looks like it depends on lablgtk2, provided by our lablgtk formula. But lablgtk is deprecated because it depends on gtk+ (GTK+ 2), which is no longer supported upstream.

I attempted to build lablgtk3 (3.x branch of lablgtk sources) but that seems to depend on OCaml package cairo2, which in turn depends on lablgtk2. (And this is all without testing that ocamlgraph can even use lablgtk3). So it would appear that we're at an impasse on this front.

@cho-m
Copy link
Member Author

cho-m commented Nov 25, 2023

I had some time to take a look at ocamlgraph. Looks like it depends on lablgtk2, provided by our lablgtk formula. But lablgtk is deprecated because it depends on gtk+ (GTK+ 2), which is no longer supported upstream.

I attempted to build lablgtk3 (3.x branch of lablgtk sources) but that seems to depend on OCaml package cairo2, which in turn depends on lablgtk2. (And this is all without testing that ocamlgraph can even use lablgtk3). So it would appear that we're at an impasse on this front.

The easiest way to build newer ott is just let opam build all dependencies and statically link them (29eff10). But I dropped version updates for ott and ledit since the current build environment is causing some odd behavior.

ocamlgraph base package shouldn't need GTK. Only needed if using ocamlgraph_gtk: https://opam.ocaml.org/packages/ocamlgraph_gtk/. What it will need is stdlib-shims.

@cho-m cho-m added the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Nov 26, 2023
@chenrui333
Copy link
Member

Great work @cho-m! Thanks!

Copy link
Contributor

github-actions bot commented Dec 1, 2023

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Dec 1, 2023
@BrewTestBot BrewTestBot enabled auto-merge December 1, 2023 18:28
@BrewTestBot BrewTestBot added this pull request to the merge queue Dec 1, 2023
Merged via the queue into Homebrew:master with commit a71a2bd Dec 1, 2023
12 checks passed
@cho-m cho-m deleted the ocaml-5.1.0 branch December 1, 2023 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge-skip `brew pr-automerge` will skip this pull request CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. new formula PR adds a new formula to Homebrew/homebrew-core no long build conflict Do not allow merging other pull requests when files conflict with this one ready to merge PR can be merged once CI is green
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants