glycin: Install the loaders along with libglycin

libglycin spawns the sandboxed loader binaries from
${libexecdir}/glycin-loaders at runtime, so a rootfs that only carries
libglycin-2.so cannot decode a single image. Nothing pulled in the
loaders package, which left users of libglycin (gnome-shell wallpapers,
nautilus) without any decoder at all.

Let ${PN} rdepend on ${PN}-loaders whenever loaders are built, and make
the loaders -> thumbnailer dependency a recommendation so the runtime
dependency graph stays free of cycles.

Tested by rebuilding gnome-image: libglycin-2-loaders and
libglycin-2-thumbnailer are now part of the rootfs manifest and
/usr/libexec/glycin-loaders/ carries the image-rs, jxl and svg loaders.

AI-Generated: Uses Claude Code (Claude Opus 5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Markus Volk
2026-09-11 07:44:20 -07:00
committed by Khem Raj
parent e588199a08
commit cbe2547e6d
@@ -74,11 +74,14 @@ PACKAGECONFIG[jxl] = ",,libjxl"
PACKAGECONFIG[raw] = ",,"
PACKAGECONFIG[svg] = ",,librsvg cairo"
def glycin_loaders(d):
def glycin_loader_list(d):
known = (("heif", "glycin-heif"), ("image-rs", "glycin-image-rs"),
("jxl", "glycin-jxl"), ("raw", "glycin-raw"), ("svg", "glycin-svg"))
enabled = d.getVar("PACKAGECONFIG").split()
loaders = [name for flag, name in known if flag in enabled]
return [name for flag, name in known if flag in enabled]
def glycin_loaders(d):
loaders = glycin_loader_list(d)
if not loaders:
return "-Dglycin-loaders=false"
return "-Dglycin-loaders=true -Dloaders=" + ",".join(loaders)
@@ -101,6 +104,8 @@ FILES:${PN}-thumbnailer = "${bindir}/glycin-thumbnailer \
${datadir}/thumbnailers \
"
RDEPENDS:${PN}-loaders += "${@bb.utils.contains('PACKAGECONFIG', 'thumbnailer', '${PN}-thumbnailer', '', d)}"
RDEPENDS:${PN} += "${@d.getVar('PN') + '-loaders' if glycin_loader_list(d) else ''}"
RDEPENDS:${PN}[vardeps] += "PACKAGECONFIG"
RRECOMMENDS:${PN}-loaders += "${@bb.utils.contains('PACKAGECONFIG', 'thumbnailer', '${PN}-thumbnailer', '', d)}"
RDEPENDS:${PN}-thumbnailer += "${PN}"