-
Notifications
You must be signed in to change notification settings - Fork 331
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 on OCaml 5 (river pin) #2609
Conversation
The build was failing due to problems with a configuration script in ocamlnet, a transitive dependency of OCaml.org, through package river. For details on the problem in ocamlnet, see aantron/ocamlnet@7ef255a This commit pins ocamlnet to a fork with a workaround, until ocamlnet is fixed upstream and released. See https://gitlab.com/gerdstolpmann/lib-ocamlnet3/-/merge_requests/24
I'm not sure what to do about the deployability check. The link, judging from the logs linked on it, is for a different PR, and the errors look unrelated to this one. |
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.
My fix for docker build is in this PR: aantron#1
The other Dockerfile will also need to be updated
Thank you! I've merged that in and changed the base image in Should I push branches directly to this repo rather than my own fork for collaboration? |
A separate option regarding ocamlnet might be to port River to use Lambda Soup for HTML parsing. Lambda Soup itself originally used ocamlnet, but I later wrote Markup.ml as its new back end to parse HTML5 according to the actual HTML5 spec, it's focused on HTML only without any wider functionality, builds on OCaml 5, uses Dune, etc. cc @kayceesrk |
If you have the rights to do it, yes that's more convenient. |
I think that would be a preferable option, I can merge a PR and cut a release of River if needed. |
Can confirm that with If we choose to go that route, I would remove the |
ocamlorg.opam
Outdated
@@ -70,9 +70,6 @@ build: [ | |||
] | |||
dev-repo: "git+https://github.com/ocaml/ocaml.org.git" | |||
pin-depends: [ | |||
# See https://gitlab.com/gerdstolpmann/lib-ocamlnet3/-/merge_requests/24 | |||
# See https://github.com/aantron/ocamlnet/commit/7ef255a0a994ef2721f3359077b36bcdd0428ee4 | |||
["ocamlnet.dev" "git+https://github.com/aantron/ocamlnet#7ef255a0a994ef2721f3359077b36bcdd0428ee4"] |
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 haven't been able to get this generated from a dune-workspace
(pin ...)
stanza. Do you have any experience as to why this isn't being generated in this commit?
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've updated the .opam.template
file. This is no longer an issue.
I've switched this PR to pin the River PR rather than ocamlnet. Based on a recommendation from @sabine, to test, I ran
to test for differences in the scraped blogs. Besides that for many sources the result was 404 or timeout, the differences actually due to the River PR were insignificant:
I've uploaded the data diff as a throwaway commit: c29f667 I wonder if the diff at c29f667#diff-e7720bbc02cf67fbb25f22d45e6c0e65048b0225ebbe9819beb97c6b159f54beL110 is due to the blog post being updated after it was scraped for OCaml.org. |
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.
Yes, the diff in question seems related to the blog post being updated after scraping, and that's fine.
Looks good to me!
* Build on OCaml 5 The build was failing due to problems with a configuration script in ocamlnet, a transitive dependency of OCaml.org, through package river. For details on the problem in ocamlnet, see aantron/ocamlnet@7ef255a This commit pins ocamlnet to a fork with a workaround, until ocamlnet is fixed upstream and released. See https://gitlab.com/gerdstolpmann/lib-ocamlnet3/-/merge_requests/24 * Try with CI on 5.2.0 * Fix Dockerfile * Fix .devcontainer/Dockerfile * Update dune files .opam is generated from * Switch to upgraded River instead of ocamlnet --------- Co-authored-by: Cuihtlauac ALVARADO <cuihtmlauac@tarides.com>
* Build on OCaml 5 The build was failing due to problems with a configuration script in ocamlnet, a transitive dependency of OCaml.org, through package river. For details on the problem in ocamlnet, see aantron/ocamlnet@7ef255a This commit pins ocamlnet to a fork with a workaround, until ocamlnet is fixed upstream and released. See https://gitlab.com/gerdstolpmann/lib-ocamlnet3/-/merge_requests/24 * Try with CI on 5.2.0 * Fix Dockerfile * Fix .devcontainer/Dockerfile * Update dune files .opam is generated from * Switch to upgraded River instead of ocamlnet --------- Co-authored-by: Cuihtlauac ALVARADO <cuihtmlauac@tarides.com>
With this PR, it is possible to build and run OCaml.org on OCaml 5 with
The build was failing due to problems with a configuration script in ocamlnet, a transitive dependency of OCaml.org, through package River. For details on the problem in ocamlnet, see aantron/ocamlnet@7ef255a:
The code in ocamlnet's
configure
script is here. cc @gerdstolpmannThis PR pins ocamlnet to a fork with the above workaround, until ocamlnet is fixed upstream and released. See the OCaml 5 compatibility MR in ocamlnet.
This PR points package
ocamlnet
to my own fork on GitHub, which could become a problem forgit bisect
or other purposes in the future, if the fork were to become inaccessible. However, I see that OCaml.org already has dependencies pointed to other repos, so perhaps this is fine. Please let me know if you'd like me to put the ocamlnet patch somewhere else.