opam-version: "2.0"
synopsis:
  "A tool to manipulate and validate Scribble-style multiparty protocols"
description:
  "A toolkit to manipulate Scribble-style multiparty protocols, based on classical multiparty session type theory. The toolkit provides means to define global protocols, project to local protocols, convert local protocols to a CFSM representation, and generate OCaml code for protocol implementations."
maintainer: ["Francisco Ferreira"]
authors: ["Francisco Ferreira" "Fangyi Zhou" "Simon Castellan"]
license: "GPL-3.0-or-later"
homepage: "https://nuscr.github.io/nuscr/"
doc: "https://nuscr.github.io/nuscr/docs/"
bug-reports: "https://github.com/nuscr/nuscr/issues"
depends: [
  "menhir" {build & >= "20190924"}
  "ppx_deriving" {>= "4.4"}
  "dune" {>= "1.11.4"}
  "base" {>= "v0.12.0" & < "v0.15"}
  "stdio" {>= "v0.12.0" & < "v0.15"}
  "ppx_sexp_conv" {>= "v0.12.0" & < "v0.15"}
  "ppx_inline_test" {with-test & < "v0.15"}
  "ocamlgraph" {>= "1.8.8"}
  "js_of_ocaml" {>= "3.5.0"}
  "js_of_ocaml-ppx" {>= "3.5.0"}
  "js_of_ocaml-tyxml" {>= "3.5.0"}
  "ppxlib" {>= "0.8.1" & < "0.9.0"}
]
build: [
  ["dune" "subst"] {pinned}
  [
    "dune"
    "build"
    "-p"
    name
    "-j"
    jobs
    "@install"
    "@runtest" {with-test}
    "@doc" {with-doc}
  ]
]
dev-repo: "git+https://github.com/nuscr/nuscr.git"
url {
  src:
    "https://github.com/nuscr/nuscr/releases/download/1.0.0/nuscr-1.0.0.tbz"
  checksum: [
    "sha256=b2b78b2e7684d65c53d8d3aec7349147b860fc586e37bfcff9126d898e86f4d1"
    "sha512=d39fdacdab56788fbdbeda0d5da6d1279881273e188f4437b182f128785bf547cd7ac91c9fcb60e93676385de4db759c6c3279e2748e717171c3749316102e80"
  ]
}
