Commit Graph

28 Commits

Author SHA1 Message Date
Martin 'JaMa' Jansa bf6705fb7f Convert to new override syntax (#357)
* Convert to new override syntax

This is the result of automated script (0.9.0) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

* Manually fix the conversion

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

* layer.conf: Update layer compatibility with only dunfell and newer.

Add honister to mark the layers as compatible with honister now that it uses
the new override syntax.

Drop zeus and older which are missing a support for newer override syntax which
was backported only to 1.46 branch (used by dunfell) and newer, e.g.:
https://git.openembedded.org/bitbake/commit/?h=1.46&id=c5418eae56cc50dbae7951c055434a0c456c53a4

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

* CI: use YOCTO_BRANCH instead of yocto-${YOCTO_VERSION} for poky checkout

* using latest revision in branch is often better than sticking to
  some point releases

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

* CI: switch to hardknott branch

* gatesgarth is already EOL, better to use something supported

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-05 17:37:51 -04:00
Anatol Belski 439dea8664 nativesdk: Implement cross canadian support
This addition closes #236 requesting the SDK support. The implementation
consists on a yet minimum set of worky functionality;

- Includes rustc, rustdoc and cargo.
- Includes libstd and accompanying lib archives for host and for target.
- Integrates with the standard environment setup script.
- Integrates configurations automatically build for target.

The supported build host is still AMD64 only.

Note that there's no need on introducing crosssdk package as the
official snapshot package serves same way as a non SDK build.

Possible future directions:

- Offline build:
	- Support pre-cached set of crates that can be vendored.
	- Support pre-filled cargo registry.
- Support further tools like cargo-fmt, cargo-clippy, GDB support and so
on.

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2021-03-30 15:11:59 +00:00
Johan Anderholm 0025cebb12 Fix *-native cargo builds
Normally all *-native packages needs to depend on cargo-native in order
to be able to use cargo. When building cargo-native however, this is not
available and we use a snapshot.

Fixes #302.
2021-02-08 16:04:39 +01:00
Martin Jansa a31a4070d3 cargo: move LIC_FILES_CHKSUM from cargo_*.bb to cargo.inc where LICENSE is set
* only the oldest 1.34.2 is the exception with different value, so
  stop duplicating it

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-07 19:23:09 +01:00
Johan Anderholm a673320995 cargo: Enable build separation
Place generated artifacts in the directory suggested by bitbake (${B})
instead of directly in the source directory. This has multiple
advantages such as the ability to share source directory between
multiple machine types without risking cross contamination.
2021-01-08 16:47:40 +01:00
Colin Finck 8a44baed44 Disable LIBGIT2_SYS_USE_PKG_CONFIG due to incompatibility with 0.28.x
libgit2 0.28.x is shipped by latest Yocto Dunfell.
According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between libgit2-sys and arbitrary system libgit2 versions, so better keep this turned off.

Fixes "invalid version 3 on git_proxy_options" during build.

Further references:
* https://github.com/rust-lang/git2-rs/issues/458
* https://bugs.gentoo.org/707746#c1
2020-10-06 17:35:54 +02:00
Johan Anderholm 2f323e1e9e Update to rust and cargo version 1.36.0 2019-08-02 09:35:31 +00:00
Johan Anderholm fa0aebc070 Disable http2 in cargo
Since 1.31.0 cargo requires curl to support http2. Enabling http2 in
curl results in a dependency loop. This commit disables the use of
multiplexing and http2.
2019-02-15 12:34:37 +00:00
Johan Anderholm b3d1b589ee Update to rust version 1.32.0 2019-02-14 15:29:17 +00:00
Johan Anderholm 9952633163 Use cargo version shipped with rust source
The source of cargo used in a release is shipped with the rust source.
Use this instead of the source from github to make sure cargo and rust
are always kept in sync.

This also makes updating rust version a bit easier.
2019-02-14 15:29:17 +00:00
Otavio Salvador f317737fae cargo: Ensure libssh2 from system is used
This forces the use of libssh2 by exporting the
LIBSSH2_SYS_USE_PKG_CONFIG environment variable.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-11-05 14:33:01 -02:00
Johan Anderholm a4fe235317 Switch to rustbuild
Switch the build process to using Rust's new build system called
rustbuild. At the same time stop using jemalloc on all platforms and
switch to the system allocator since that was simplier to do.
2017-09-29 09:49:33 -05:00
Doug Goldstein 1ff41650d5 cargo: convert to versioned include file
We'll need the prior version of cargo to boot strap ourselves going
forward so include the version info so we can support multiple versions
in the tree.
2017-09-29 09:49:31 -05:00
Doug Goldstein 398fecb48c cargo: convert recipe to cargo-bitbake
Generate the Cargo recipe with cargo-bitbake instead of having a
handcrafted recipe. This should make future version bumps easier.

Three known issues:
- license checksum of the Apache license is a generateme value
  due to the license file having a difference name then what's in
  Cargo.toml.
- branch= value was wrong for tags. Pointed to HEAD instead of the
  branch that the underlying tag commit came from.
- Use https protocol when the repo is publicly accessible.
2017-06-21 15:14:37 -05:00
Johan Anderholm 3e0f03d12a cargo: build cargo using cargo and not make
Instead of using the configure script paired with make, use Cargo to
build Cargo. This moves us closer to being compatible with rustbuild.
2017-06-21 11:52:28 -05:00
Doug Goldstein 84af8005f3 cargo: update to use Cargo 0.13.0 fetching 2016-12-07 15:14:10 -06:00
Doug Goldstein 6083dff0b6 drop rust-installer.bbclass
This is only necessary for installations of rust so move the actual
functional bits into the do_install() phase of rust.
2016-12-05 10:55:14 -06:00
Doug Goldstein 03496f658f cargo: use install targets to avoid rust-installer
This install target is used by Gentoo to avoid needing rust-installer.
2016-12-05 10:55:13 -06:00
Doug Goldstein 06cc11b2b4 cargo: move explicitly versioned deps out of common
These dependencies are explicitly for Cargo 0.11.0 and shouldn't appear
in the common file.
2016-12-02 23:07:40 -06:00
Doug Goldstein 2ffd11b9fe cargo: revert dropped usage of -C crate_hash
This reverts the change from 5afc0cc471 based on the discussion in #116.
2016-11-30 20:57:04 -06:00
Doug Goldstein 61093e260f cargo: remove code that doesn't work
The comment says it doesn't work and I can confirm it won't work.
2016-11-23 14:15:41 -06:00
Doug Goldstein 5afc0cc471 cargo.bbclass: ensure extra RUSTFLAGS are properly passed
The RUSTFLAGS env var overrides the rustflags specified in the cargo
config so we need to take anything passed in the environment variable
and put it in the config.
2016-11-23 14:15:17 -06:00
Doug Goldstein f366cff864 cargo: change trivial verbose flag 2016-11-23 11:42:00 -06:00
Cody P Schafer e47bf14904 cargo: avoid build failure due to --disable-static not being recognized
Not sure why this is starting to affect cargo now, but let's fix it.
2016-09-13 23:28:31 -04:00
Steven Walter fbf59ed6a0 cargo.bbclass: replace with what was cargo_util.bbclass
The old cargo.bbclass had no users in meta-rust and had lots of
problems (not least of which was lots of duplicated lines with
cargo_util.bbclass).  Delete the old cargo.bbclass and replace it
entirely wiht cargo_util
2016-09-05 18:40:42 -04:00
Steven Walter cb753fc536 cargo.inc: switch to cargo_util.bbclass
This does all the fetching through bitbake which allows it to be built
correctly in firewalled environments.
2016-09-05 18:38:35 -04:00
Steven Walter c8e2b6166e cargo-snapshot.inc: use a date-specific downloadfilename
This allows the snapshot to be cached in a local mirror with a unique
name
2016-09-03 10:35:52 -04:00
Derek Straka e76332d732 Move the cargo and rust recipes from 'recipes' to 'recipes-devtools' 2016-02-19 19:11:43 -05:00