From: Daniel Dickman Subject: Re: devel/dune: missing rdep on devel/git To: Theo Buehler Cc: ports@openbsd.org, chrisz@openbsd.org Date: Sat, 12 Sep 2026 08:38:50 -0400 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