decompressversion

Pure OCaml implementation of Zlib

Build Status

Decompress is a pure implementation of zlib. The goal is to create an available package for Mirage OS for zlib in OCaml (instead a C code).

We respect the interface of zlib and all flush mode is available (experimental):

  • SYNC_FLUSH
  • PARTIAL_FLUSH
  • FULL_FLUSH

The interface proposed is a non-blocking interface.

Documentation: https://mirage.github.io/decompress/api.docdir/

Installation

Decompress can be installed with opam:

opam install decompress

Sample programs

Sample program are located in the bin directory of the distribution. It can be built with (dependancy with Unix module, the cmdliner package and a C code):

ocamlbuild -use-ocamlfind bin/dpipe.native

Another good example is provided in bin/easy.ml with the signature:

val compress   : ?level:int -> string -> string
val uncompress : string -> string

And you can compile this program with:

ocamlbuild -use-ocamlfind bin/easy.native

But keep in your mind, it's an easy example and it's not optimized for a productive environment - so, don't copy/paste and think.

The documentation is available online to understand how to use Decompress.

Build Requirements

  • OCaml >= 4.02.0
  • base-bytes meta-package
  • Bigarray module (provided by the standard library of OCaml)
  • topkg, ocamlfind and ocamlbuild to build the project

If you want to compile the test program, you need:

  • camlzip to compare decompress with zlib
  • re
  • alcotest
AuthorRomain Calascibetta <romain.calascibetta@gmail.com>
LicenseMIT
Published
Homepagehttps://github.com/mirage/decompress
Issue Trackerhttps://github.com/mirage/decompress/issues
MaintainerRomain Calascibetta <romain.calascibetta@gmail.com>
Availablearch != "s390x"
Dependencies
Optional dependencies
Source [http] https://github.com/mirage/decompress/releases/download/v0.7/decompress-0.7.tbz
md5=2e4a75f3ca15d0bcad6701d374db1a4d
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/decompress/decompress.0.7/opam
Required by
  • git>=1.11.0 & <2.0.0 | >=3.0.0 & <3.3.1
  • imagelib>=20171028 & <20200929