From 4221b50acbabdce24b888136e7c7e33573ce2838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Sat, 3 Feb 2024 16:12:00 +0100 Subject: [PATCH] gnu: Add ocaml-grain-dypgen. * gnu/packages/ocaml.scm (ocaml-grain-dypgen): New variable. Signed-off-by: Julien Lepiller Change-Id: I9804cb17863c112d57f0f93b414e568707dae88d --- gnu/packages/ocaml.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 3a8c93cd9b..07d8f21156 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2371,6 +2371,40 @@ it provides a parser, a serializer, and a pretty printer.") (home-page "https://github.com/ocaml-toml/To.ml") (license license:expat))) +(define-public ocaml-grain-dypgen + (package + (name "ocaml-grain-dypgen") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grain-lang/dypgen") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jyxkvi75nchk5kmhqixmjy70z55gmlqa83pxn0hsv2qxvyqxavw")))) + (build-system ocaml-build-system) + (arguments + (list + ;; Upstream does not have a test suite. + #:tests? #f + #:make-flags #~(let ((out #$output)) + (list (string-append "OCAMLLIBDIR=" out + "/lib/ocaml/site-lib") + (string-append "BINDIR=" out "/bin") + (string-append "MANDIR=" out "/share/man"))) + #:phases #~(modify-phases %standard-phases + (delete 'configure)))) + (properties `((upstream-name . "grain_dypgen"))) + (home-page "https://github.com/grain-lang/dypgen") + (synopsis "Self-extensible parsers and lexers for OCaml") + (description + "This package provides a @acronym{GLR, generalized LR} parser generator +for OCaml. It is able to generate self-extensible parsers (also called +adaptive parsers) as well as extensible lexers for the parsers it produces.") + (license license:cecill-b))) + (define-public ocaml-topkg (package (name "ocaml-topkg")