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).
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/dune/Makefile,v
diff -u -p -u -r1.22 Makefile
--- Makefile 26 Oct 2025 17:29:40 -0000 1.22
+++ Makefile 12 Sep 2026 12:34:20 -0000
@@ -3,7 +3,7 @@ MULTI_PACKAGES = -main -configurator
COMMENT-main = OCaml build system
COMMENT-configurator = OCaml library for gathering system configuration
-VERSION = 3.8.3
+VERSION = 3.20.2
CATEGORIES = devel
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/dune/distinfo,v
diff -u -p -u -r1.7 distinfo
--- distinfo 26 Oct 2025 17:29:40 -0000 1.7
+++ distinfo 12 Sep 2026 12:34:20 -0000
@@ -1,2 +1,2 @@
-SHA256 (dune-3.8.3.tbz) = 4reLqAXO8yDwtZeMTTcf3oq4JUbVrlGgy0UQQhk7W/g=
-SIZE (dune-3.8.3.tbz) = 2048982
+SHA256 (dune-3.20.2.tbz) = sahrLWC9tKi5u2hhvfL58opufLXYM86Br+zOue+cpUk=
+SIZE (dune-3.20.2.tbz) = 2387805
Index: patches/patch-Makefile
===================================================================
RCS file: /cvs/ports/devel/dune/patches/patch-Makefile,v
diff -u -p -u -r1.4 patch-Makefile
--- patches/patch-Makefile 26 Oct 2025 17:29:40 -0000 1.4
+++ patches/patch-Makefile 12 Sep 2026 12:34:20 -0000
@@ -2,7 +2,7 @@ Respect MAKE_JOBS during bootstrap phase
Index: Makefile
--- Makefile.orig
+++ Makefile
-@@ -46,7 +46,7 @@ release: $(BIN)
+@@ -34,7 +34,7 @@ release: $(BIN)
@$(BIN) build @install -p dune --profile dune-bootstrap
$(BIN):
Index: pkg/PFRAG.native-configurator
===================================================================
RCS file: /cvs/ports/devel/dune/pkg/PFRAG.native-configurator,v
diff -u -p -u -r1.5 PFRAG.native-configurator
--- pkg/PFRAG.native-configurator 26 Oct 2025 17:29:40 -0000 1.5
+++ pkg/PFRAG.native-configurator 12 Sep 2026 12:34:20 -0000
@@ -12,10 +12,6 @@ lib/ocaml/stdune/csexp/csexp.a
lib/ocaml/stdune/csexp/csexp.cmx
lib/ocaml/stdune/csexp/csexp.cmxa
lib/ocaml/stdune/csexp/csexp.cmxs
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.a
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cmx
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cmxa
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cmxs
lib/ocaml/stdune/stdune.a
lib/ocaml/stdune/stdune.cmx
lib/ocaml/stdune/stdune.cmxa
Index: pkg/PLIST-configurator
===================================================================
RCS file: /cvs/ports/devel/dune/pkg/PLIST-configurator,v
diff -u -p -u -r1.5 PLIST-configurator
--- pkg/PLIST-configurator 26 Oct 2025 17:29:40 -0000 1.5
+++ pkg/PLIST-configurator 12 Sep 2026 12:34:20 -0000
@@ -90,14 +90,6 @@ lib/ocaml/stdune/fdecl.ml
lib/ocaml/stdune/fdecl.mli
lib/ocaml/stdune/filename.ml
lib/ocaml/stdune/filename.mli
-lib/ocaml/stdune/filesystem_stubs/
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cma
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cmi
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cmt
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.cmti
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.ml
-lib/ocaml/stdune/filesystem_stubs/dune_filesystem_stubs.mli
-@static-lib lib/ocaml/stdune/filesystem_stubs/libdune_filesystem_stubs_stubs.a
lib/ocaml/stdune/float.ml
lib/ocaml/stdune/float.mli
lib/ocaml/stdune/fpath.ml
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/devel/dune/pkg/PLIST-main,v
diff -u -p -u -r1.4 PLIST-main
--- pkg/PLIST-main 26 Oct 2025 17:29:40 -0000 1.4
+++ pkg/PLIST-main 12 Sep 2026 12:34:20 -0000
@@ -7,7 +7,78 @@ lib/ocaml/dune/
lib/ocaml/dune/META
lib/ocaml/dune/dune-package
lib/ocaml/dune/opam
-@so lib/ocaml/stublibs/dlldune_filesystem_stubs_stubs.so
+lib/ocaml/stdune/array.mli
+lib/ocaml/stdune/bit_set.ml
+lib/ocaml/stdune/bit_set.mli
+lib/ocaml/stdune/compact_position.ml
+lib/ocaml/stdune/compact_position.mli
+lib/ocaml/stdune/dune_filesystem_stubs.ml
+lib/ocaml/stdune/dune_filesystem_stubs.mli
+lib/ocaml/stdune/execution_env.ml
+lib/ocaml/stdune/execution_env.mli
+lib/ocaml/stdune/filename_set.ml
+lib/ocaml/stdune/filename_set.mli
+lib/ocaml/stdune/flock.ml
+lib/ocaml/stdune/flock.mli
+lib/ocaml/stdune/format.ml
+lib/ocaml/stdune/format.mli
+lib/ocaml/stdune/lazy.ml
+lib/ocaml/stdune/loc0.mli
+lib/ocaml/stdune/per_item.ml
+lib/ocaml/stdune/per_item.mli
+lib/ocaml/stdune/per_item_intf.ml
+lib/ocaml/stdune/stdune__Array.cmti
+lib/ocaml/stdune/stdune__Bit_set.cmi
+lib/ocaml/stdune/stdune__Bit_set.cmt
+lib/ocaml/stdune/stdune__Bit_set.cmti
+lib/ocaml/stdune/stdune__Bit_set.cmx
+lib/ocaml/stdune/stdune__Compact_position.cmi
+lib/ocaml/stdune/stdune__Compact_position.cmt
+lib/ocaml/stdune/stdune__Compact_position.cmti
+lib/ocaml/stdune/stdune__Compact_position.cmx
+lib/ocaml/stdune/stdune__Dune_filesystem_stubs.cmi
+lib/ocaml/stdune/stdune__Dune_filesystem_stubs.cmt
+lib/ocaml/stdune/stdune__Dune_filesystem_stubs.cmti
+lib/ocaml/stdune/stdune__Dune_filesystem_stubs.cmx
+lib/ocaml/stdune/stdune__Execution_env.cmi
+lib/ocaml/stdune/stdune__Execution_env.cmt
+lib/ocaml/stdune/stdune__Execution_env.cmti
+lib/ocaml/stdune/stdune__Execution_env.cmx
+lib/ocaml/stdune/stdune__Filename_set.cmi
+lib/ocaml/stdune/stdune__Filename_set.cmt
+lib/ocaml/stdune/stdune__Filename_set.cmti
+lib/ocaml/stdune/stdune__Filename_set.cmx
+lib/ocaml/stdune/stdune__Flock.cmi
+lib/ocaml/stdune/stdune__Flock.cmt
+lib/ocaml/stdune/stdune__Flock.cmti
+lib/ocaml/stdune/stdune__Flock.cmx
+lib/ocaml/stdune/stdune__Format.cmi
+lib/ocaml/stdune/stdune__Format.cmt
+lib/ocaml/stdune/stdune__Format.cmti
+lib/ocaml/stdune/stdune__Format.cmx
+lib/ocaml/stdune/stdune__Lazy.cmi
+lib/ocaml/stdune/stdune__Lazy.cmt
+lib/ocaml/stdune/stdune__Lazy.cmx
+lib/ocaml/stdune/stdune__Loc0.cmti
+lib/ocaml/stdune/stdune__Per_item.cmi
+lib/ocaml/stdune/stdune__Per_item.cmt
+lib/ocaml/stdune/stdune__Per_item.cmti
+lib/ocaml/stdune/stdune__Per_item.cmx
+lib/ocaml/stdune/stdune__Per_item_intf.cmi
+lib/ocaml/stdune/stdune__Per_item_intf.cmt
+lib/ocaml/stdune/stdune__Per_item_intf.cmx
+lib/ocaml/stdune/stdune__String_builder.cmi
+lib/ocaml/stdune/stdune__String_builder.cmt
+lib/ocaml/stdune/stdune__String_builder.cmti
+lib/ocaml/stdune/stdune__String_builder.cmx
+lib/ocaml/stdune/stdune__Terminal_signals.cmi
+lib/ocaml/stdune/stdune__Terminal_signals.cmt
+lib/ocaml/stdune/stdune__Terminal_signals.cmti
+lib/ocaml/stdune/stdune__Terminal_signals.cmx
+lib/ocaml/stdune/string_builder.ml
+lib/ocaml/stdune/string_builder.mli
+lib/ocaml/stdune/terminal_signals.ml
+lib/ocaml/stdune/terminal_signals.mli
@so lib/ocaml/stublibs/dllstdune_stubs.so
@man man/man1/dune-build.1
@man man/man1/dune-cache.1
@@ -24,17 +95,22 @@ lib/ocaml/dune/opam
@man man/man1/dune-install.1
@man man/man1/dune-installed-libraries.1
@man man/man1/dune-internal.1
+@man man/man1/dune-monitor.1
@man man/man1/dune-ocaml-merlin.1
@man man/man1/dune-ocaml.1
+@man man/man1/dune-package.1
+@man man/man1/dune-pkg.1
@man man/man1/dune-printenv.1
@man man/man1/dune-promote.1
@man man/man1/dune-promotion.1
@man man/man1/dune-rpc.1
@man man/man1/dune-rules.1
@man man/man1/dune-runtest.1
+@man man/man1/dune-show.1
@man man/man1/dune-shutdown.1
@man man/man1/dune-subst.1
@man man/man1/dune-test.1
+@man man/man1/dune-tools.1
@man man/man1/dune-top.1
@man man/man1/dune-uninstall.1
@man man/man1/dune-upgrade.1