ocaml / opam-repository

Main public package repository for opam, the source package manager of OCaml.
https://opam.ocaml.org
Creative Commons Zero v1.0 Universal
516 stars 1.12k forks source link

Package obelisk.0.7.0 #26182

Closed Lelio-Brun closed 2 months ago

Lelio-Brun commented 3 months ago

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

raphael-proust commented 3 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

mseri commented 2 months ago

@Lelio-Brun please port these fixes also to your main branch

Lelio-Brun commented 2 months ago

The main branch of my package?

mseri commented 2 months ago

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

Lelio-Brun commented 2 months ago

I see, it's done already!

mseri commented 2 months ago

Thanks