zim-sys

Crates.iozim-sys
lib.rszim-sys
version0.1.0
sourcesrc
created_at2024-05-17 19:09:42.377388
updated_at2024-05-17 19:09:42.377388
descriptionLow-level FFI bindings for libzim
homepage
repositoryhttps://gitlab.com/alexanderacker/zim-sys
max_upload_size
id1243586
size44,782
Matthieu Gautier (mgautierfr)

documentation

README

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()
Commit count: 19

cargo fmt