mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-09-27 00:30:20 +00:00
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:
@@ -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}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user