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://oklm-wsh.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.6/decompress-0.6.tbz
sha256=fce45cb5c6274f7efa41f159ee25499f870b6efcf0664f11c5708f99fb6ad8e5
md5=dac7f1514080334ed81f72eee9ebb45b
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/decompress/decompress.0.6/opam
Required by
  • git>=1.11.0 & <2.0.0 | >=3.0.0 & <3.3.1