On Wed, 2026-05-13 at 13:45 +0200, Alexander Kanavin wrote:
> I meant something else: the items in this list:
> 
> SRC_URI = " \
> +    git://gitlab.freedesktop.org/gstreamer/gst-plugins-
> rs;protocol=https;branch=0.15;name=default
> \
> +    git://github.com/gtk-rs/gtk4-
> rs;protocol=https;branch=0.11;name=gtk4-rs;destsuffix=gtk4-rs
> \
> +    git://github.com/gtk-rs/gtk-rs-
> core;protocol=https;branch=0.22;name=gtk-rs-core;destsuffix=gtk-rs-
> core
> \
> +    git://github.com/rust-
> av/ffv1.git;protocol=https;nobranch=1;name=ffv1;destsuffix=ffv1
> \
> +    git://github.com/rust-
> av/flavors;protocol=https;nobranch=1;name=flavors;destsuffix=flavors
> \
> +    git://gitlab.freedesktop.org/gstreamer/gstreamer-
> rs;protocol=https;branch=0.25;name=gstreamer-rs;destsuffix=gstreamer-
> rs
> \
> +"
> 
> all should be built with separate recipes. The plugins themselves
> don't need separate recipes, but the resulting plugin binaries should
> be put into separate target packages, same as the classic
> base/good/bad/ugly plugins are. The recipe isn't doing that yet.
> 

Unfortunately, that's not how Rust works :(

Rust doesn't have a stable ABI, so all external Rust dependencies
(crates) of a Rust project must be compiled from-source when building
the project. The object files will be linked into the final binary
(library, plugin, or executable), and the unnecessary sections will be
GC-ed on LTO.

Yes, this means each plugin has its own copy of gtk-rs, gstreamer-rs,
and other common crates. The reasons for this are complicated:

https://viruta.org/rust-stable-abi.html#rust_does_not_have_a_stable_abi

If you see the librsvg recipe, it does the same thing. Tarun is going
to change these git repo URLs to also use crates.io links in V3.

Cheers,
Nirbheek
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#236970): 
https://lists.openembedded.org/g/openembedded-core/message/236970
Mute This Topic: https://lists.openembedded.org/mt/119293604/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to