[new release] dune (15 packages) (3.13.0)#25081
Merged
mseri merged 1 commit intoocaml:masterfrom Jan 19, 2024
Merged
Conversation
CHANGES: ### Added - Add command `dune cache clear` to completely delete all traces of the Dune cache. (ocaml/dune#8975, @nojb) - Allow to disable Coq 0.8 deprecation warning (ocaml/dune#9439, @ejgallego) - Allow `OCAMLFIND_TOOLCHAIN` to be set per context in the workspace file through the `env` stanza. (ocaml/dune#9449, @rgrinberg) - Menhir: generate `.conflicts` file by default. Add new field to the `(menhir)` stanza to control the generation of this file: `(explain <blang expression>)`. Introduce `(menhir (flags ...) (explain ...))` field in the `(env)` stanza, delete `(menhir_flags)` field. All changes are guarded under a new version of the Menhir extension, 3.0. (ocaml/dune#9512, @nojb) - Directory targets can now be cached. (ocaml/dune#9535, @rleshchinskiy) - It is now possible to use special forms such as `(:include)` and variables `%{read-lines:}` in `(modules)` and similar fields. Note that the dependencies introduced in this way (ie the files being read) must live in a different directory than the stanza making use of them. (ocaml/dune#9578, @nojb) - Remove warning 30 from default set for projects where dune lang is at least 3.13 (ocaml/dune#9568, @gasche) - Add `coqdoc_flags` field to `coq` field of `env` stanza allowing the setting of workspace-wide defaults for `coqdoc_flags`. (ocaml/dune#9280, fixes ocaml/dune#9139, @Alizter) - ctypes: fix an error where `(ctypes)` with no `(function_description)` would cause an error trying refer to a nonexistent `_stubs.a` dependency (ocaml/dune#9302, fix ocaml/dune#9300, @emillon) ### Changed - Check that package names in `(depends)` and related fields in `dune-project` are well-formed. (ocaml/dune#9472, fixes ocaml/dune#9270, @ElectreAAS) ### Fixed - Do not ignore `(formatting ..)` settings in context or workspace files (ocaml/dune#8447, @rgrinberg) - Fixed a bug where Dune was incorrectly parsing the output of coqdep when it was escaped, as is the case on Windows. (ocaml/dune#9231, fixes ocaml/dune#9218, @Alizter) - Copying mode for sandboxes will now follow symbolic links (ocaml/dune#9282, @rgrinberg) - Forbid the empty `(binaries ..)` field in the `env` stanza in the workspace file unless language version is at least 3.2. - [coq] Fix bug in computation of flags when composed with boot theories. (ocaml/dune#9347, fixes ocaml/dune#7909, @ejgallego) - Fixed a bug where the `(select)` field of the `(libraries)` field of the `(test)` stanza wasn't working properly. (ocaml/dune#9387, fixes ocaml/dune#9365, @Alizter) - Fix handling of the `PATH` argument to `dune init proj NAME PATH`. An intermediate directory called `NAME` is no longer created if `PATH` is supplied, so `dune init proj my_project .` will now initialize a project in the current working directory. (ocaml/dune#9447, fixes ocaml/dune#9209, @shonfeder) - Experimental doc rules: Correctly handle the case when a package depends upon its own sublibraries (ocaml/dune#9461, fixes ocaml/dune#9456, @jonludlam) - Resolve various public binaries to their build location, rather than to where they're copied in the `_build/install` directory (ocaml/dune#9496, fixes ocaml/dune#7908, @rgrinberg). - Correctly ignore warning flags in vendored projects (ocaml/dune#9515, @rgrinberg) - Use watch exclusions in watch mode on MacOS (ocaml/dune#9643, fixes ocaml/dune#9517, @PoorlyDefinedBehaviour) - Fix merlin configuration for `(include_subdirs qualified)` modules (ocaml/dune#9659, fixes ocaml/dune#8297, @rgrinberg) - Fix handling of `enabled_if` in binary install stanzas. Previously, we'd ignore the result of `enabled_if` when evaluating `%{bin:..}` (ocaml/dune#9707, @rgrinberg)
Contributor
Author
|
This should ideally be merged after #25078. |
14 tasks
Contributor
Author
|
all good, no regressions here. |
Member
|
I agree, the falures seem to be the usual ones or a few timeouts due to the CI overload |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fast, portable, and opinionated build system
CHANGES:
Added
Add command
dune cache clearto completely delete all traces of the Dunecache. (Add
dune cache clearcommand dune#8975, @nojb)Allow to disable Coq 0.8 deprecation warning ([coq] Allow to disable Coq language deprecation warning. dune#9439, @ejgallego)
Allow
OCAMLFIND_TOOLCHAINto be set per context in the workspace filethrough the
envstanza. (fix(pkg): allow OCAMLFIND_TOOLCHAIN to be set per context dune#9449, @rgrinberg)Menhir: generate
.conflictsfile by default. Add new field to the(menhir)stanza to control the generation of this file:(explain <blang expression>). Introduce(menhir (flags ...) (explain ...))field in the(env)stanza, delete(menhir_flags)field. All changes are guarded undera new version of the Menhir extension, 3.0. (Add (explain) field to (menhir) stanza dune#9512, @nojb)
Directory targets can now be cached. (Cache directory targets dune#9535, @rleshchinskiy)
It is now possible to use special forms such as
(:include)and variables%{read-lines:}in(modules)and similar fields. Note that thedependencies introduced in this way (ie the files being read) must live in a
different directory than the stanza making use of them. (Allow expansion in
(modules)field dune#9578, @nojb)Remove warning 30 from default set for projects where dune lang is at least
3.13 (Remove warning 30 from the standard set. dune#9568, @gasche)
Add
coqdoc_flagsfield tocoqfield ofenvstanza allowing the settingof workspace-wide defaults for
coqdoc_flags. (feature(coq): coqdoc_flags in env stanza dune#9280, fixescoqdoc_flagsinenvstanza dune#9139, @Alizter)ctypes: fix an error where
(ctypes)with no(function_description)wouldcause an error trying refer to a nonexistent
_stubs.adependency (fix(ctypes): only function descriptions have stubs dune#9302,fix ctypes: missing rule for stubs when only using a type description dune#9300, @emillon)
Changed
(depends)and related fields indune-projectare well-formed. (Added check on package names in dependencies dune#9472, fixes Writing foo.1.2.3 as a package dependency should give a nice error and a hint dune#9270, @ElectreAAS)
Fixed
Do not ignore
(formatting ..)settings in context or workspace files(refactor: introduce simpler env stanza db dune#8447, @rgrinberg)
Fixed a bug where Dune was incorrectly parsing the output of coqdep when it
was escaped, as is the case on Windows. (fix(coq): unescape \: to : dune#9231, fixes dune does not recognise paths starting with
C:/as absolute on Windows dune#9218, @Alizter)Copying mode for sandboxes will now follow symbolic links (fix: copy sandboxes should copy symlinks as well dune#9282, @rgrinberg)
Forbid the empty
(binaries ..)field in theenvstanza in the workspacefile unless language version is at least 3.2.
[coq] Fix bug in computation of flags when composed with boot theories.
([coq] Correctly handle composed stdlib after coq lang 0.8 dune#9347, fixes [coq] Composition with (boot) theories is not working in Dune 3.8 dune#7909, @ejgallego)
Fixed a bug where the
(select)field of the(libraries)field of the(test)stanza wasn't working properly. (fix: dir_contents from select library dep in test stanza dune#9387, fixes select doesn't work in test stanza dune#9365, @Alizter)Fix handling of the
PATHargument todune init proj NAME PATH. Anintermediate directory called
NAMEis no longer created ifPATHissupplied, so
dune init proj my_project .will now initialize a project inthe current working directory. (fix(init): correct behavior of PATH argument for
dune init projectdune#9447, fixes Initialize new project in current directory dune#9209, @shonfeder)Experimental doc rules: Correctly handle the case when a package depends upon
its own sublibraries (Fix for #9456 dune#9461, fixes Incorrect dependency handling in new odoc rules. dune#9456, @jonludlam)
Resolve various public binaries to their build location, rather than to where
they're copied in the
_build/installdirectory (fix: resolve installed binaries to local paths dune#9496, fixes [coq] Composition with (boot) theories hangs with a cycle in Dune > 3.7 when coq lang > 0.6 dune#7908,@rgrinberg).
Correctly ignore warning flags in vendored projects (refactor: introduce inherited fields in stanza db dune#9515, @rgrinberg)
Use watch exclusions in watch mode on MacOS (fix: use standard_watch_exclusions with fsevents dune#9643, fixes dune build -w exclusion does not work in Mac OS dune#9517,
@PoorlyDefinedBehaviour)
Fix merlin configuration for
(include_subdirs qualified)modules (fix: correctly output -open flags in merlin dune#9659,fixes
(include_subdirs qualified)leads to some spurious ocaml-lsp errors dune#8297, @rgrinberg)Fix handling of
enabled_ifin binary install stanzas. Previously, we'dignore the result of
enabled_ifwhen evaluating%{bin:..}(fix: optional binaries handling dune#9707,@rgrinberg)