Closed Lelio-Brun closed 2 months ago
The lower-bounds on the menhir
dependency constraint seem too lose. After downgrading
The following actions will be performed:
=== remove 4 packages
- remove menhirCST 20231231 [conflicts with dune]
- remove menhirLib 20231231 [conflicts with dune]
- remove menhirSdk 20231231 [conflicts with dune]
- remove seq base
=== downgrade 3 packages
- downgrade dune 3.16.0 to 2.8.5 [required by obelisk]
- downgrade menhir 20231231 to 20160303 [required by obelisk]
- downgrade re 1.11.0 to 1.3.0 [required by obelisk]
=== recompile 1 package
- recompile obelisk 0.7.0 (pinned)
=== install 3 packages
- install base-bytes base [required by re]
- install ocamlbuild 0.14.0 [required by menhir]
- install ocamlfind 1.9.1 [required by menhir]
the build fails with
#=== ERROR while compiling obelisk.0.7.0 ======================================#
# context 2.2.0~rc1 | linux/x86_64 | ocaml-base-compiler.4.14.2 | pinned(https://github.com/Lelio-Brun/Obelisk/archive/refs/tags/v0.7.0.tar.gz)
# path ~/.opam/4.14/.opam-switch/build/obelisk.0.7.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p obelisk -j 31 @install
# exit-code 1
# env-file ~/.opam/log/obelisk-7-c8efb0.env
# output-file ~/.opam/log/obelisk-7-c8efb0.out
### output ###
# menhir src/parser__mock.ml.mock (exit 2)
# (cd _build/default && /home/opam/.opam/4.14/bin/menhir src/parser.mly --base src/parser --infer-write-query src/parser__mock.ml.mock)
# /home/opam/.opam/4.14/bin/menhir: unknown option '--infer-write-query'.
# Usage: /home/opam/.opam/4.14/bin/menhir <options> <filenames>
# --base <basename> Specifies a base name for the output file(s)
# --canonical Construct a canonical Knuth LR(1) automaton
# --comment Include comments in the generated code
# --compare-errors <filename> (used twice) Compare two .messages files.
# --compile-errors <filename> Compile a .messages file to OCaml code.
# --coq Generate a formally verified parser, in Coq
# --coq-no-complete Do not generate a proof of completeness
# --coq-no-actions Ignore semantic actions in the Coq output
# --depend Invoke ocamldep and display dependencies
# --dump Describe the automaton in <basename>.automaton
# --echo-errors <filename> Echo the sentences in a .messages file
# --error-recovery (no longer supported)
# --explain Explain conflicts in <basename>.conflicts
# --external-tokens <module> Import token type definition from <module>
# --fixed-exception Declares Error = Parsing.Parse_error
# --follow-construction (undocumented)
# --graph Write grammar's dependency graph to <basename>.dot
# --infer Invoke ocamlc for ahead of time type inference
# --inspection Generate the inspection API (requires --table)
# --interpret Interpret the sentences provided on stdin
# --interpret-show-cst Show a concrete syntax tree upon acceptance
# --interpret-error Interpret one sentence that should end in an error
# --lalr Construct an LALR(1) automaton
# --list-errors Produce a list of erroneous inputs
# --log-automaton <level> Log information about the automaton
# --log-code <level> Log information about the generated code
# --log-grammar <level> Log information about the grammar
# --no-code-inlining (undocumented)
# --no-inline Ignore the %inline keyword.
# --no-pager (undocumented)
# --no-prefix (undocumented)
# --no-stdlib Do not load the standard library
# --ocamlc <command> Specifies how ocamlc should be invoked
# --ocamldep <command> Specifies how ocamldep should be invoked
# --only-preprocess Print grammar and exit
# --only-preprocess-u Print grammar with unit actions and exit
# --only-preprocess-uu Print grammar with unit actions & tokens and exit
# --only-tokens Generate token type definition only, no code
# --raw-depend Invoke ocamldep and echo its raw output
# --stdlib <directory> Specify where the standard library lies
# --strict Warnings about the grammar are errors
# --suggest-comp-flags Suggest compilation flags for ocaml{c,opt}
# --suggest-link-flags-byte Suggest link flags for ocamlc
# --suggest-link-flags-opt Suggest link flags for ocamlopt
# --suggest-menhirLib Suggest where is MenhirLib
# --suggest-ocamlfind Show whether Menhir was installed using ocamlfind
# --table Use the table-based back-end
# --timings Display internal timings
# --trace Include tracing instructions in the generated code
# --unused-token <token> Do not warn that <token> is unused
# --unused-tokens Do not warn about any unused token
# --update-errors <filename> Update auto-comments in a .messages file
# --version Show version number and exit
# -b <basename> Synonymous with --base <basename>
# -lg Synonymous with --log-grammar
# -la Synonymous with --log-automaton
# -lc Synonymous with --log-code
# -t Synonymous with --table
# -v Synonymous with --dump --explain
# -help Display this list of options
# --help Display this list of options
It seems that --infer-write-query
was introduced in https://gitlab.inria.fr/fpottier/menhir/blob/master/CHANGES.md#20180523
@Lelio-Brun please port these fixes also to your main branch
The main branch of my package?
Yes please. There is no need to re-tag or re-release since the metadata used by opam are the ones on this repository, but then they will be fixed already for the next releases and for people using the dev version
I see, it's done already!
Thanks
obelisk.0.7.0
Pretty-printing for Menhir files Obelisk is a simple tool which produces pretty-printed output from a Menhir parser file (.mly). It is inspired from yacc2latex and is also written in OCaml, but is aimed at supporting features from Menhir instead of only those of ocamlyacc.
:camel: Pull-request generated by opam-publish v2.3.0