Commit Graph

27 Commits

Author SHA1 Message Date
Alexander Kanavin
95832841bf rust: update 1.62.0 -> 1.62.1
(From OE-Core rev: 6baa224158f40b9754c3f10e11966d02e1337ae7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-14 08:13:32 +01:00
Richard Purdie
83e7f668ae rust: Remove unneeded RUST_TARGETGENS settings
These match the default from the class so drop them. We then always
generate all targets so remove the configuration from the class.

(From OE-Core rev: e4d56256936c55bab2bf2934ccbde9157ef7dc57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 11:46:26 +01:00
Richard Purdie
7275846f45 cargo: Work around host system library conflicts
cargo ends up running target-rust-ccld with LD_LIBRARY_PATH set to libdir but not
base_libdir which breaks the SDK. You see errors like:

/bin/sh: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

On such a system, this would fail:

LD_LIBRARY_PATH="<path>/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/lib" cargo build

but this would work:

LD_LIBRARY_PATH="<path>/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/lib:<path>/testimage-sdk/sysroots/x86_64-pokysdk-linux/lib" cargo build

so wrap cargo with both paths in LD_LIBRARY_PATH.

The error depends on the versions of the host system, it reproduced on tumbleweed-ty-3.

(From OE-Core rev: 388e7cac9f90e79ce8c3c1683d8ee0f4df1bc907)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-09 22:42:04 +01:00
Richard Purdie
251f55374d cargo: Drop cross-canadian variant and fix/use nativesdk
The cargo-cross-candian variant made no sense as one version of cargo in
the SDK can work for all targets. Replace it with nativesdk-cargo instead.

Move the SDK env to rust-cross-canadian.

(From OE-Core rev: 6d6d135924eff5993736ee58ba8cc5d00ca635f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:20 +01:00
Richard Purdie
b1d8d2a3bf rust: Generate per recipe target configuration files
Instead of generating target configuration files centrally and often getting
it wrong, or having trouble finding the right set, generate them dynamically
from the bbclass into WORKDIR per recipe.

(From OE-Core rev: 9160e4a37561d8ac882057450a818621bec13bed)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:20 +01:00
Richard Purdie
e75e781a48 rust-target-config: Allow the targets generated to be configurable
Remove further code duplication by allowing the main function to be
configurable.

(From OE-Core rev: 2d4b35a0db1220e7a7f1b6776223aa4d40a3f246)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:07:33 +01:00
Richard Purdie
1e04c8aafb rust-target-config: Create new class to contain target json config generation
Currently most of the rust recipes use this code but it is all piecemeal.
Turn the code into a class where things can start to be rationalised. Ultimately
some of the data and python code should be moved to a python library but one step
at a time.

No functionality changes.

(From OE-Core rev: 3795285cbf362e13b8151bfdbe1bce999ac28641)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:07:33 +01:00
Richard Purdie
a02bb3b794 rust-common/rust-cross: Clean up target json generation code
Some of the subtleties in the different codepaths for target rust json generation
were not easy to spot. Start to simplfy the code to make this clearer.

This patch should not have any functionality change although ABIEXTENSION
has to be excluded from the function signature, the triplet would normally
cover anything set there.

(From OE-Core rev: 0f83d959465e0d99f98ade6803281585931d1b02)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:07:33 +01:00
Otavio Salvador
5204de3f8d cargo-cross-canadian: Use SDK's flags during target linking
(From OE-Core rev: abb1f3f12b4a02d644414b1af0623894984bb4cd)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28 11:07:33 +01:00
Alexander Kanavin
bab6c13913 rust: update 1.60.0 -> 1.62.0
Drop the two libstdc patches as they've finally appeared upstream.

Disable the use of libstdc++.a from the host distributions, as it results
in cross-distro contamination in rust-native.

(From OE-Core rev: 94760bc118952160865352c10ca7693680b5ce7e)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-08 00:09:42 +01:00
Richard Purdie
781eaa955d rust-common: Drop LLVM_TARGET and simplify
This all seems over complicated for something which is basically always
one of two values. This might even help cross-canadian work on something
which isn't x86-64.

(From OE-Core rev: bd36593ba3db758b3eacc974e48468a665967961)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-21 22:20:54 +01:00
Pgowda
0bd0012264 rust: update 1.59.0 -> 1.60.0
Rust has been upgraded to rust-1.60.0 that uses LLVM 14.

Please refer the following link for more detailed features.
https://blog.rust-lang.org/2022/04/07/Rust-1.60.0.html
https://github.com/rust-lang/rust/blob/master/RELEASES.md

(From OE-Core rev: 786a9a66486cf179ee4c9e295569fcd8c37fef78)

Signed-off-by: pgowda <pgowda.cve@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-27 23:30:11 +01:00
Alexander Kanavin
9310d1531c rust: update 1.58.1 -> 1.59.0
Drop libstd-rs patches as they're merged upstream.

(From OE-Core rev: 05f4a09899aa8dbb22ef1adb494abac41d5b96b7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-09 11:46:27 +00:00
Alexander Kanavin
f64ac4c918 rust: update 1.58.0 -> 1.58.1
(From OE-Core rev: 855ec0af1b3c7c2664e68ac89cad839d480c43db)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-01 07:31:18 +00:00
Alexander Kanavin
e5ce164931 rust: update 1.57.0 -> 1.58.0
(From OE-Core rev: 43895e2967b2c80f4ee353b33ffe422ea7590ff1)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20 11:57:29 +00:00
Alexander Kanavin
d1f27ddebb rust: update 1.56.1 -> 1.57.0
(From OE-Core rev: 295b9d51bad0b0da3ba9acec875972bf5e5ca4d7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-08 20:22:11 +00:00
Alexander Kanavin
259afff652 rust: update 1.56.0 -> 1.56.1
This update includes fixes for the 'trojan source' vulnerability:
https://blog.rust-lang.org/2021/11/01/Rust-1.56.1.html

Drop two unused patches.

(From OE-Core rev: 5ff0b0d8c6c37ebf916062f03a378fe0e34b1c53)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-11 17:09:16 +00:00
Khem Raj
dec1a60146 rust: Upgrade to 1.56.0
This is latest major release, changes are here [1]

Forward port libstd-rs patches and refresh musl/rv64 port

[1] https://github.com/rust-lang/rust/releases/tag/1.56.0

(From OE-Core rev: 183204cbc70a4ef418b16df48bc7eb6e3a75a114)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-23 22:14:13 +01:00
Alexander Kanavin
bcab6dd34f rust/cargo: exclude UNINATIVE_LOADER from task signature
(From OE-Core rev: 8915dfa2034d939b504f134e83811ed2ba18a6f1)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-14 11:48:45 +01:00
Alexander Kanavin
5efebf3be0 rust: update 1.54.0 -> 1.55.0
(From OE-Core rev: a21705c33a6a69e9a625b8a75d76b76bd078aba2)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-14 11:48:45 +01:00
Alexander Kanavin
d91db6917f rust: drop PV from include file names
This complicates (semi) automated upgrades, and isn't necessary
as we carry only a single version of the toolchain.

(From OE-Core rev: f7a6b23d99fba5855cfb34788199877a14206293)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-14 11:48:45 +01:00
Richard Purdie
596cbbf615 recipes: Add missing pkgconfig inherit
Various recipes were missing a pkgconfig inherit or pkgconfig-native
dependency despite using pkgconfig.

Add the inherit to igt-gpu-tools/gdb/libmodulemd/libwpe/xwayland/waffle
shaderc/iputils/wpebackend-fdo/lttng-ust/cargo.

(From OE-Core rev: 777d9744570c2dc119dc5d04985896bbb1da5885)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-21 23:44:08 +01:00
Richard Purdie
640136a72b cargo: Apply uninative fix to snapshot as with rust
Also add the interpreter relocation trick from uninative to the prebuilt
cargo binary to match rust-native, just in case that causes other problems
later too.

(From OE-Core rev: e3cb3958cc14672feef5d4d8953131f55db68573)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-02 21:22:54 +01:00
Richard Purdie
cfc8d6dd64 cargo: Ensure cargo-cross-canadian doesn't have native/nativesdk versions
native/nativesdk variants of a cross-canadian recipe don't make any
sense so avoid these recipe variants.

(From OE-Core rev: 4ba7fb0b6a5021bca73aade4af390e8e017b491a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:44 +01:00
Randy MacLeod
9632185627 rust: remove Rust version 1.51.0 toolchain
We typically only have one version so remove the older
rust toolchain. This also fixes a maintainers oe-selftest.

(From OE-Core rev: d8ff9672d2686801d535a91fa28a92e38d8f0409)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:44 +01:00
Randy MacLeod
284f0b11a5 cargo/rust/rustfmt: exclude from world
cargo, rust, and rustfmt can't be built for the targets yet
so exclude them from world builds.

(From OE-Core rev: 3ade1015b5bbd6aac9dd9974a6a5712958a5f5ed)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:43 +01:00
Randy MacLeod
61e1570c6a rust: initial merge of most of meta-rust
In the meta-rust repo at commit:
   448047c Upgrade to 1.54.0 (#359)

Make the required directories:
  mkdir ../oe-core/meta/recipes-devtools/rust
  mkdir ../oe-core/meta/recipes-devtools/cargo
  mkdir ../oe-core/meta/recipes-example
and then:
  cp recipes-devtools/rust/* ../oe-core/meta/recipes-devtools/rust
  cp recipes-devtools/cargo/* ../oe-core/meta/recipes-devtools/cargo
  cp lib/crate.py ../oe-core/meta/lib
  cp recipes-example/* ../oe-core/meta/recipes-example
  cp conf/distro/include/rust_* ../oe-core/meta/conf/distro/include/
  cp classes/* ../oe-core/meta/classes/
  cp recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb ../oe-core/meta/recipes-core/packagegroups

(From OE-Core rev: 3ed57578cca93ff1ba4e0bf3f25566e10659a2f9)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-26 22:09:43 +01:00