File: dune-project

package info (click to toggle)
ppxlib 0.37.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,804 kB
  • sloc: ml: 66,587; sh: 103; makefile: 40; python: 36
file content (73 lines) | stat: -rw-r--r-- 2,405 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
(lang dune 3.8)
(name ppxlib)
(using cinaps 1.0)
(implicit_transitive_deps false)
(cram enable)
(generate_opam_files true)

(version 0.37.0)

(source (github ocaml-ppx/ppxlib))
(license MIT)
(authors "Jane Street Group, LLC <opensource@janestreet.com>")
(maintainers "opensource@janestreet.com")
(documentation "https://ocaml-ppx.github.io/ppxlib/")

(package
 (name ppxlib)
 (depends
;; 5.3 support is still experimental, remember to set the upper bound
;; to 5.3.0 when cutting a release and then back to 5.4.0 afterwards.
  (ocaml (and (and (>= 4.08.0) (< 5.5.0))))
  (ocaml-compiler-libs (>= v0.11.0))
  (ppx_derivers (>= 1.0))
  (sexplib0 (>= v0.12))
  (sexplib0 (and :with-test (>= "v0.15"))) ; Printexc.register_printer in sexplib0 changed
  stdlib-shims
  (ocamlfind :with-test)
  (re (and :with-test (>= 1.9.0)))
  (cinaps (and :with-test (>= v0.12.1)))
  (ocamlformat (and :with-dev-setup (= 0.26.2))))
 (conflicts
  (ocaml-migrate-parsetree (< 2.0.0))
  (ocaml-base-compiler (= 5.1.0~alpha1))
  (ocaml-variants (= 5.1.0~alpha1+options)))
 (synopsis "Standard infrastructure for ppx rewriters")
 (description "Ppxlib is the standard infrastructure for ppx rewriters
and other programs that manipulate the in-memory representation of
OCaml programs, a.k.a the \"Parsetree\".

It also comes bundled with two ppx rewriters that are commonly used to
write tools that manipulate and/or generate Parsetree values;
`ppxlib.metaquot` which allows to construct Parsetree values using the
OCaml syntax directly and `ppxlib.traverse` which provides various
ways of automatically traversing values of a given type, in particular
allowing to inject a complex structured value into generated code.
"))

(package
 (name ppxlib-tools)
 (synopsis "Tools for PPX users and authors")
 (description "Set of helper tools for PPX users and authors.

ppxlib-pp-ast: Command line tool to pretty print OCaml ASTs in a human readable
format.")
 (depends
  (ocaml (>= 4.08.0))
  (ppxlib (= :version))
  (cmdliner (>= 1.3.0))
  (yojson (>= 2.2.2))
  (cinaps (and :with-test (>= v0.12.1)))))

(package
 (name ppxlib-bench)
 (allow_empty)
 (synopsis "Run ppxlib benchmarks")
 (description "Third-party code in benchmarks depends on later versions of the ocaml
than ppxlib itself. Also the benchmark runner has dependencies that ppxlib doesn't
have.")
 (depends
  (ocaml (>= 4.10.0))
  (ppxlib (= :version))
  base
  yojson))