From: Randy MacLeod <Randy.MacLeod@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Cc: stevenrwalter@gmail.com, cardoe@cardoe.com, bunk@stusta.de
Subject: [RFC][PATCH 0/3] Move rust from meta-rust to oe-core
Date: Mon, 23 Sep 2019 22:45:05 -0400 [thread overview]
Message-ID: <20190924024508.9175-1-Randy.MacLeod@windriver.com> (raw)
I moved the Rust support from meta-rust to oe-core.
As you'd expect, it's still building rust-hello-world for all qemus
(except riscv64 which may never have worked).
Rust-hello-world runs for me on qemu:
x86-64, arm, arm64
It may run on other machines but that's what I've tested so far.
We need a list of meta-rust issues that should be resolved
in order to get the code accepted in oe-core. I opened an issue
to track that:
https://github.com/meta-rust/meta-rust/issues/251
but there haven't been any comments yet. I'd rather track
issues in github than in the YP Bugzilla:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12675
Here, in no particular order, are some of
the defects that I believe need to be fixed:
1. build system is assumed to be linux-x86_64
https://github.com/meta-rust/meta-rust/issues/23
2. Make rust-native build in parallel (it's very slow!)
(meta-rust issue/PR to be created by Randy)
3. Document developer workflows such as cargo-bitbake.
4. Build offline ( BB_NO_NETWORK = '1' )
5. make rust-hello-world install for qemuriscv64
https://github.com/meta-rust/meta-rust/issues/252
6. ... build rustc and cargo for target (nice to have, only).
https://github.com/meta-rust/meta-rust/issues/81
7. Bootstrap from C as an option?
See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=12675#c2
8. Update librsvg to latest (2.46) which uses rust.
What have I missed?
I'll work on several of these defects but I'll likely
need help from people with more Rust experience.
../Randy
Randy MacLeod (3):
Add libgit2, libssh2 from meta-oe for rust
meta-rust: move code to oe-core from meta-rust layer
rust: mv README.md to recipes-devtools/rust/README-rust.md
meta/classes/cargo.bbclass | 70 +++
meta/classes/cargo_common.bbclass | 98 ++++
meta/classes/crate-fetch.bbclass | 13 +
meta/classes/rust-bin.bbclass | 149 +++++
meta/classes/rust-common.bbclass | 144 +++++
meta/classes/rust.bbclass | 45 ++
.../distro/include/rust_security_flags.inc | 7 +
meta/conf/layer.conf | 2 +
meta/lib/crate.py | 149 +++++
.../cargo-1.34.2/0001-Disable-http2.patch | 29 +
.../cargo-1.36.0/0001-Disable-http2.patch | 31 ++
.../cargo-1.37.0/0001-Disable-http2.patch | 29 +
meta/recipes-devtools/cargo/cargo.inc | 43 ++
meta/recipes-devtools/cargo/cargo_1.34.2.bb | 8 +
meta/recipes-devtools/cargo/cargo_1.36.0.bb | 8 +
meta/recipes-devtools/cargo/cargo_1.37.0.bb | 8 +
meta/recipes-devtools/rust/README-rust.md | 69 +++
meta/recipes-devtools/rust/libstd-rs.inc | 31 ++
.../recipes-devtools/rust/libstd-rs_1.34.2.bb | 8 +
.../recipes-devtools/rust/libstd-rs_1.36.0.bb | 8 +
.../recipes-devtools/rust/libstd-rs_1.37.0.bb | 8 +
meta/recipes-devtools/rust/rust-cross.inc | 52 ++
.../rust/rust-cross_1.34.2.bb | 3 +
.../rust/rust-cross_1.36.0.bb | 3 +
.../rust/rust-cross_1.37.0.bb | 3 +
meta/recipes-devtools/rust/rust-llvm.inc | 62 +++
...-llvm-allow-env-override-of-exe-path.patch | 32 ++
.../recipes-devtools/rust/rust-llvm_1.34.2.bb | 16 +
.../recipes-devtools/rust/rust-llvm_1.36.0.bb | 16 +
.../recipes-devtools/rust/rust-llvm_1.37.0.bb | 16 +
.../rust/rust-snapshot-1.34.2.inc | 24 +
.../rust/rust-snapshot-1.36.0.inc | 24 +
.../rust/rust-snapshot-1.37.0.inc | 24 +
.../rust/rust-source-1.34.2.inc | 11 +
.../rust/rust-source-1.36.0.inc | 11 +
.../rust/rust-source-1.37.0.inc | 11 +
meta/recipes-devtools/rust/rust.inc | 509 ++++++++++++++++++
meta/recipes-devtools/rust/rust_1.34.2.bb | 12 +
meta/recipes-devtools/rust/rust_1.36.0.bb | 12 +
meta/recipes-devtools/rust/rust_1.37.0.bb | 12 +
.../rust-hello-world/rust-hello-world_git.bb | 13 +
meta/recipes-example/rustfmt/rustfmt_0.8.0.bb | 67 +++
.../recipes-support/libgit2/libgit2_0.27.8.bb | 25 +
meta/recipes-support/libssh2/libssh2_1.8.2.bb | 27 +
scripts/build.sh | 19 +
scripts/cleanup-env.sh | 14 +
scripts/containerize.sh | 54 ++
scripts/fetch.sh | 103 ++++
scripts/publish-build-cache.sh | 13 +
scripts/setup-env.sh | 12 +
50 files changed, 2157 insertions(+)
create mode 100644 meta/classes/cargo.bbclass
create mode 100644 meta/classes/cargo_common.bbclass
create mode 100644 meta/classes/crate-fetch.bbclass
create mode 100644 meta/classes/rust-bin.bbclass
create mode 100644 meta/classes/rust-common.bbclass
create mode 100644 meta/classes/rust.bbclass
create mode 100644 meta/conf/distro/include/rust_security_flags.inc
create mode 100644 meta/lib/crate.py
create mode 100644 meta/recipes-devtools/cargo/cargo-1.34.2/0001-Disable-http2.patch
create mode 100644 meta/recipes-devtools/cargo/cargo-1.36.0/0001-Disable-http2.patch
create mode 100644 meta/recipes-devtools/cargo/cargo-1.37.0/0001-Disable-http2.patch
create mode 100644 meta/recipes-devtools/cargo/cargo.inc
create mode 100644 meta/recipes-devtools/cargo/cargo_1.34.2.bb
create mode 100644 meta/recipes-devtools/cargo/cargo_1.36.0.bb
create mode 100644 meta/recipes-devtools/cargo/cargo_1.37.0.bb
create mode 100644 meta/recipes-devtools/rust/README-rust.md
create mode 100644 meta/recipes-devtools/rust/libstd-rs.inc
create mode 100644 meta/recipes-devtools/rust/libstd-rs_1.34.2.bb
create mode 100644 meta/recipes-devtools/rust/libstd-rs_1.36.0.bb
create mode 100644 meta/recipes-devtools/rust/libstd-rs_1.37.0.bb
create mode 100644 meta/recipes-devtools/rust/rust-cross.inc
create mode 100644 meta/recipes-devtools/rust/rust-cross_1.34.2.bb
create mode 100644 meta/recipes-devtools/rust/rust-cross_1.36.0.bb
create mode 100644 meta/recipes-devtools/rust/rust-cross_1.37.0.bb
create mode 100644 meta/recipes-devtools/rust/rust-llvm.inc
create mode 100644 meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch
create mode 100644 meta/recipes-devtools/rust/rust-llvm_1.34.2.bb
create mode 100644 meta/recipes-devtools/rust/rust-llvm_1.36.0.bb
create mode 100644 meta/recipes-devtools/rust/rust-llvm_1.37.0.bb
create mode 100644 meta/recipes-devtools/rust/rust-snapshot-1.34.2.inc
create mode 100644 meta/recipes-devtools/rust/rust-snapshot-1.36.0.inc
create mode 100644 meta/recipes-devtools/rust/rust-snapshot-1.37.0.inc
create mode 100644 meta/recipes-devtools/rust/rust-source-1.34.2.inc
create mode 100644 meta/recipes-devtools/rust/rust-source-1.36.0.inc
create mode 100644 meta/recipes-devtools/rust/rust-source-1.37.0.inc
create mode 100644 meta/recipes-devtools/rust/rust.inc
create mode 100644 meta/recipes-devtools/rust/rust_1.34.2.bb
create mode 100644 meta/recipes-devtools/rust/rust_1.36.0.bb
create mode 100644 meta/recipes-devtools/rust/rust_1.37.0.bb
create mode 100644 meta/recipes-example/rust-hello-world/rust-hello-world_git.bb
create mode 100644 meta/recipes-example/rustfmt/rustfmt_0.8.0.bb
create mode 100644 meta/recipes-support/libgit2/libgit2_0.27.8.bb
create mode 100644 meta/recipes-support/libssh2/libssh2_1.8.2.bb
create mode 100755 scripts/build.sh
create mode 100755 scripts/cleanup-env.sh
create mode 100755 scripts/containerize.sh
create mode 100755 scripts/fetch.sh
create mode 100755 scripts/publish-build-cache.sh
create mode 100755 scripts/setup-env.sh
--
2.22.0
next reply other threads:[~2019-09-24 2:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-24 2:45 Randy MacLeod [this message]
2019-09-24 2:45 ` [RFC][Patch 1/3] Add libgit2, libssh2 from meta-oe for rust Randy MacLeod
2019-09-24 2:45 ` [RFC][Patch 2/3] meta-rust: move code to oe-core from meta-rust layer Randy MacLeod
2019-09-24 2:45 ` [RFC][Patch 3/3] rust: mv README.md to recipes-devtools/rust/README-rust.md Randy MacLeod
2019-09-24 10:18 ` [RFC][PATCH 0/3] Move rust from meta-rust to oe-core Adrian Bunk
2019-09-25 17:52 ` Randy MacLeod
2019-09-26 6:55 ` Adrian Bunk
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=20190924024508.9175-1-Randy.MacLeod@windriver.com \
--to=randy.macleod@windriver.com \
--cc=bunk@stusta.de \
--cc=cardoe@cardoe.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=stevenrwalter@gmail.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.