1 unstable release

0.1.0 May 17, 2024

#670 in Compression


Used in zim-rs

GPL-2.0-or-later

37KB
992 lines

zim-sys

Work-in-progress experiment getting libzim bindings in Rust.

Compilation

Currently only supports unix-based machines which also support libzim.

  • Windows support could be achieved by using vcpkg to find libzim on windows
  • Only Ubuntu Linux has been tested

Installing dependencies

The build process requires clang and the original library libzim will be needed.

Ubuntu

sudo apt-get install libzim-dev clang

Building zim-sys

cargo build

This process uses my custom C++ wrapper in zim-bind.cc which catches exceptions and converts them to errors which can be accepted by rust.

Binding TODO list

Most of these are do to incompatible types that need to be converted.

archive.h

  • getIllustrationItem(unsigned int size=48)
  • getIllustrationSizes()
  • checkIntegrity(IntegrityCheck checkType)

entry.h

  • getRedirectEntryIndex()

item.h

  • getDirectAccessInformation()

version.h

  • getVersions()

Dependencies

~0.5–2.2MB
~34K SLoC