opam-version: "2.0"
maintainer: "Sail Devs <cl-sail-dev@lists.cam.ac.uk>"
authors: [
  "Alasdair Armstrong"
  "Thomas Bauereiss"
  "Brian Campbell"
  "Shaked Flur"
  "Jonathan French"
  "Kathy Gray"
  "Robert Norton"
  "Christopher Pulte"
  "Peter Sewell"
  "Mark Wassell"
]
homepage: "http://www.cl.cam.ac.uk/~pes20/sail/"
bug-reports: "https://github.com/rems-project/sail/issues"
license: "BSD3"
dev-repo: "git+https://github.com/rems-project/sail.git"
build: [make "INSTALL_DIR=%{prefix}%" "SHARE_DIR=%{sail:share}%" "isail"]
install: [make "INSTALL_DIR=%{prefix}%" "SHARE_DIR=%{sail:share}%" "install"]
depends: [
  "ocaml" {>= "4.06.1"}
  "ocamlfind" {build} 
  "ocamlbuild" {build}
  "zarith"
  "menhir" {build}
  "linenoise" {>= "1.1.0"}
  "ott" {>= "0.28" & build}
  "lem" {>= "2018-12-14"}
  "linksem" {>= "0.3"}
  "omd" {>= "1.3.1" & < "2.0.0~alpha1"}
  "conf-gmp"
  "conf-zlib"
  "base64" {>= "3.1.0"}
  "yojson" {>= "1.6.0"}
  "pprint"
]
synopsis:
  "Sail is a language for describing the instruction semantics of processors"
description:
  """Sail is a language for describing the instruction-set
architecture (ISA) semantics of processors. Sail aims to provide a
engineer-friendly, vendor-pseudocode-like language for describing
instruction semantics. It is essentially a first-order imperative
language, but with lightweight dependent typing for numeric types and
bitvector lengths, which are automatically checked using Z3. It has
been used for several papers, available from
http://www.cl.cam.ac.uk/~pes20/sail/."""
url {
  src: "https://github.com/rems-project/sail/archive/0.14.tar.gz"
  checksum: [
    "md5=2f603673d22508f622a378d11accbd6e"
    "sha512=bb0521dd7ab78d2756c7fecb715e7fef2ad9fc1731d56c9199c83b768c0fa4d9d84b1e5b5304f9c706fc9eac8186923dc81225f7a0d36f66c15ef6801be9102d"
  ]
}
