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

[coq] Check version for Coq's (theories ...) field. #3283

Merged
merged 1 commit into from
Mar 24, 2020

Conversation

ejgallego
Copy link
Collaborator

Users willing to use this indeed need to bump their dune-project
version.

@ejgallego ejgallego added the coq label Mar 19, 2020
@ejgallego ejgallego force-pushed the coq+version_theory_field branch 2 times, most recently from d087d3f to a9800dd Compare March 20, 2020 02:09
and+ theories = field "theories" (repeat Coq_lib_name.decode) ~default:[]
and+ theories =
field "theories"
( Dune_lang.Syntax.since Stanza.syntax (2, 5)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why don't you version it using the version of the coq extension? (syntax in this case).

I just noticed that you're using dune's versions for other fields as well. I might be missing something obvious here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main reason is that we declared "0.1" a moving, unsupported target, but you are right this is an ugly hack.

I wasn't planning to version coq lang until we do the first call for "beta testers", the idea was then to set the version to 0.99 , and then if no problem arises declare 1.0 and have regular support.

I think this can happen in 2.5 ; but I'd be happy to bump Coq lang to 0.2 and remove these checks instead (also looking forward to #3270 )

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that after #3270 if we bump Coq to 0.2 we will have to bump dune lang too anyways.

@rgrinberg
Copy link
Member

rgrinberg commented Mar 20, 2020 via email

@ejgallego
Copy link
Collaborator Author

Sure, but that still seems like the right way to go (require dune 2.5 and 0.2 for coq).

Ok, will bump Coq to 0.2 then, and keep the 2.5 bump.

@ejgallego ejgallego force-pushed the coq+version_theory_field branch from a9800dd to 5d3aeec Compare March 20, 2020 06:45
@ghost
Copy link

ghost commented Mar 24, 2020

The versioning of coq fields should be controlled by the version of the coq extension, not the version of the dune language.

For extensions that are still in the 0.x unstable state, you can either say that 0.N is a moving target or increment the minor version. This part is up to the extension author. If you choose the later, #3270 will help "connect" the extension versions to the dune language versions.

@ejgallego ejgallego force-pushed the coq+version_theory_field branch from 5d3aeec to 6a3363a Compare March 24, 2020 16:44
@ejgallego
Copy link
Collaborator Author

Sounds good, even if the 0.x versions of Coq are not meant to stay for long, let's bump in this case.

Users willing to use this indeed need to bump their `dune-project`
version.

Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
@ejgallego ejgallego force-pushed the coq+version_theory_field branch from 6a3363a to 8dababa Compare March 24, 2020 17:41
@ejgallego ejgallego merged commit 574c1e2 into ocaml:master Mar 24, 2020
@ejgallego ejgallego deleted the coq+version_theory_field branch March 24, 2020 18:16
rgrinberg added a commit to rgrinberg/opam-repository that referenced this pull request Apr 10, 2020
…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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants