opam-version: "2.0"
maintainer:   "thomas@gazagnaire.org"
authors:      "Thomas Gazagnaire"
license:      "ISC"
homepage:     "https://github.com/mirage/ocaml-git"
bug-reports:  "https://github.com/mirage/ocaml-git/issues"
dev-repo: "git+https://github.com/mirage/ocaml-git.git"
build: [
  ["./configure" "--prefix" prefix  "--%{mirage-types-lwt:enable}%-mirage"]
  [make]
]
install: [make "install"]
remove: [
  ["ocamlfind" "remove" "git"]
  ["rm" "-f" "%{bin}%/ogit"]
]

depends: [
  "ocaml" {>= "4.01.0"}
  "dolog" {>= "0.4" & <= "0.6"}
  "mstruct" {>= "1.3.1"}
  "camlzip" {>= "1.05"}
  "nocrypto" {>= "0.2.0"}
  "uri" {>= "1.3.12"}
  "cmdliner" {< "1.0.0"}
  "ocamlgraph"
  "lwt" {>= "2.4.5"}
  "hex"
  "conduit" {>= "0.6.0" & < "0.99"}
  "ocamlbuild" {build}
  "camlp4"
  "type_conv"
  "sexplib" {<= "113.00.00"}
]
depopts: ["mirage-types-lwt"]
synopsis: "Git format and protocol in pure OCaml"
description: """
Support for on-disk and in-memory Git stores. Can read and write all
the Git objects: the usual blobs, trees, commits and tags but also the
pack files, pack indexes and the index file (where the staging area
lives).

All the objects share a consistent API, and convenience functions are
provided to manipulate the different objects. For instance, it is
possible to make a pack file position independant (as the Zlib
compression might change the relative offsets between the packed
objects), to generate pack indexes from pack files, or to expand
the filesystem of a given commit.

The library comes with a command-line tool called `ogit` which shares
a similar interface with `git`, but where all operations are mapped to
the API exposed `ocaml-git` (and hence using only OCaml code)."""
flags: light-uninstall
url {
  src: "https://github.com/mirage/ocaml-git/archive/1.4.2.tar.gz"
  checksum: "md5=f0c9775031fc4c14cc47808daa74b7e3"
}
