On Sat, Sep 12, 2026 at 08:38:50AM -0400, Daniel Dickman wrote:


On Sat, 12 Sep 2026, Theo Buehler wrote:

In my last bulk two ocaml ports using dune broke during the fake
step because 'dune install' assumes git to be installed:


If I'm right about what the underlying problem is, I was able to repro in
dune 3.8.3 but not in dune 3.20.2. Looks like the latter might have better
logic for detecting if a port is a git checkout or not.

If the below fixes your issue I'd rather do a dune update as this version
is needed and what I tested for the ocaml 5.3 upgrade that I did locally.

However it will potentially need some plist fixes for !amd64 archs. So
either I can put this in and fix any bulk fallout I see or folks with
other archs can help me with the PLIST checks.

(also note that chrisz@ sent out a proposed update ages ago for an ever
newer dune version, but since this is what I tested for the upgrade path
I'd suggest starting here and looking at another dune update after we get
to ocaml 5.3).

Hey guys,

sadly I don't have time to spare to work on the OCaml ports since the next few years I'm working at a missionary hospital in peru, which is intensive.

Just two recomendation about this porting work:

I'd stay with OCaml 4 in the ports tree as long as possible just to keep the workload low. Active users of OCaml will use opam switches anyway to use the latest OCaml.

Those PLIST quirks for different platforms are a pain in the neck. But most if not all of them can be checked on your normal hardware simply by compiling OCaml and its rdeps with native code compiling disabled via removing your architecture from /usr/ports/infrastructure/mk/arch-defines.mk:
OCAML_NATIVE_ARCHS = aarch64 amd64 i386
OCAML_NATIVE_DYNLINK_ARCHS = aarch64 amd64 i386

note that NAIVE_ARCHS and NATIVE_DYNLINK_ARCHS are identical at the moment. So there are only two types of architectures: native and bytecode only.


Greetings,

Christopher

Attachment: signature.asc
Description: PGP signature

Reply via email to