From 9e5687867da327f8d1993b83392324e6e16679ed Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 30 Dec 2016 16:34:09 +0100 Subject: [PATCH] gnu: Add ocaml-ppx-driver. * gnu/packages/ocaml.scm (ocaml-ppx-driver): New variable. --- gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 5820f1599b..83d2632f17 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -2088,3 +2088,32 @@ (define-public ocaml-ppx-optcomp used to handle optional compilations of pieces of code depending of the word size, the version of the compiler, ...") (license license:asl2.0))) + +(define-public ocaml-ppx-driver + (package + (name "ocaml-ppx-driver") + (version "113.33.03") + (source (janestreet-origin "ppx_driver" version + "011zzr45897j49b7iiybb29k7pspcx36mlnp7nh6pxb8b0ga76fh")) + (build-system ocaml-build-system) + (native-inputs + `(("js-build-tools" ,ocaml-js-build-tools) + ("opam" ,opam) + ("ppx-optcomp" ,ocaml-ppx-optcomp))) + (propagated-inputs + `(("ppx-optcomp" ,ocaml-ppx-optcomp) + ("ppx-core" ,ocaml-ppx-core))) + (arguments janestreet-arguments) + (home-page "https://github.com/janestreet/ppx_driver/") + (synopsis "Feature-full driver for OCaml AST transformers") + (description "A driver is an executable created from a set of OCaml AST +transformers linked together with a command line frontend. The aim is to +provide a tool that can be used to: +@enumerate +@item easily view the pre-processed version of a file, no need to construct a + complex command line: @command{ppx file.ml} will do +@item use a single executable to run several transformations: no need to fork + many times just for pre-processing +@item improved errors for misspelled/misplaced attributes and extension points. +@end enumerate") + (license license:asl2.0)))