Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new release] dune-build-info, dune, dune-configurator, dune-action-plugin, dune-private-libs and dune-glob (2.5.0) #16170

Merged
merged 1 commit into from
Apr 11, 2020

Conversation

rgrinberg
Copy link
Member

Embed build informations inside executable

CHANGES:

…lugin, dune-private-libs and dune-glob (2.5.0)

CHANGES:

- Add a `--release` option meaning the same as `-p` but without the
  package filtering. This is useful for custom `dune` invocation in opam
  files where we don't want `-p` (ocaml/dune#3260, @diml)

- Fix a bug introduced in 2.4.0 causing `.bc` programs to be built
  with `-custom` by default (ocaml/dune#3269, fixes ocaml/dune#3262, @diml)

- Allow contexts to be defined with local switches in workspace files (ocaml/dune#3265,
  fix ocaml/dune#3264, @rgrinberg)

- Delay expansion errors until the rule is used to build something (ocaml/dune#3261, fix
  ocaml/dune#3252, @rgrinberg, @diml)

- [coq] Support for theory dependencies and compositional builds using
  new field `(theories ...)` (ocaml/dune#2053, @ejgallego, @rgrinberg)

- From now on, each version of a syntax extension must be explicitely tied to a
  minimum version of the dune language. Inconsistent versions in a
  `dune-project` will trigger a warning for version <=2.4 and an error for
  versions >2.4 of the dune language. (ocaml/dune#3270, fixes ocaml/dune#2957, @voodoos)

- [coq] Bump coq lang version to 0.2. New coq features presented this release
  require this version of the coq lang. (ocaml/dune#3283, @ejgallego)

- Prevent installation of public executables disabled using the `enabled_if` field.
  Installation will now simply skip such executables instead of raising an
  error. (ocaml/dune#3195, @voodoos)

- `dune upgrade` will now try to upgrade projects using versions <2.0 to version
  2.0 of the dune language. (ocaml/dune#3174, @voodoos)

- Add a `top` command to integrate dune with any toplevel, not just
  utop. It is meant to be used with the new `#use_output` directive of
  OCaml 4.11 (ocaml/dune#2952, @mbernat, @diml)

- Allow per-package `version` in generated `opam` files (ocaml/dune#3287, @toots)

- [coq] Introduce the `coq.extraction` stanza. It can be used to extract OCaml
  sources (ocaml/dune#3299, fixes ocaml/dune#2178, @rgrinberg)

- Load ppx rewriters in dune utop and add pps field to toplevel stanza. Ppx
  extensions will now be usable in the toplevel
  (ocaml/dune#3266, fixes ocaml/dune#346, @stephanieyou)

- Add a `(subdir ..)` stanza to allow evaluating stanzas in sub directories.
  (ocaml/dune#3268, @rgrinberg)

- Fix a bug preventing one from running inline tests in multiple modes
  (ocaml/dune#3352, @diml)

- Allow the use of the `%{profile}` variable in the `enabled_if` field of the
  library stanza. (ocaml/dune#3344, @mrmr1993)

- Allow the use of `%{ocaml_version}` variable in `enabled_if` field of the
  library stanza. (ocaml/dune#3339, @voodoos)

- Fix dune build freezing on MacOS when cache is enabled. (ocaml/dune#3249, fixes #ocaml/dune#2973,
  @artempyanykh)
@camelus
Copy link
Contributor

camelus commented Apr 10, 2020

Commit: 7424c3d

A pull request by opam-seasoned @rgrinberg.

☀️ All lint checks passed 7424c3d
  • These packages passed lint tests: dune-action-plugin.2.5.0, dune-build-info.2.5.0, dune-configurator.2.5.0, dune-glob.2.5.0, dune-private-libs.2.5.0, dune.2.5.0

☀️ Installability check (+6)
  • new installable packages (6): dune.2.5.0 dune-action-plugin.2.5.0 dune-build-info.2.5.0 dune-configurator.2.5.0 dune-glob.2.5.0 dune-private-libs.2.5.0

@kit-ty-kate
Copy link
Member

The error message that I haven't seen before is this one:

#=== ERROR while compiling opam-installer.2.0.6 ===============================#
# context              2.0.6 | linux/x86_64 | ocaml-base-compiler.4.10.0 | file:///home/opam/opam-repository
# path                 ~/.opam/4.10/.opam-switch/build/opam-installer.2.0.6
# command              /usr/bin/make opam-installer.install
# exit-code            2
# env-file             ~/.opam/log/opam-installer-25-2c0134.env
# output-file          ~/.opam/log/opam-installer-25-2c0134.out
### output ###
# dune build --profile=release  --promote-install-files  --promote-install-files opam-installer.install
# dune: option `--promote-install-files' cannot be repeated
# Usage: dune build [OPTION]... [TARGET]...
# Try `dune build --help' or `dune --help' for more information.
# make: *** [Makefile:110: opam-installer.install] Error 1

The rest of the failures are unrelated.

Could you tell me if this is expected or not?

@rgrinberg
Copy link
Member Author

Could you tell me if this is expected or not?

I think it's expected. The build of the question has the following method for extracting flags to pass to dune:

DUNE_PROMOTE_ARG := $(shell dune build --help=plain 2>/dev/null | sed -ne 's/.*\(--promote-install-files\).*/ \1/p')

I don't think we can guarantee stability for packages that rely on parsing the help pages for extracting flags.

@kit-ty-kate
Copy link
Member

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment