opam-version: "2.0"
maintainer: "mfp@acm.org"
authors: ["Mauricio Fernandez <mfp@acm.org>"]
homepage: "http://github.com/mfp/ocaml-sqlexpr"
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception"
dev-repo: "git+https://github.com/mfp/ocaml-sqlexpr.git"
bug-reports: "https://github.com/mfp/ocaml-sqlexpr/issues"
build: [
  ["ocaml" "setup.ml" "-configure" "--prefix" prefix]
  ["ocaml" "setup.ml" "-build"]
  ["ocaml" "setup.ml" "-doc"] {with-doc}
]
install:[
  ["ocaml" "setup.ml" "-install"]
]
remove: [["ocamlfind" "remove" "sqlexpr"]]
depends: [
  "ocaml" {>= "4.02.0" & < "4.04.0"}
  "ppx_tools"
  "estring"
  "csv"
  "lwt" {>= "2.2.0"}
  "ocamlfind"
  ("sqlite3" {>= "2.0.4"} | "sqlite3" {= "2.0.3"})
  "base-unix"
  "ocamlbuild" {build}
  "cppo" {build}
  "cppo_ocamlbuild" {build}
  "re" {build & >= "1.3.0"}
  "ounit" {with-test}
]
synopsis: "Type-safe, convenient SQLite database access."
description: """
Minimalistic library and syntax extension for type-safe, convenient
execution of SQL statements. Currently compatible with Sqlite3.

Sqlexpr features:

* automated prepared statement caching, param binding, data
extraction, error checking (including automatic stmt reset to avoid
BUSY/LOCKED errors in subsequent queries), stmt finalization on db
close, etc.

* HOFs like iter, fold, transaction

* support for different concurrency models: everything is functorized
over a THREAD monad, so you can for instance do concurrent folds/iters
with Lwt

* support for SQL stmt syntax checks and some extra semantic checking
(column names, etc)"""
flags: light-uninstall
url {
  src:
    "https://download.ocamlcore.org/ocaml-sqlexpr/ocaml-sqlexpr/0.7.1/ocaml-sqlexpr-0.7.1.tar.gz"
  checksum: "md5=b6181ef02719eeb6b00dc7c66d275e0f"
}
