From 77be892facea814c50c6785e212a9c75827eb388 Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Wed, 5 Jun 2024 13:39:49 +0530 Subject: [PATCH] Pin dune to work around compiler options split ocaml/ocaml@51e5cf226b39986abf03cbaad47cf49a1c35bc69 split the compiler flags for native and bytecode compiler to separate flags. It also changes the flag names which breaks builds of several packages. This commit is a workaround for that change. --- Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 79798fea4..c3b2c4e01 100644 --- a/Makefile +++ b/Makefile @@ -109,8 +109,13 @@ ifeq (1, $(USE_SYS_DUNE_HACK)) opam repo add upstream "git+https://github.com/ocaml/opam-repository.git" --on-switch=$(CONFIG_SWITCH_NAME) --rank 2 opam install --switch=$(CONFIG_SWITCH_NAME) --yes ocamlfind opam install --switch=$(CONFIG_SWITCH_NAME) --yes "dune.$(SANDMARK_DUNE_VERSION)" "dune-configurator.$(SANDMARK_DUNE_VERSION)" - # Pin the version so it doesn't change when installing packages - opam pin add --switch=$(CONFIG_SWITCH_NAME) --yes -n dune "$(SANDMARK_DUNE_VERSION)" + @{ case "$*" in \ + 5.3.*) \ + echo "Pinning dune to fixed version to work around binary and native compiler options split"; \ + opam pin add --yes --switch $* dune."$(SANDMARK_DUNE_VERSION)" https://github.com/punchagan/dune.git#fix-compiler-opts;; \ + *) \ + opam pin add --switch=$(CONFIG_SWITCH_NAME) --yes -n dune "$(SANDMARK_DUNE_VERSION)" ;; \ + esac }; endif ocamls=$(wildcard ocaml-versions/*.json)