From: Tim Orling <ticotimo@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH v2 0/7] Add 'maturin' backend support
Date: Sat, 16 Dec 2023 21:41:26 -0800 [thread overview]
Message-ID: <cover.1702791173.git.tim.orling@konsulko.com> (raw)
We are increasingly seeing Rust extensions for Python added in the
ecosystem. The current best practices approach has moved from using
'setuptools-rust' to using 'maturin'.
* Add python3-maturin, including 'native' and 'nativesdk' support.
* Add a 'python_maturin' bbclass for the PEP-517 backend.
* Add recipetool support for the 'maturin' PEP-517 backend.
* Add a very basic 'maturin list-python' smoke test to oeqa for
both 'runtime' (-c testimage) and 'sdk' (-c testsdk).
Changes in v2:
* Bump 'maturin' to v1.4.0
* Fix the reproducible build of the bzip2-sys crate which was causing
python3-maturin to be non-reproducible.
* Add a more exhaustive 'maturin develop' test case for oeqa 'sdk',
which exercises:
- Creation of a python3 virtual environment
- Fetching crates for the 'guessing-game' app from the maturin tutorial
- Building dev version of 'guessing-game' crate and wheel
The following changes since commit 5815ccc1f6fd93690a684f7ff0f8a0a19758fdaa:
build-appliance-image: Update to master head revision (2023-12-16 13:12:52 +0000)
are available in the Git repository at:
https://git.yoctoproject.org/poky-contrib timo/maturin_1.4.0
https://git.yoctoproject.org/poky-contrib/log/?h=timo/maturin_1.4.0
Tim Orling (7):
python3-maturin: add v1.4.0
python3-maturin: bzip2-sys reproduciblility
classes-recipe: add python_maturin.bbclass
recipetool: add python_maturin support
oe-selfest: add maturn runtime (testimage) test
oeqa: add simple 'maturin' SDK (testsdk) test case
oeqa: add "maturin develop" SDK test case
meta/classes-recipe/python_maturin.bbclass | 17 +
meta/conf/distro/include/maintainers.inc | 1 +
.../files/maturin/guessing-game/Cargo.toml | 20 +
.../maturin/guessing-game/LICENSE-APACHE | 201 ++++++
.../files/maturin/guessing-game/LICENSE-MIT | 25 +
.../maturin/guessing-game/pyproject.toml | 8 +
.../files/maturin/guessing-game/src/lib.rs | 48 ++
meta/lib/oeqa/runtime/cases/maturin.py | 23 +
meta/lib/oeqa/sdk/cases/maturin.py | 79 +++
meta/lib/oeqa/selftest/cases/recipetool.py | 29 +
.../python/python3-maturin-crates.inc | 618 ++++++++++++++++++
.../python/python3-maturin_1.4.0.bb | 42 ++
.../lib/recipetool/create_buildsys_python.py | 1 +
13 files changed, 1112 insertions(+)
create mode 100644 meta/classes-recipe/python_maturin.bbclass
create mode 100644 meta/lib/oeqa/files/maturin/guessing-game/Cargo.toml
create mode 100644 meta/lib/oeqa/files/maturin/guessing-game/LICENSE-APACHE
create mode 100644 meta/lib/oeqa/files/maturin/guessing-game/LICENSE-MIT
create mode 100644 meta/lib/oeqa/files/maturin/guessing-game/pyproject.toml
create mode 100644 meta/lib/oeqa/files/maturin/guessing-game/src/lib.rs
create mode 100644 meta/lib/oeqa/runtime/cases/maturin.py
create mode 100644 meta/lib/oeqa/sdk/cases/maturin.py
create mode 100644 meta/recipes-devtools/python/python3-maturin-crates.inc
create mode 100644 meta/recipes-devtools/python/python3-maturin_1.4.0.bb
--
2.34.1
next reply other threads:[~2023-12-17 5:41 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-17 5:41 Tim Orling [this message]
2023-12-17 5:41 ` [PATCH 1/7] python3-maturin: add v1.4.0 Tim Orling
2023-12-17 5:41 ` [PATCH 2/7] python3-maturin: bzip2-sys reproduciblility Tim Orling
2023-12-17 5:41 ` [PATCH 3/7] classes-recipe: add python_maturin.bbclass Tim Orling
2023-12-17 5:41 ` [PATCH 4/7] recipetool: add python_maturin support Tim Orling
2023-12-17 5:41 ` [PATCH 5/7] oe-selfest: add maturn runtime (testimage) test Tim Orling
2023-12-17 5:41 ` [PATCH 6/7] oeqa: add simple 'maturin' SDK (testsdk) test case Tim Orling
2023-12-17 5:41 ` [PATCH 7/7] oeqa: add "maturin develop" SDK " Tim Orling
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=cover.1702791173.git.tim.orling@konsulko.com \
--to=ticotimo@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/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.