WIP: Support for building Rust plugins

Nirbheek Chauhan requested to merge nirbheek/cerbero:rust-support-master into master


  • Native Linux (x86_64) toolchain support
  • Native macOS toolchain support
  • Native Windows (MinGW) toolchain support
  • Native Windows (MSVC) toolchain support
  • Support for Cerbero check
  • Separate recipes for gst-plugins-rs, gstreamer-rs, gstreamer-rs-sys
  • Complete support for --manifest

Out of scope (will be added later):

  • Cross-compile support (incl., Android/iOS support)
  • Sharing of build objects between recipes (f.ex., gst-plugins-rs.recipe should use objects built by gstreamer-rs.recipe)
  • Enable Cerbero CI for gst*-rs projects

commit 684dea8a:

cerbero: Allow renaming of fetched bootstrap artifact

commit 59342190:

cerbero/config: Add an exe_suffix property
Useful when downloading or running executables.

commit fcbd8f0f:

cerbero: Add support for bootstrapping Rust toolchains
Supports offline mode. Currently we bootstrap toolchain v1.37.0 when
the `rust` variant is enabled.

commit 59b1f5b8:

cerbero: Set Rust env when variant is enabled

commit 131aa0ee:

WIP: cerbero: Add support for a cargo build type
TODO: Offline build support (cargo vendor). Needs a custom SourceType
with its own fetch and extract implementations.

commit 8598d04b:

WIP: gst-plugins-rs.recipe
1. files_plugins_*
2. Test that install works
3. Anything else to install?
Edited by Tim-Philipp Müller

Merge request reports