Package lmdb-master-sys
Given the struggle of bending the existing lmdb-sys
(which is only used by lmdb
, itself having no users) to make heed
to build, let's package the lmdb-master-sys
so heed
gets the API it expects.
However, this crate relies on a vendored copy of liblmdb
and builds the library itself, enabling (or not) certain compilation flags based on features. As I'd rather use the Debian-packaged lib, which doesn't have those flags (not present in the latest upstream release anyway) enabled, I patched the crate to remove those features and only rely on default compilation options.
This also requires adding a dependency on pkg-config
in order to properly link against the shared lib, instead of the static/vendored lib this crate expects.
There is one remaining issue: the "bindgen" feature allows to re-generate the lib bindings when building a dependent package; however, due to Debian processes, it tries to do so inside our cargo registry under /usr/share
, which fails as it lacks permissions to write there. This is not an issue for building heed
, so I guess this can be left as-is.
Note: once this is uploaded, we can drop lmdb
and lmdb-sys
as they currently have no consumer outside of heed
.
/cc @werdahias as I'd very much like to have your opinion on that one.