Skip to content

fix(melange): revert default sandboxing - #15418

Merged
anmonteiro merged 1 commit into
ocaml:mainfrom
anmonteiro:anmonteiro/melange-revert-sandboxing
Jul 4, 2026
Merged

fix(melange): revert default sandboxing#15418
anmonteiro merged 1 commit into
ocaml:mainfrom
anmonteiro:anmonteiro/melange-revert-sandboxing

Conversation

@anmonteiro

Copy link
Copy Markdown
Collaborator

No description provided.

@anmonteiro anmonteiro added the melange Melange rules and generator label Jul 4, 2026
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
@anmonteiro
anmonteiro force-pushed the anmonteiro/melange-revert-sandboxing branch from b23ce34 to 0e9c0cf Compare July 4, 2026 21:02
@anmonteiro
anmonteiro merged commit c623236 into ocaml:main Jul 4, 2026
30 checks passed
@anmonteiro
anmonteiro deleted the anmonteiro/melange-revert-sandboxing branch July 4, 2026 21:35
@anmonteiro anmonteiro mentioned this pull request Jul 7, 2026
56 tasks
@shonfeder shonfeder added the regression A defect in previously working behavior, generally breaks existing user workflows label Jul 7, 2026
@Alizter Alizter added this to the 3.25.0 milestone Jul 8, 2026
anmonteiro added a commit to anmonteiro/dune that referenced this pull request Jul 20, 2026
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
anmonteiro added a commit that referenced this pull request Jul 20, 2026
Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
avsm pushed a commit to ocaml/opam-repository that referenced this pull request Jul 23, 2026
CHANGES:

### Fixed

- Fix an internal error (`modules_and_obj_dir: failed lookup`) when generating
  `js_of_ocaml` archive rules for a dune file that defines two libraries with
  the same name distinguished by mutually exclusive `enabled_if` clauses, as
  `ocaml-re` does for `ppx_expect_common` (ocaml/dune#14904, fixes ocaml/dune#14775, @vouillon)

- Fix passing environment variables to formatter actions  (ocaml/dune#15386, @anmonteiro)

- Fix missing source dependency in the sandbox when preprocessing Melange
  sources (ocaml/dune#15395, @anmonteiro)

- Treat OCaml compiler packages version 5.5 or newer as relocatable so their
  installations do not use the toolchain cache (ocaml/dune#15444, fixes ocaml/dune#15443, @Alizter)

- Fix `build_runtime_flags` given in a `js_of_ocaml`/`wasm_of_ocaml` field of
  an executable being silently ignored in separate compilation mode: such
  executables were given the workspace-shared standalone runtime, which is
  built with the default flags. Executables customizing `build_runtime_flags`
  now get their own standalone runtime again. (ocaml/dune#15455, @hhugo)

- Use installed filenames for local package binaries in `%{bin:...}` PATH
  layouts on Windows (ocaml/dune#15518, fixes ocaml/dune#15512, @Alizter)

### Changed

- Revert sandboxing Melange rules by default in the `(library ..)` and
  `(melange.emit ..)` stanzas. In Melange libraries with many modules, sandbox
  creation / destruction dominates build time and adds significant overhead to
  build time (ocaml/dune#15418, @anmonteiro)
craff pushed a commit to craff/opam-repository that referenced this pull request Jul 25, 2026
CHANGES:

### Fixed

- Fix an internal error (`modules_and_obj_dir: failed lookup`) when generating
  `js_of_ocaml` archive rules for a dune file that defines two libraries with
  the same name distinguished by mutually exclusive `enabled_if` clauses, as
  `ocaml-re` does for `ppx_expect_common` (ocaml/dune#14904, fixes ocaml/dune#14775, @vouillon)

- Fix passing environment variables to formatter actions  (ocaml/dune#15386, @anmonteiro)

- Fix missing source dependency in the sandbox when preprocessing Melange
  sources (ocaml/dune#15395, @anmonteiro)

- Treat OCaml compiler packages version 5.5 or newer as relocatable so their
  installations do not use the toolchain cache (ocaml/dune#15444, fixes ocaml/dune#15443, @Alizter)

- Fix `build_runtime_flags` given in a `js_of_ocaml`/`wasm_of_ocaml` field of
  an executable being silently ignored in separate compilation mode: such
  executables were given the workspace-shared standalone runtime, which is
  built with the default flags. Executables customizing `build_runtime_flags`
  now get their own standalone runtime again. (ocaml/dune#15455, @hhugo)

- Use installed filenames for local package binaries in `%{bin:...}` PATH
  layouts on Windows (ocaml/dune#15518, fixes ocaml/dune#15512, @Alizter)

### Changed

- Revert sandboxing Melange rules by default in the `(library ..)` and
  `(melange.emit ..)` stanzas. In Melange libraries with many modules, sandbox
  creation / destruction dominates build time and adds significant overhead to
  build time (ocaml/dune#15418, @anmonteiro)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

melange Melange rules and generator regression A defect in previously working behavior, generally breaks existing user workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants