opam-version: "2.0"
bug-reports:  "https://github.com/LaurentMazare/ocaml-torch/issues"
homepage:     "https://github.com/LaurentMazare/ocaml-torch"
dev-repo:     "git+https://github.com/LaurentMazare/ocaml-torch.git"
maintainer:   "Laurent Mazare <lmazare@gmail.com>"
authors:      [ "Laurent Mazare" ]

build: [["dune" "build" "-p" name "-j" jobs]]

depends: [
  "base" {>= "v0.11.0" & < "v0.15"}
  "cmdliner"
  "ctypes" {>= "0.5"}
  "ctypes-foreign"
  "dune" {>= "1.3.0"}
  "dune-configurator"
  "libtorch" {>= "1.8.0" & < "1.9.0"}
  "npy"
  "ocaml" {>= "4.08"}
  "ocaml-compiler-libs"
  "ppx_custom_printf" {< "v0.15"}
  "ppx_expect" {< "v0.15"}
  "ppx_sexp_conv" {< "v0.15"}
  "sexplib" {< "v0.15"}
  "stdio" {< "v0.15"}
]

available: arch = "x86_64" & (os = "linux" | os = "macos")
x-ci-accept-failures: [
  "centos-7" # Requires gcc with -std=c++14
  "oraclelinux-7" # Requires gcc with -std=c++14
]

synopsis: "PyTorch bindings for OCaml"
description: """
The ocaml-torch project provides some OCaml bindings for the PyTorch library.
This brings to OCaml NumPy-like tensor computations with GPU acceleration and
tape-based automatic differentiation.
"""

url {
  src: "https://github.com/LaurentMazare/ocaml-torch/archive/0.12.tar.gz"
  checksum: [
    "md5=ed7f1c706ae1d8f70c0db4c6cde1d391"
    "sha512=cc09079eb8b1c876f7416b6446c9f5439b7fb54e82d8cbad778ef8bd59d62dc2681e84f54fc69c974a0ed67d3a435e6108b4303cc1c424b8dc89fdfa5992d9d7"
  ]
}
