|
| 1 | + |
| 2 | +synopsis: "PPX Rewriters for Ocaml, written using Camlp5" |
| 3 | +description: |
| 4 | +""" |
| 5 | +This is a collection of PPX rewriters, re-implementing those based on ppxlib |
| 6 | +and other libraries, but instead based on Camlp5. Included is also a collection |
| 7 | +of support libraries for writing new PPX rewriters. Included are: |
| 8 | + |
| 9 | +pa_assert: ppx_assert |
| 10 | +pa_ppx.deriving, pa_ppx.deriving_plugins (enum, eq, fold, iter, make, map, ord, sexp, show, yojson): |
| 11 | + ppx_deriving, plugins, ppx_sexp_conv, ppx_deriving_yojson |
| 12 | +pa_ppx.expect_test: ppx_expect_test |
| 13 | +pa_ppx.here: ppx_here |
| 14 | +pa_ppx.import: ppx_import |
| 15 | +pa_ppx.inline_test: ppx_inline_test |
| 16 | + |
| 17 | +pa_ppx.undo_deriving: pa_ppx.deriving expands [@@deriving ...] into code; this rewriter undoes that. |
| 18 | +pa_ppx.unmatched_vala: expands to match-cases (support library for camlp5-based PPX rewriters) |
| 19 | +pa_ppx.hashrecons: support for writing AST rewriters that automatically fills in hash-consing boilerplate |
| 20 | +pa_dock: implements doc-comment extraction for camlp5 preprocessors |
| 21 | + |
| 22 | +Many of the reimplementations in fact offer significant enhanced |
| 23 | +function, described in the pa_ppx documentation. In addition, there |
| 24 | +is an extensive test-suite, much of it slightly modified versions of |
| 25 | +the tests for the respective PPX rewriters. |
| 26 | + |
| 27 | +""" |
| 28 | +opam-version: "2.0" |
| 29 | +x-maintenance-intent: [ "(latest)" ] |
| 30 | +maintainer: "Chet Murthy < [email protected]>" |
| 31 | +authors: ["Chet Murthy"] |
| 32 | +homepage: "https://github.com/camlp5/pa_ppx" |
| 33 | +license: "BSD-3-Clause" |
| 34 | +bug-reports: "https://github.com/camlp5/pa_ppx/issues" |
| 35 | +dev-repo: "git+https://github.com/camlp5/pa_ppx.git" |
| 36 | +doc: "https://github.com/camlp5/pa_ppx/doc" |
| 37 | +x-ci-accept-failures: [ "opensuse-tumbleweed" ] |
| 38 | + |
| 39 | +depends: [ |
| 40 | + "ocaml" { >= "4.10.0" & < "5.4.0" } |
| 41 | + "conf-perl" |
| 42 | + "camlp5-buildscripts" { >= "0.03" } |
| 43 | + "camlp5" { >= "8.03.01" } |
| 44 | + "not-ocamlfind" { >= "0.10" } |
| 45 | + "pcre2" |
| 46 | + "result" { >= "1.5" } |
| 47 | + "yojson" { >= "1.7.0" } |
| 48 | + "sexplib0" |
| 49 | + "bos" { >= "0.2.0" } |
| 50 | + "fmt" |
| 51 | + "uint" { >= "2.0.1" } |
| 52 | + "ounit" |
| 53 | + "cppo" |
| 54 | + "sexplib" { with-test & >= "v0.14.0" } |
| 55 | + "ppx_import" { with-test & >= "1.7.1" & <= "1.11.0" } |
| 56 | + "ppx_deriving" { with-test & >= "6.0.2" } |
| 57 | + "ppx_deriving_yojson" { with-test & >= "3.5.2" & >= "3.8.0" } |
| 58 | + "ppx_here" { with-test & >= "v0.13.0" } |
| 59 | + "ppx_sexp_conv" { with-test & >= "v0.13.0" } |
| 60 | +# "expect_test_helpers" { with-test & >= "v0.13.0" } |
| 61 | +] |
| 62 | +conflicts: [ |
| 63 | + "ocaml-option-bytecode-only" |
| 64 | +] |
| 65 | +build: [ |
| 66 | + [make "get-generated"] |
| 67 | + [make "-j%{jobs}%" "DEBUG=-g" "sys"] |
| 68 | + [make "DEBUG=-g" "test"] {with-test} |
| 69 | +] |
| 70 | +install: [make "install"] |
| 71 | +url { |
| 72 | + src: "https://github.com/camlp5/pa_ppx/archive/refs/tags/0.17.tar.gz" |
| 73 | + checksum: [ |
| 74 | + "sha512=2cf78681f647bfca058fe0fa82ff91078c7aaee82e2a44f7988d3a0d858bdefc1e8b51c04e4904eb2d1a9f1867688eb55334a32d62120f1a9d3f514ff17e97b0" |
| 75 | + ] |
| 76 | +} |
0 commit comments