From: Nirbheek Chauhan <nirbheek@centricular.com>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: tarun@centricular.com, openembedded-core@lists.openembedded.org,
sebastian@centricular.com
Subject: Re: [OE-core] [PATCH v2] gstreamer1.0-plugins-rs: add new package
Date: Wed, 13 May 2026 17:32:12 +0530 [thread overview]
Message-ID: <f30852d76ecd85f3f437f508ccbbb2591f410353.camel@centricular.com> (raw)
In-Reply-To: <CANNYZj8TutyAOc_Kz2+r02iDY8VQ_JaoGk5oHbrZSk5Er=UYBg@mail.gmail.com>
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
next prev parent reply other threads:[~2026-05-13 12:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 13:34 [PATCH] gstreamer1.0-plugins-rs: add new package Taruntej Kanakamalla
2026-05-12 10:30 ` [OE-core] " Mathieu Dubois-Briand
2026-05-13 7:14 ` Taruntej Kanakamalla
2026-05-12 19:28 ` Peter Kjellerstedt
2026-05-13 7:25 ` Taruntej Kanakamalla
2026-05-13 7:56 ` Peter Kjellerstedt
2026-05-13 7:11 ` [PATCH v2] " Taruntej Kanakamalla
2026-05-13 10:19 ` [OE-core] " Alexander Kanavin
2026-05-13 11:23 ` Nirbheek Chauhan
2026-05-13 11:45 ` Alexander Kanavin
2026-05-13 12:02 ` Nirbheek Chauhan [this message]
2026-05-13 12:15 ` Alexander Kanavin
2026-05-13 13:10 ` Nirbheek Chauhan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f30852d76ecd85f3f437f508ccbbb2591f410353.camel@centricular.com \
--to=nirbheek@centricular.com \
--cc=alex.kanavin@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=sebastian@centricular.com \
--cc=tarun@centricular.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.