1{
2 lib,
3 buildDunePackage,
4 ocaml,
5 coqPackages,
6 version ? if lib.versionAtLeast ocaml.version "4.08" then "20250903" else "20231231",
7}:
8
9let
10 fetched = coqPackages.metaFetch ({
11 release."20231231".sha256 = "sha256-veB0ORHp6jdRwCyDDAfc7a7ov8sOeHUmiELdOFf/QYk=";
12 release."20240715".sha256 = "sha256-9CSxAIm0aEXkwF+aj8u/bqLG30y5eDNz65EnohJPjzI=";
13 release."20250903".sha256 = "sha256-ap1OvcvCAuqmFDwhPwMBosHs3cm5NxPW/w1J8AzWduk=";
14 releaseRev = v: "${v}";
15 location = {
16 domain = "gitlab.inria.fr";
17 owner = "fpottier";
18 repo = "menhir";
19 };
20 }) version;
21in
22buildDunePackage {
23 pname = "menhirLib";
24 inherit (fetched) version src;
25
26 minimalOCamlVersion = "4.03";
27
28 meta = with lib; {
29 homepage = "http://pauillac.inria.fr/~fpottier/menhir/";
30 description = "Runtime support library for parsers generated by Menhir";
31 longDescription = ''
32 Menhir is a LR(1) parser generator for the Objective Caml programming
33 language. That is, Menhir compiles LR(1) grammar specifications down
34 to OCaml code. Menhir was designed and implemented by François Pottier
35 and Yann Régis-Gianas.
36 '';
37 license = with licenses; [ lgpl2Only ];
38 maintainers = with maintainers; [ vbgl ];
39 };
40}