- github
- ocaml
- opam-repository
- 89a6ae
- compilers,4.14,dune.3.23.0~alpha2,revdeps,reason-react-ppx.0.14.1
(not at the head of any monitored branch or PR)
2026-04-30 02:04.35: New job: test reason-react-ppx.0.14.1 with dune.3.23.0~alpha2, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29824/head (89a6ae888498500bf7c0fc05361da936fc6acacf)
on debian-13-ocaml-4.14/amd64
To reproduce locally:
cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29824/head" && git reset --hard 89a6ae88
git fetch origin master
git merge --no-edit d1c56642b8ca7e1166c90bfe0c74f38007bbad58
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.14@sha256:9fe84ffeeaa92507d198c7af8adb382726e06ae36c031f5ef645a3241cac0353
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn dune.3.23.0~alpha2 3.23.0~alpha2
RUN opam reinstall dune.3.23.0~alpha2; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'dune.3.23.0~alpha2' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall reason-react-ppx.0.14.1; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'reason-react-ppx.0.14.1' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN (opam reinstall --with-test reason-react-ppx.0.14.1) || true
RUN opam reinstall --with-test --verbose reason-react-ppx.0.14.1; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'reason-react-ppx.0.14.1' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2026-04-30 02:04.35: Using cache hint "ocaml/opam:debian-13-ocaml-4.14@sha256:9fe84ffeeaa92507d198c7af8adb382726e06ae36c031f5ef645a3241cac0353-dune.3.23.0~alpha2-reason-react-ppx.0.14.1-89a6ae888498500bf7c0fc05361da936fc6acacf"
2026-04-30 02:04.35: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:9fe84ffeeaa92507d198c7af8adb382726e06ae36c031f5ef645a3241cac0353)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
(run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
(run (shell "opam option solver=builtin-0install && opam config report"))
(env OPAMDOWNLOADJOBS 1)
(env OPAMERRLOGLEN 0)
(env OPAMPRECISETRACKING 1)
(env CI true)
(env OPAM_REPO_CI true)
(run (shell "rm -rf opam-repository/"))
(copy (src .) (dst opam-repository/))
(run (shell "opam repository set-url --strict default opam-repository/"))
(run (network host)
(shell "opam update --depexts || true"))
(run (shell "opam pin add -k version -yn dune.3.23.0~alpha2 3.23.0~alpha2"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.23.0~alpha2;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'dune.3.23.0~alpha2' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall reason-react-ppx.0.14.1;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'reason-react-ppx.0.14.1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (network host)
(shell "(opam reinstall --with-test reason-react-ppx.0.14.1) || true"))
(run (shell "opam reinstall --with-test --verbose reason-react-ppx.0.14.1;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'reason-react-ppx.0.14.1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-04-30 02:04.35: Waiting for resource in pool OCluster
2026-04-30 07:22.16: Waiting for worker…
2026-04-30 07:24.49: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
Updating files: 93% (17711/18887)
Updating files: 94% (17754/18887)
Updating files: 95% (17943/18887)
Updating files: 96% (18132/18887)
Updating files: 97% (18321/18887)
Updating files: 98% (18510/18887)
Updating files: 99% (18699/18887)
Updating files: 100% (18887/18887)
Updating files: 100% (18887/18887), done.
HEAD is now at d1c56642b8 Merge pull request #29820 from jmid/core-0.17.1-bound
Merge made by the 'ort' strategy.
.../chrome-trace/chrome-trace.3.23.0~alpha2/opam | 39 +++++++++++
.../dune-action-plugin.3.23.0~alpha2/opam | 52 ++++++++++++++
.../dune-action-trace.3.23.0~alpha2/opam | 39 +++++++++++
.../dune-build-info.3.23.0~alpha2/opam | 45 ++++++++++++
.../dune-configurator.3.23.0~alpha2/opam | 49 +++++++++++++
packages/dune-glob/dune-glob.3.23.0~alpha2/opam | 42 ++++++++++++
.../dune-private-libs.3.23.0~alpha2/opam | 50 ++++++++++++++
.../dune-rpc-lwt/dune-rpc-lwt.3.23.0~alpha2/opam | 41 +++++++++++
packages/dune-rpc/dune-rpc.3.23.0~alpha2/opam | 44 ++++++++++++
packages/dune-site/dune-site.3.23.0~alpha2/opam | 37 ++++++++++
packages/dune/dune.3.23.0~alpha2/opam | 80 ++++++++++++++++++++++
packages/dyn/dyn.3.23.0~alpha2/opam | 40 +++++++++++
packages/fs-io/fs-io.3.23.0~alpha2/opam | 39 +++++++++++
packages/ocamlc-loc/ocamlc-loc.3.23.0~alpha2/opam | 43 ++++++++++++
packages/ordering/ordering.3.23.0~alpha2/opam | 38 ++++++++++
packages/stdune/stdune.3.23.0~alpha2/opam | 46 +++++++++++++
.../top-closure/top-closure.3.23.0~alpha2/opam | 38 ++++++++++
packages/xdg/xdg.3.23.0~alpha2/opam | 39 +++++++++++
18 files changed, 801 insertions(+)
create mode 100644 packages/chrome-trace/chrome-trace.3.23.0~alpha2/opam
create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.23.0~alpha2/opam
create mode 100644 packages/dune-action-trace/dune-action-trace.3.23.0~alpha2/opam
create mode 100644 packages/dune-build-info/dune-build-info.3.23.0~alpha2/opam
create mode 100644 packages/dune-configurator/dune-configurator.3.23.0~alpha2/opam
create mode 100644 packages/dune-glob/dune-glob.3.23.0~alpha2/opam
create mode 100644 packages/dune-private-libs/dune-private-libs.3.23.0~alpha2/opam
create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.23.0~alpha2/opam
create mode 100644 packages/dune-rpc/dune-rpc.3.23.0~alpha2/opam
create mode 100644 packages/dune-site/dune-site.3.23.0~alpha2/opam
create mode 100644 packages/dune/dune.3.23.0~alpha2/opam
create mode 100644 packages/dyn/dyn.3.23.0~alpha2/opam
create mode 100644 packages/fs-io/fs-io.3.23.0~alpha2/opam
create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.23.0~alpha2/opam
create mode 100644 packages/ordering/ordering.3.23.0~alpha2/opam
create mode 100644 packages/stdune/stdune.3.23.0~alpha2/opam
create mode 100644 packages/top-closure/top-closure.3.23.0~alpha2/opam
create mode 100644 packages/xdg/xdg.3.23.0~alpha2/opam
(from ocaml/opam:debian-13-ocaml-4.14@sha256:9fe84ffeeaa92507d198c7af8adb382726e06ae36c031f5ef645a3241cac0353)
2026-04-30 07:24.52 ---> using "59750879172620501422dd230c4db220684ca7fe3e97409754eb72dcd3390183" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-04-30 07:24.52 ---> using "b9ebb375f27da820f646269f579489455309b96c19083cd92f7f6ddd05a4b5f2" from cache
/home/opam: (run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [Y/n] y
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-30 07:24.52 ---> using "a861010f9e8d58738e62217a8c0fc067b85ae67b915e1ef93e08d814bb3c914c" from cache
/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version 2.5.1
# self-upgrade no
# system arch=x86_64 os=linux os-distribution=debian os-version=13
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 4.14
# invariant ["ocaml-base-compiler" {= "4.14.3"}]
# compiler-packages ocaml-base-compiler.4.14.3, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.3
2026-04-30 07:24.52 ---> using "a880c606232c92d84d818c349c45696fe9be139917bfa5f7b1065b497e8df441" from cache
/home/opam: (env OPAMDOWNLOADJOBS 1)
/home/opam: (env OPAMERRLOGLEN 0)
/home/opam: (env OPAMPRECISETRACKING 1)
/home/opam: (env CI true)
/home/opam: (env OPAM_REPO_CI true)
/home/opam: (run (shell "rm -rf opam-repository/"))
2026-04-30 07:24.52 ---> using "47c085e53aa5880966ff9fc1e1e12a4661255166181f7931a397db06034201cf" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-04-30 07:24.54 ---> using "4f46738dfb91aa0cd6670022d574de26b7ba05050d8f85957ea4872d96399e01" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-30 07:24.54 ---> using "f445e8c26fbca2dd0e343fb9cad949aab8e50ebe8f19361a10c799b6322ab39c" from cache
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [129 kB]
- Fetched 219 kB in 1s (233 kB/s)
- Reading package lists...
-
2026-04-30 07:24.54 ---> using "b966a5b49a15ba3eb63ca44315c18e89b0e8b1ab5327a74622eb8f27705503f7" from cache
/home/opam: (run (shell "opam pin add -k version -yn dune.3.23.0~alpha2 3.23.0~alpha2"))
dune is now pinned to version 3.23.0~alpha2
2026-04-30 07:24.54 ---> using "25765793fc7cef20054e052a9de3d7d38466f3811e35fee48d28bad9710db3b2" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.23.0~alpha2;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'dune.3.23.0~alpha2' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
dune.3.23.0~alpha2 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
- install dune 3.23.0~alpha2 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.23.0~alpha2 (cached)
-> installed dune.3.23.0~alpha2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 07:24.54 ---> using "8638839e5ae5cf3f1965d4f7cf42b88935780d5bcff7e41a79deffdd572bdcbf" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall reason-react-ppx.0.14.1;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'reason-react-ppx.0.14.1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
reason-react-ppx.0.14.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 17 packages
- install cppo 1.8.0 [required by reason]
- install dune-build-info 3.23.0~alpha2 [required by reason]
- install fix 20250919 [required by reason]
- install menhir 20260209 [required by reason]
- install menhirCST 20260209 [required by menhir]
- install menhirGLR 20260209 [required by menhir]
- install menhirLib 20260209 [required by menhir]
- install menhirSdk 20260209 [required by menhir]
- install merlin-extend 0.6.2 [required by reason]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocamlfind 1.9.8 [required by reason]
- install ppx_derivers 1.2.1 [required by ppxlib, reason]
- install ppxlib 0.35.0 [required by reason-react-ppx]
- install reason 3.15.0 [required by reason-react-ppx]
- install reason-react-ppx 0.14.1
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by ppxlib]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cppo.1.8.0 (cached)
-> retrieved dune-build-info.3.23.0~alpha2 (cached)
-> installed cppo.1.8.0
-> retrieved fix.20250919 (cached)
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (cached)
-> installed dune-build-info.3.23.0~alpha2
-> installed fix.20250919
-> retrieved merlin-extend.0.6.2 (cached)
-> installed menhirCST.20260209
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> installed ppx_derivers.1.2.1
-> installed menhirLib.20260209
-> installed menhirGLR.20260209
-> installed merlin-extend.0.6.2
-> retrieved ppxlib.0.35.0 (cached)
-> installed menhirSdk.20260209
-> retrieved reason.3.15.0 (cached)
-> retrieved reason-react-ppx.0.14.1 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> installed ocaml-compiler-libs.v0.12.4
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.17.0
-> installed ocamlfind.1.9.8
-> installed menhir.20260209
-> installed ppxlib.0.35.0
-> installed reason.3.15.0
-> installed reason-react-ppx.0.14.1
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 07:26.08 ---> saved as "be50db5554eb7a35b17b20edff34ebb8414b9e3189bae79bad2d54ba026163e7"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test reason-react-ppx.0.14.1) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile reason-react-ppx 0.14.1
=== install 5 packages
- install csexp 1.5.2 [required by merlin-lib]
- install dot-merlin-reader 4.19-414 [required by merlin]
- install merlin 4.19-414 [required by reason-react-ppx]
- install merlin-lib 4.19-414 [required by merlin]
- install yojson 3.0.0 [required by merlin]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved csexp.1.5.2 (https://opam.ocaml.org/cache)
-> installed csexp.1.5.2
-> retrieved dot-merlin-reader.4.19-414, merlin.4.19-414, merlin-lib.4.19-414 (https://opam.ocaml.org/cache)
-> retrieved reason-react-ppx.0.14.1 (https://opam.ocaml.org/cache)
-> retrieved yojson.3.0.0 (https://opam.ocaml.org/cache)
-> removed reason-react-ppx.0.14.1
-> installed yojson.3.0.0
-> installed merlin-lib.4.19-414
-> installed dot-merlin-reader.4.19-414
-> installed merlin.4.19-414
-> installed reason-react-ppx.0.14.1
Done.
<><> merlin.4.19-414 installed successfully <><><><><><><><><><><><><><><><><><>
=> merlin installed.
Quick setup for VIM
-------------------
Append this to your .vimrc to add merlin to vim's runtime-path:
let g:opamshare = substitute(system('opam var share'),'\n$','','''')
execute "set rtp+=" . g:opamshare . "/merlin/vim"
Also run the following line in vim to index the documentation:
:execute "helptags " . g:opamshare . "/merlin/vim/doc"
Quick setup for EMACS
-------------------
Add opam emacs directory to your load-path by appending this to your .emacs:
(let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
(when (and opam-share (file-directory-p opam-share))
;; Register Merlin
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
(autoload 'merlin-mode "merlin" nil t nil)
;; Automatically start it in OCaml buffers
(add-hook 'tuareg-mode-hook 'merlin-mode t)
(add-hook 'caml-mode-hook 'merlin-mode t)
;; Use opam switch to lookup ocamlmerlin binary
(setq merlin-command 'opam)
;; To easily change opam switches within a given Emacs session, you can
;; install the minor mode https://github.com/ProofGeneral/opam-switch-mode
;; and use one of its "OPSW" menus.
))
Take a look at https://github.com/ocaml/merlin for more information
Quick setup with opam-user-setup
--------------------------------
Opam-user-setup support Merlin.
$ opam user-setup install
should take care of basic setup.
See https://github.com/OCamlPro/opam-user-setup
# To update the current shell environment, run: eval $(opam env)
2026-04-30 07:26.44 ---> saved as "b28dc7888ce98ee0abcf5a28ef19c30da0353e450cf5d2c7df526aa5d32e39d7"
/home/opam: (run (shell "opam reinstall --with-test --verbose reason-react-ppx.0.14.1;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'reason-react-ppx.0.14.1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
The following actions will be performed:
=== recompile 1 package
- recompile reason-react-ppx 0.14.1
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [reason-react-ppx.0.14.1: extract]
-> retrieved reason-react-ppx.0.14.1 (cached)
Processing 2/4: [reason-react-ppx: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "reason-react-ppx" "-j" "71" "@install" (CWD=/home/opam/.opam/4.14/.opam-switch/build/reason-react-ppx.0.14.1)
-> compiled reason-react-ppx.0.14.1
-> removed reason-react-ppx.0.14.1
-> installed reason-react-ppx.0.14.1
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 07:26.52 ---> saved as "320434a730225fa7c48795cda535e999cafc0880de957fdda244bc4f2feb92de"
Job succeeded
2026-04-30 07:27.03: Job succeeded