opam-version: "2.0"
maintainer:   [ "Romain Calascibetta <romain.calascibetta@gmail.com>" ]
authors:      [ "Romain Calascibetta <romain.calascibetta@gmail.com>" ]
homepage:     "https://github.com/mirage/checkseum"
bug-reports:  "https://github.com/mirage/checkseum/issues"
dev-repo:     "git+https://github.com/mirage/checkseum.git"
doc:          "https://mirage.github.io/checkseum/"
license:      "MIT"
synopsis:     "Adler-32, CRC32 and CRC32-C implementation in C and OCaml"
description: """
Checkseum is a library to provide implementation of Adler-32, CRC32 and CRC32-C
in C and OCaml.

This library use the linking trick to choose between the C implementation
(checkseum.c) or the OCaml implementation (checkseum.ocaml). This library is on
top of optint to get the best representation of an int32. """

build: [
  [ "dune" "build" "-p" name "-j" jobs ]
  [ "./install/install.ml" ]
  [ "dune" "runtest" "-p" name "-j" jobs ] {with-test}
]

install: [
  [ "dune" "install" "-p" name ] {with-test}
  [ "./test/test_runes.ml" ] {with-test}
]

depends: [
  "ocaml"         {>= "4.07.0"}
  "dune"          {>= "2.6.0"}
  "dune-configurator"
  "optint"        {>= "0.0.3" & < "0.0.5"}
  "base-bytes"
  "bigarray-compat"
  "alcotest"      {with-test}
  "bos"           {with-test}
  "astring"       {with-test}
  "fmt"           {with-test}
  "fpath"         {with-test}
  "rresult"       {with-test}
  "ocamlfind"     {build & with-test}
]

depopts: [
  "ocaml-freestanding"
  "mirage-xen-posix"
]

conflicts: [
  "mirage-xen-posix" {< "3.1.0"}
  "ocaml-freestanding" {< "0.4.3"}
]
url {
  src:
    "https://github.com/mirage/checkseum/releases/download/v0.2.1/checkseum-v0.2.1.tbz"
  checksum: [
    "sha256=c50eb8e499d870cea25471ced126e718a5d1cc8b34a99960239a5d6218218beb"
    "sha512=45e625ab37b93cd7888e3b633bc76e2db61be4cc51659115d128d59c6ebd03ce8fbeefdfabc799d5a257fdb8404a5b3b03c7ca4c5c5e45877fc6d35c758e350d"
  ]
}
