opam-version: "2.0"
maintainer: "Anders Fugmann <anders@fugmann.net>"
authors: "Anders Fugmann"
homepage: "https://github.com/andersfugmann/ppx_protocol_conv"
dev-repo: "git+https://github.com/andersfugmann/ppx_protocol_conv"
bug-reports: "https://github.com/andersfugmann/ppx_protocol_conv/issues"
build: [
  ["dune" "subst"] {pinned}
  ["dune" "build" "-p" name "-j" jobs]
  ["dune" "runtest" "-p" name "-j" jobs] {with-test}
]
depends: [
  "ocaml" {>= "4.04"}
  "base" {< "v0.14"}
  "dune" {>= "1.2"}
  "ppxlib" {>= "0.9.0" & < "0.15.0"}
  "ppx_sexp_conv" {with-test & < "v0.14"}
  "sexplib" {with-test & < "v0.14"}
  "alcotest" {with-test & >= "0.8.0"}
]
synopsis:
  "Ppx for generating serialisation and de-serialisation functions of ocaml types"
description: """
Ppx_protocol_conv generates code to serialize and de-serialize
types. The ppx itself does not contain any protocol specific code,
but relies on 'drivers' that defines serialisation and
de-serialisation of basic types and structures.

Pre-defined drivers are available in separate packages:
ppx_protocol_conv_json (Yojson.Safe.json)
ppx_protocol_conv_jsonm (Ezjson.value)
ppx_protocol_conv_msgpack (Msgpck.t)
ppx_protocol_conv_xml-light (Xml.xml)
ppx_protocol_conv_xmlm (Xmlm.node)
ppx_protocol_conv_yaml (Yaml.value)"""
url {
  src:
    "https://github.com/andersfugmann/ppx_protocol_conv/archive/5.1.1.tar.gz"
  checksum: [
    "md5=cfb803fb5331587cb7f9d4a5e80747ef"
    "sha512=8424bfdaa8de6472b1ccc423f8ed7499efe4de849aac1217f053c851cb8ca1c63cf5fb502ea6a0bc3ee8dd4869f46a30289824c7bf8e9dd6927a80e5e9aa88a0"
  ]
}
