Bug 250408 - lang/ocaml - update to 4.11.1
Summary: lang/ocaml - update to 4.11.1
Status: In Progress
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Alexey Dokuchaev
Depends on:
Reported: 2020-10-16 21:29 UTC by break19
Modified: 2021-07-17 09:21 UTC (History)
9 users (show)

See Also:
bugzilla: maintainer-feedback? (michipili)
break19: maintainer-feedback+

patch1/2 for asm (384 bytes, patch)
2020-10-16 21:29 UTC, break19
break19: maintainer-approval?
Details | Diff
patch 2/2 for asm (947 bytes, patch)
2020-10-16 21:30 UTC, break19
break19: maintainer-approval?
Details | Diff
Makefile patch (2.91 KB, patch)
2020-10-16 21:31 UTC, break19
no flags Details | Diff
ocaml411.patch - full patch (w/o powerpc) (112.84 KB, patch)
2020-11-29 21:58 UTC, Greg V
no flags Details | Diff
ocaml411-extras.patch (camlp4/5, labltk, findlib) (24.66 KB, patch)
2020-12-05 11:07 UTC, Greg V
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description break19 2020-10-16 21:29:40 UTC
Created attachment 218814 [details]
patch1/2 for asm

Updating to the latest ocaml release seems to be fairly straightforward.

Hacked at the Makefile a bit to remove stuff that isn't needed for compiling at least on my system, as well as references to postscript documentation that does not exist.

Also modified the asm patch for clang11 and made it reflect the new file locations.
Comment 1 break19 2020-10-16 21:30:20 UTC
Created attachment 218815 [details]
patch 2/2 for asm
Comment 2 break19 2020-10-16 21:31:57 UTC
Created attachment 218816 [details]
Makefile patch

This is simply a diff for the port Makefile, showing what was changed there to allow it to compile and install on my amd64, 13-CURRENT
Comment 3 break19 2020-10-19 00:35:43 UTC
It appears I made an error when creating the patches, one of the .rodata should be 16, not 8.

However, it appears that ocaml has adding this on their end in trunk and will be in the next release. See this now-merged Pull Request: https://github.com/ocaml/ocaml/pull/9981
Comment 4 Fernando Apesteguía freebsd_committer 2020-10-19 14:25:54 UTC
^Triage: If there is a changelog or release notes URL available for this version, please add it to the URL field.

Comment 5 Greg V 2020-11-29 18:52:41 UTC
Do we even need to pass the AS=.. stuff anymore since https://github.com/ocaml/ocaml/pull/9437 landed?
Comment 6 Greg V 2020-11-29 21:58:30 UTC
Created attachment 220083 [details]
ocaml411.patch - full patch (w/o powerpc)

> Do we even need to pass the AS=.. stuff anymore

So we don't, at least on amd64 and aarch64.


Here's a more complete version of the patch (not just makefile) with extra fixes.

- remove all BROKEN, aarch64 works with native codegen now, the others should be fine with just the interpreter
- remove X11 option, the graphics library is not bundled with OCaml anymore since 4.09!
- change '-no-pthread' to '--disable-systhreads', adjust other things for new configure
  - wait, why do we even support building without threads?
- drop spacetime profiler, it will be gone in 4.12 https://github.com/ocaml/ocaml/pull/9948 and we've had some *weird* stuff around it in the port (defined(NO_PROFILE) || ${ARCH:Mpowerpc} || ${ARCH:Mamd64} ---- what? it's actually *only* for amd64 but amd64 is excluded? also the TMPPLIST thing in post-install??)
- unfortunately I've had to drop all the powerpc64 patches as they don't apply anymore (mostly because of directory renames, also because lots of non-FreeBSD-specific powerpc64 stuff has landed upstream already)

Can the powerpc64 crowd please upstream whatever patches are still necessary?? (Probably mostly just the configure script?)
Comment 7 Greg V 2020-12-05 11:07:28 UTC
Created attachment 220275 [details]
ocaml411-extras.patch (camlp4/5, labltk, findlib)

Corresponding updates for devel/ocaml-camlp4, devel/ocaml-camlp5, devel/ocaml-findlib, x11-toolkits/ocaml-labltk
Comment 8 Mikael Urankar freebsd_committer 2020-12-06 10:13:51 UTC
@danfe: are you still working on it?
Comment 9 Alexey Dokuchaev freebsd_committer 2020-12-07 04:09:21 UTC
(In reply to Mikael Urankar from comment #8)
Yes, I am.  Regardless of the exact upgrade path (up to the latest version or via 4.07 as I've originally planned), it's not as simple as updating the port on its own, and might also require an exp-run.  Current patch also suggests --disable-force-safe-string which I'd like to avoid as well.
Comment 10 Mikael Urankar freebsd_committer 2021-06-03 16:33:09 UTC
Any update on this issue?
Comment 11 Alexey Dokuchaev freebsd_committer 2021-06-07 10:34:20 UTC
(In reply to Mikael Urankar from comment #10)
> Any update on this issue?
Yes, it's cooking.  I might or might need to request an exp-run on this, depending on several more build cycles of my own, stay tuned.
Comment 12 pr 2021-06-28 13:13:55 UTC
Should this help Mikael Urankar, comment #10, and Alexey Dokuchaev, comment #11, I can confirm Greg'patches from comment #7 and earlier can build successfully (had to patch by hand because the patches are a little misaligned with a recent port tree).

The ocaml compiler seems to work (produces depending ports).
Comment 13 Mikael Urankar freebsd_committer 2021-07-17 09:21:41 UTC
(In reply to Alexey Dokuchaev from comment #11)
Do you need help on this issue? This is a major blocker on FreeBSD aarch64 for many years now.