rfc1951version

Pure OCaml implementation of Zlib

Build Status MirageOS

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.03.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.1.7.1
  • 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>
Dependencies
Source [http] https://github.com/mirage/decompress/releases/download/v0.8/decompress-0.8.tbz
sha256=ea6987f72816044ccf3edb586e3b64668d53c5ef1b0a735119e5c9d740504240
md5=547eaf0803af3ed01ff7801facfe27e6
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/rfc1951/rfc1951.0.1/opam
No package is dependent