I am happy to announce that MlFront_ZipFile.2.3.0
, a package that can do basic zip/unzip operations on a zip file, was released today. It is available on opam with opam update
and opam install MlFront_ZipFile
.
There are other opam packages for zip files, and often those are more appropriate. MlFront_ZipFile
is different because:
- It is very high-level. I wanted an API to unzip and zip, with a simple observer API for unzipping so I could attach @CraigFe’s excellent
progress
bar library. - It can unzip 4GB files in a 32-bit OCaml runtime.
- It has a permissive license.
- It is not thread-safe (except unzipping).
- It fully embeds the C code. That means it works on Windows and should work under cross-compilation without needing a non-portable/non-reproducible
pkg-config
installation. - It has a binary
mlfront-zip
which can do glob-based exclusions (a feature not present in the typical InfoZip/usr/bin/zip
that comes with Unix or PowerShellCompress-Archive
on Windows). macOS, Windows and Linux have prebuilt binaries.
Here are the relevant links:
- Docs: https://dkml.gitlab.io/build-tools/MlFront/MlFront_ZipFile/MlFront_ZipFile/index.html
mlfront-zip
binaries: https://gitlab.com/dkml/build-tools/MlFront/-/releases/2.3.0-8- homepage: DkML / Build Tools / MlFront · GitLab
Sidenote: The docs won’t be available on ocaml.org. Use the doc links above until I figure out a technical solution (very low-priority).