mbox

[PATHCH,V3,0/4] Introduction of cargo-c class and recipe

Message ID cover.1692099121.git.frederic.martinsons@gmail.com
State New
Headers show

Pull-request

https://gitlab.com/fmartinsons/openembedded-core cargo-c-introduction

Message

Frédéric Martinsons Aug. 15, 2023, 3:35 p.m. UTC
From: Frederic Martinsons <frederic.martinsons@gmail.com>

This series introduces a cargo-c.bbclass and cargo-c-native package
that help building C-ABI compatible header and library around
rust code.

The third patch add examples and test to demonstrate
the usage and the good working of this use case.

The fourth patch correct previous rust test by requiring
scp package.

Tests have been passed with the following in local.conf:

CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp cargo rust rust-c-lib-example-bin"
IMAGE_CLASSES += "testimage"
TEST_SUITES = "ping ssh rust"
# To use slirp option in testimage.bbclass
TEST_RUNQEMUPARAMS = "slirp"
TEST_SERVER_IP = "127.0.0.1"
QEMU_USE_SLIRP = "1"

and the following commands:

bitbake core-image-minimal -c testimage
and
bitbake core-image-sato -c testimage

The following changes since commit ed1789638d025447db8f28d71d119de85a696b09:

  qemu: Upgrade 8.0.3 -> 8.0.4 (2023-08-15 08:14:32 +0100)

are available in the Git repository at:

  https://gitlab.com/fmartinsons/openembedded-core cargo-c-introduction

Frederic Martinsons (4):
  rust: add cargo-c native recipe
  classes-recipe: add cargo_c.bbclass
  rust: provide examples for C library generation in rust
  oeqa/runtime/rust: correct rust test

 .../rust/rust-c-lib-example-bin_git.bb        |   16 +
 .../rust/rust-c-lib-example-crates.inc        |   79 +
 .../rust/rust-c-lib-example_git.bb            |   15 +
 meta/classes-recipe/cargo_c.bbclass           |   41 +
 meta/conf/distro/include/maintainers.inc      |    3 +
 meta/lib/oeqa/runtime/cases/rust.py           |   18 +-
 meta/recipes-devtools/rust/cargo-c-crates.inc |  453 ++++
 .../rust/cargo-c-native_0.9.18.bb             |   23 +
 .../rust/files/0001-Add-Cargo.lock-file.patch | 2180 +++++++++++++++++
 9 files changed, 2826 insertions(+), 2 deletions(-)
 create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
 create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
 create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
 create mode 100644 meta/classes-recipe/cargo_c.bbclass
 create mode 100644 meta/recipes-devtools/rust/cargo-c-crates.inc
 create mode 100644 meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb
 create mode 100644 meta/recipes-devtools/rust/files/0001-Add-Cargo.lock-file.patch