libglycin
Glycin is a library for sandboxed and extendable image loading.
For most applications using it, individual image formats are loaded through binaries provided by glycin-loaders. The paths of these loaders must be injected into the environment, e.g. using wrapGAppsHook. libglycin.setupHook will do that.
Additionally, for Rust projects glycin Rust crate itself requires a patch to become self-contained. libglycin.patchVendorHook will do that. This is not needed for projects using the ELF library from libglycin package.
Example code snippet
{
lib,
rustPlatform,
libglycin,
glycin-loaders,
wrapGAppsHook4,
}:
rustPlatform.buildRustPackage {
# ...
cargoHash = "...";
nativeBuildInputs = [
wrapGAppsHook4
libglycin.patchVendorHook
];
buildInputs = [
libglycin.setupHook
glycin-loaders
];
# ...
}
Variables controlling glycin-loaders
glycinCargoDepsPath
Path to a directory containing the glycin crate to patch. Defaults to the crate directory created by cargoSetupHook, or ./vendor/.
dontWrapGlycinLoaders
Disable adding the Glycin loaders path XDG_DATA_DIRS with wrapGAppsHook.