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"
build: [
  ["rm" "setup.ml"] {ocaml:version >= "4.00.0"}
  ["oasis" "setup"] {ocaml:version >= "4.00.0"}
  ["ocaml" "setup.ml" "-configure" "--prefix" prefix]
  ["ocaml" "setup.ml" "-build"]
  ["ocaml" "setup.ml" "-doc"] {with-doc}
]
remove: [["ocamlfind" "remove" "sqlexpr"]]
depends: [
  "ocaml"
  ("batteries" {= "1.5.0"} | "batteries" {= "1.4.3"} | "estring")
  "csv"
  ("extlib" | "extlib-compat")
  "lwt" {< "4.0.0"}
  "ocamlfind"
  ("sqlite3" {>= "2.0.4"} | "sqlite3" {= "2.0.3"})
  "oasis" {< "0.4.7"}
  "ocamlbuild" {build}
]
install: ["ocaml" "setup.ml" "-install"]
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://github.com/downloads/mfp/ocaml-sqlexpr/ocaml-sqlexpr-0.3.0.tar.gz"
  checksum: "md5=96722f60c3059d68c5d1bcd5e5196676"
}
