89 Commits

Author SHA1 Message Date
Steven Walter
3b783652cc rust-native shouldn't depend on TARGET variables
The whole point of rust-native is that it should be common for all
targets.  If we reference TARGET variables during the build of
rust-native, then bitbake will build a different version for different
TARGETS.
2020-05-11 16:26:48 -04:00
Steven Walter
a012a1027d Merge pull request #270 from YoeDistro/yoe/mut
rustfmt: Upgrade to 1.4.2
2020-04-06 18:01:13 -04:00
Khem Raj
8ef8b39681 rustfmt: Upgrade to 1.4.2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-02 08:58:50 -07:00
Steven Walter
646fecee8a Merge pull request #268 from YoeDistro/yoe/mut
layer.conf: Mark it 3.1 release compatible
2020-03-24 10:30:47 -04:00
Khem Raj
e4d25b9808 layer.conf: Mark it 3.1 release compatible
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-24 07:18:22 -07:00
Steven Walter
1a3625364c Merge pull request #267 from anguslees/patch-1
Avoid extra sh process from shell wrapper
2020-03-17 11:09:28 -04:00
Angus Lees
ea97549161 Avoid extra sh process from shell wrapper
`exec` from shell wrapper to avoid persistent sh process
2020-03-15 12:23:52 +11:00
Steven Walter
d0dc19aa78 Merge pull request #263 from ColinFinck/update-to-rust-1.41.0
Update to Rust 1.41.0
2020-03-06 11:36:59 -05:00
Colin Finck
4a763a2301 Update 0001-Disable-http2.patch for cargo 1.41.0 2020-02-11 17:11:14 +01:00
Colin Finck
5c7f51b6ad Update to Rust 1.41.0 2020-02-10 11:17:51 +01:00
Steven Walter
d8d77be129 Merge pull request #259 from ColinFinck/update-to-rust-1.40.0
Update to Rust 1.40.0
2020-02-08 12:25:27 -05:00
Steven Walter
dbf68d40b3 Merge pull request #257 from alistair23/alistair/python3-update
rust: Use Python3 native for build
2020-02-08 11:36:06 -05:00
Steven Walter
a754e6c5d6 Merge pull request #260 from akiernan/us-cargo-fuzz
cargo: Refresh http2 disable patch
2020-02-08 11:33:40 -05:00
Alex Kiernan
837b63596d cargo: Refresh http2 disable patch
Fixes:

  WARNING: Fuzz detected:

  checking file Cargo.toml
  Hunk #1 succeeded at 24 with fuzz 1.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2020-01-12 20:38:18 +00:00
Colin Finck
2668f6afd3 Update 0001-Disable-http2.patch for Cargo shipped with Rust 1.40.0 2020-01-06 10:55:39 +01:00
Colin Finck
e5c2a4085f Update to Rust and Cargo 1.40.0. 2020-01-06 10:03:13 +01:00
Alistair Francis
72aa4ef3ab rust: Use Python3 native for build
Use Python3 as the native Python instead of Python2.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2019-12-26 18:46:53 -08:00
Steven Walter
0f950f5e33 Merge pull request #255 from rettichschnidi/update-to-rust-1.39.0
Update to Rust 1.39.0
2019-12-15 18:23:50 -05:00
Steven Walter
10fb698a79 Merge pull request #242 from ZubairLK/zlk/improve_tune_feature_parsing
rust: Improve TUNE_FEATURE parsing
2019-12-15 14:03:48 -05:00
Zubair Lutfullah Kakakhel
186ec59085 rust: Improve TUNE_FEATURE parsing
Since ac83d22eb5

The armvX arch definition is not present in TUNE_FEATURES but is now in
MACHINEOVERRIDES. Improve parsing so that MACHINEOVERRIDES is also checked.

Fixes #240

Tested on raspberrypi3 with balenaOS which uses rust.

Signed-off-by: Zubair Lutfullah Kakakhel <zubair@balena.io>
2019-11-12 10:39:41 +00:00
Reto Schneider
71895ec5a4 Update to Rust and Cargo 1.39.0 2019-11-08 18:00:16 +01:00
Steven Walter
5cda04c7c2 Merge pull request #253 from YoeDistro/yoe/mut
layer.conf: Mark compatible with zeus release
2019-10-09 16:29:31 -04:00
Khem Raj
5d1ada0c97 layer.conf: Mark compatible with zeus release
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-10-08 15:46:24 -07:00
Steven Walter
11aed43748 cargo-1.37.0: fix patch fuzz
Regenerate context lines with devtool.  This fixes a patch-fuzz warning
2019-08-31 13:58:55 -04:00
Steven Walter
1cb2ad5543 Merge pull request #249 from ColinFinck/update-to-rust-1.37.0
Update to Rust and Cargo 1.37.0.
2019-08-31 13:58:45 -04:00
Steven Walter
0b5ea8beb0 Merge pull request #247 from janderholm/master
Set cainfo to certificates in sysroot-native
2019-08-31 13:12:59 -04:00
Steven Walter
412987892c Merge pull request #248 from alistair23/alistair/riscv32
rust-cross: Add riscv32 data layout information
2019-08-31 12:40:03 -04:00
Colin Finck
afccedc43c Update to Rust and Cargo 1.37.0. 2019-08-29 11:31:28 +02:00
Alistair Francis
150b1591d6 rust-cross: Add riscv32 data layout information
This was generated with:
    clang --target=riscv32  -emit-llvm -S -x c /dev/null -o aaa |  cat aaa | grep "target datalayout"

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2019-08-23 15:57:29 -07:00
Johan Anderholm
2c4a666b68 Set cainfo to certificates in sysroot-native
This solves SSL CA cert errors.

When a sstate-cache is used sometimes the certificates are not available
at the compile time path anymore. The required certificates are
available in sysroot-native and can be selected with the cainfo
configuration.
2019-08-06 12:16:10 +00:00
Steven Walter
c5ff05d1e9 Merge pull request #245 from janderholm/master
Update to rust and cargo version 1.36.0
2019-08-02 18:56:06 -04:00
Johan Anderholm
2f323e1e9e Update to rust and cargo version 1.36.0 2019-08-02 09:35:31 +00:00
Steven Walter
9487b089ea Merge pull request #243 from akiernan/checksums-and-fuzz
Fix checksums and patch fuzz from 1.34.2
2019-06-09 10:31:46 +08:00
Alex Kiernan
bcbe02f6ac cargo: Fix patch fuzz
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2019-06-07 12:10:04 +01:00
Alex Kiernan
2afc6ecef2 rust-llvm: Update LICENSE.TXT checksum
License-Update: copyright years refreshed
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2019-06-07 12:10:04 +01:00
Alex Kiernan
4ca5b781dc rust-source: Update COPYRIGHT checksum
License-Update: path names updated (src/llvm => src/llvm-project)
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
2019-06-07 12:10:04 +01:00
Steven Walter
164bc5f20a Merge pull request #241 from webdino/update-to-1.34.2
Update to rust version 1.34.2
2019-06-06 21:24:11 +08:00
Takuro Ashie
03f492ab35 Update to rust version 1.34.2 2019-06-06 17:56:39 +09:00
Tyler Hall
84710b341b Merge pull request #239 from agherzan/ag/patchfix
cargo: Refresh patch to avoid build warning
2019-04-24 13:32:56 -04:00
Andrei Gherzan
4a88247046 cargo: Refresh patch to avoid build warning
Signed-off-by: Andrei Gherzan <andrei@balena.io>
2019-04-17 16:44:58 +01:00
Derek Straka
0d03c206c3 Merge pull request #238 from YoeDistro/yoe/mut
layer.conf: Add warrior to compatible release series
2019-04-04 21:17:14 -05:00
Khem Raj
9a077b21d0 layer.conf: Add warrior to compatible release series
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-04-01 19:04:45 -07:00
Steven Walter
0621067c56 Merge pull request #235 from janderholm/update-to-1.33.0
Update to rust version 1.33.0
2019-03-05 10:05:34 -05:00
Johan Anderholm
723e24bd9d Update to rust version 1.33.0 2019-03-02 07:28:09 +00:00
Steven Walter
f2f17c58b0 Merge pull request #234 from janderholm/master
Correct proxy variable
2019-02-28 11:39:42 -05:00
Johan Anderholm
68046d42b8 Correct proxy variable 2019-02-19 14:52:16 +00:00
Steven Walter
f4517aaba8 Merge pull request #232 from janderholm/update-to-1.32.0
Update to 1.32.0
2019-02-15 19:57:29 -05: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
cb383b0d90 Remove rust 1.27.1 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
Steven Walter
d537c62b4e Merge pull request #233 from YoeDistro/yoe/mut
rust-llvm: Update the sysroot patch to latest from meta-clang
2019-02-13 16:55:10 -05:00
Khem Raj
16d015a481 rust-llvm: Update the sysroot patch to latest from meta-clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-13 13:24:23 -08:00
Steven Walter
8b7d6201b6 Merge pull request #228 from dandedrick/thumb-fix
rust: don't configure thumb if not in TUNE_FEATURES
2019-01-16 11:48:54 -05:00
Dan Dedrick
e7c10de555 rust: don't configure thumb if not in TUNE_FEATURES
ARM_INSTRUCTION_SET, and therefore ARM_THUMB_OPT also, expect to only be
used in conjunction with the thumb TUNE_FEATURES. So thumb-mode should only
be added if thumb is in TUNE_FEATURES and ARM_THUMB_OPT is thumb.

The commit https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/conf/machine/include/arm/arch-armv7a.inc?id=3e7d26e31a724009e69788460737e07163a14051
caused armv7a.inc to set ARM_INSTRUCTION_SET to thumb and the commit
message explicitly states that the change should have no effect unless
TUNE_FEATURES also includes thumb. This change to rust will allow that
assumption to continue to be true.
2019-01-14 15:58:54 -05:00
Steven Walter
e357f4e5d5 Merge pull request #227 from janderholm/master
Set proxy in cargo if available
2019-01-13 12:59:58 -05:00
Johan Anderholm
9ecc36acb5 Set proxy in cargo if available
This is needed for cargo to use proxies set by bitbake. It is important
for devtooled builds which does not use vendored sources.
2019-01-13 10:45:01 +01:00
Steven Walter
4110f1d92a Merge pull request #226 from Fulkerson/master
Update to rust version 1.31.1
2019-01-03 14:37:45 -05:00
Johan Anderholm
496b75fa1f Update to rust version 1.31.1
Also make use of the sources vendored in the rustc package instead of
letting bitbake download the sources.
2019-01-03 17:31:46 +01:00
Steven Walter
e4fdc0e8f7 Merge pull request #225 from YoeDistro/yoe/mut
rust-cross: Add ppc support
2018-12-27 21:02:39 -05:00
Khem Raj
bf01840f5b rust-cross: Add riscv64 data layout information
clang --target=riscv64  -emit-llvm -S -x c /dev/null -o aaa |  cat aaa | grep "target datalayout"

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-26 14:52:22 -08:00
Khem Raj
1b00814593 rust-cross: Add mips64 data layout llvm specifications
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-26 14:52:22 -08:00
Khem Raj
68d6bce609 rust-cross: Add ppc support
This ensures that rust-cross can be compiled for ppc arch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-26 14:52:18 -08:00
Steven Walter
969467c029 Merge pull request #222 from YoeDistro/yoe/mut
libstd-rs: Depend on libunwind on musl builds
2018-12-17 13:05:37 -05:00
Khem Raj
665213a13d libstd-rs: Depend on libunwind on musl builds
musl builds need libunwind.a to be in sysroot for libstd-rs to build
unwinding support into it. This also means we need to compile libunwind
with --enable-static in oe-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-12-05 16:13:21 -08:00
Doug Goldstein
4c9068bd09 Merge pull request #216 from hongxu-jia/master
cargo_common.bbclass: fix bashism
2018-11-23 16:46:58 -06:00
Hongxu Jia
3b9251e732 cargo_common.bbclass: fix bashism
While /bin/sh -> dash, var-EXTERNALSRC didn't work

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2018-11-20 22:10:18 +08:00
Derek Straka
ea613e2ae2 Merge pull request #212 from OSSystems/master
Use libssh2 from system and upgrade cargo to 0.31.0
2018-11-13 08:46:41 -05:00
Derek Straka
e660179c55 Merge branch 'master' into master 2018-11-12 21:30:03 -05:00
Derek Straka
318a4c6f25 Merge pull request #215 from myagley/miyagley/cxxflags
Fix TARGET_CXXFLAGS in cargo_common
2018-11-12 21:29:47 -05:00
Mike Yagley
c7fc7986c2 Fix TARGET_CXXFLAGS in cargo_common 2018-11-12 13:44:02 -08:00
Derek Straka
50828f8af2 Merge branch 'master' into master 2018-11-12 10:11:32 -05:00
Derek Straka
adf3f10036 Merge pull request #214 from YoeDistro/yoe/mut
Fix building llvm (inspirations from meta-clang)
2018-11-12 10:11:11 -05:00
Khem Raj
446d28d6e1 rust: Use llvm-rust-native and env variables to configure llvm-config
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-09 22:53:49 -08:00
Khem Raj
b15ba05ea8 rust-llvm: Make llvm-config cross compile friendly
Import patches from clang layer to ensure that llvm-config
can be provided configs from environment

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-09 22:52:05 -08:00
Otavio Salvador
f54025fed9 cargo: Add 0.31.0 recipe
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-11-09 08:06:29 -02: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
Khem Raj
e04d99bf38 rust-llvm: Fix build with OE-core master
Disable libxml2 explicitly
Disable building hosttools on target build

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-11-02 15:05:17 -07:00
Derek Straka
6b060617cd Merge pull request #210 from alimon/master
conf/layer.conf: Add thud to the LAYERSERIES_COMPAT
2018-10-20 13:35:39 -04:00
Aníbal Limón
99ec7396f6 conf/layer.conf: Add thud to the LAYERSERIES_COMPAT
To support current master builds.

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
2018-10-19 19:48:18 -05:00
Derek Straka
f81fbebaeb Merge pull request #206 from srwalter/disable-llvm-assertions
rust-llvm: correctly disable assertions
2018-08-11 07:42:08 -04:00
Steven Walter
5a9933dd46 rust-llvm: correctly disable assertions
We were already trying to disable assertions, but it wasn't working.
rust-llvm now configures assertions based on the CMAKE_BUILD_TYPE.
Setting that to "Release" causes assertions to be disabled, which is
what we want.
2018-08-08 12:37:17 -04:00
Derek Straka
badf251873 Merge pull request #205 from tylerwhall/remap-path-prefix
rust-common: fix remap-path-prefix for 1.26
2018-07-23 11:59:53 -04:00
Tyler Hall
060e033df9 rust-common: fix remap-path-prefix for 1.26
Before the flag was stabilized, it required two arguments of the form
"from=<from_path>" and "to=<to_path>" respectively. The stabilized
version uses one argument of the form "<from_path>=<to_path>".

Unfortunately the old format is still parsed successfully, but results
in attempting to replace the literal paths "from" and "to".

https://github.com/rust-lang/rust/issues/41555#issuecomment-320951103
2018-07-22 15:48:46 -04:00
Derek Straka
6d3f61e5ce Merge pull request #202 from Fulkerson/1.27.1
Bump to Rust 1.27.1
2018-07-18 12:34:17 -04:00
Johan Anderholm
bbf4f77f98 Bump to Rust 1.27.1 2018-07-18 08:15:34 +02:00
Steven Walter
b7380307d0 Merge pull request #204 from meta-rust/allow-overriding-libstd-features
libstd-rs: use a separate variable for --features
2018-07-16 12:04:30 -04:00
Steven Walter
8b471a1bdc libstd-rs: use a separate variable for --features
This will allow features to be easily modified through a bbappend file
in another layer.
2018-07-16 09:09:10 -04:00
Derek Straka
b82e450b5a Merge pull request #201 from meta-rust/fix-debug
libstd-rs: support debug builds
2018-07-12 17:09:33 -04:00
65 changed files with 1050 additions and 772 deletions

View File

@@ -20,6 +20,14 @@ export CARGO_HOME = "${WORKDIR}/cargo_home"
# for cross compilation, so tell it we know better than it.
export PKG_CONFIG_ALLOW_CROSS = "1"
# Don't instruct cargo to use crates downloaded by bitbake. Some rust packages,
# for example the rust compiler itself, come with their own vendored sources.
# Specifying two [source.crates-io] will not work.
CARGO_DISABLE_BITBAKE_VENDORING ?= "0"
# Used by libstd-rs to point to the vendor dir included in rustc src
CARGO_VENDORING_DIRECTORY ?= "${CARGO_HOME}/bitbake"
cargo_common_do_configure () {
mkdir -p ${CARGO_HOME}/bitbake
echo "paths = [" > ${CARGO_HOME}/config
@@ -32,10 +40,10 @@ cargo_common_do_configure () {
# Point cargo at our local mirror of the registry
cat <<- EOF >> ${CARGO_HOME}/config
[source.bitbake]
directory = "${CARGO_HOME}/bitbake"
directory = "${CARGO_VENDORING_DIRECTORY}"
EOF
if [ "${EXTERNALSRC}" == "" ]; then
if [ -z "${EXTERNALSRC}" ] && [ ${CARGO_DISABLE_BITBAKE_VENDORING} = "0" ]; then
cat <<- EOF >> ${CARGO_HOME}/config
[source.crates-io]
replace-with = "bitbake"
@@ -43,6 +51,22 @@ cargo_common_do_configure () {
EOF
fi
# Disable multiplexing in order to keep cargo from using http2, which we
# can't currently enable because of dependency loops
cat <<- EOF >> ${CARGO_HOME}/config
[http]
multiplexing = false
EOF
# When a sstate-cache is used sometimes the certificates are not available
# at the compile time path anymore. Set it explicitly instead.
echo "cainfo = \"${STAGING_ETCDIR_NATIVE}/ssl/certs/ca-certificates.crt\"" \
>> ${CARGO_HOME}/config
if [ -n "${http_proxy}" ]; then
echo "proxy = \"${http_proxy}\"" >> ${CARGO_HOME}/config
fi
echo "[target.${HOST_SYS}]" >> ${CARGO_HOME}/config
echo "linker = '${RUST_TARGET_CCLD}'" >> ${CARGO_HOME}/config
if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
@@ -60,7 +84,7 @@ oe_cargo_fix_env () {
export TARGET_CC="${RUST_TARGET_CC}"
export TARGET_CXX="${RUST_TARGET_CXX}"
export TARGET_CFLAGS="${CFLAGS}"
export TARGET_CFLAGS="${CXXFLAGS}"
export TARGET_CXXFLAGS="${CXXFLAGS}"
export TARGET_AR="${AR}"
export HOST_CC="${RUST_BUILD_CC}"
export HOST_CXX="${RUST_BUILD_CXX}"

View File

@@ -1,11 +1,11 @@
# Common variables used by all Rust builds
export rustlibdir = "${libdir}/rust"
FILES_${PN} += "${rustlibdir}/*.so"
FILES_${PN}-dev += "${rustlibdir}/*.rlib"
FILES_${PN}-dev += "${rustlibdir}/*.rlib ${rustlibdir}/*.rmeta"
FILES_${PN}-dbg += "${rustlibdir}/.debug"
RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
RUST_DEBUG_REMAP = "--remap-path-prefix=from=${WORKDIR} --remap-path-prefix=to=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
RUST_DEBUG_REMAP = "--remap-path-prefix=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
RUSTLIB_DEP ?= "libstd-rs"
RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
@@ -110,7 +110,7 @@ create_wrapper () {
cat <<- EOF > "${file}"
#!/bin/sh
$@ "\$@"
exec $@ "\$@"
EOF
chmod +x "${file}"
}

View File

@@ -9,7 +9,7 @@ BBFILE_PATTERN_rust-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_rust-layer = "7"
LAYERDEPENDS_rust-layer = "core openembedded-layer"
LAYERSERIES_COMPAT_rust-layer = "rocko sumo"
LAYERSERIES_COMPAT_rust-layer = "rocko sumo thud warrior zeus dunfell"
# Override security flags
require conf/distro/include/rust_security_flags.inc

View File

@@ -1,13 +0,0 @@
CARGO_SNAPSHOT = "cargo-0.26.0-${RUST_BUILD_SYS}"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[cargo-snapshot-x86_64.md5sum] = "b0de62d86f0ba71078471d09916873c6"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "9ba227f2364f618dc9415dacf3a5dce17458e1cb9f6d4fe860416cb68db894e4"
SRC_URI += "\
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.gz;name=cargo-snapshot-${BUILD_ARCH} \
"
# When building cargo-native we don't have a built cargo to use so we must use
# the snapshot to bootstrap the build of cargo
CARGO_class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/cargo/bin/cargo"

View File

@@ -0,0 +1,29 @@
From 44cf21036646e4849e9f8566db7decb7da917394 Mon Sep 17 00:00:00 2001
From: Johan Anderholm <johan.anderholm@gmail.com>
Date: Sun, 27 Jan 2019 10:19:00 +0100
Subject: [PATCH] Disable http2
http2 requires that curl is build with nghttp2 which in turn depends on
many dependencies and ultimately a dependency loop in the case of
curl-native. As long as multiplexing is disabled in cargo this should
be fine.
Upstream-Status: Inappropriate
---
Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index 8238380861d9..ced1defea459 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,7 +24,7 @@ bytesize = "1.0"
crates-io = { path = "src/crates-io", version = "0.23" }
crossbeam-utils = "0.6"
crypto-hash = "0.3.1"
-curl = { version = "0.4.19", features = ['http2'] }
+curl = { version = "0.4.19" }
curl-sys = "0.4.15"
env_logger = "0.6.0"
pretty_env_logger = { version = "0.3", optional = true }

View File

@@ -0,0 +1,31 @@
From 42e65192b6f7520b7a05924856e00600961f6758 Mon Sep 17 00:00:00 2001
From: Johan Anderholm <johan.anderholm@gmail.com>
Date: Sun, 27 Jan 2019 10:19:00 +0100
Subject: [PATCH] Disable http2
http2 requires that curl is build with nghttp2 which in turn depends on
many dependencies and ultimately a dependency loop in the case of
curl-native. As long as multiplexing is disabled in cargo this should
be fine.
Upstream-Status: Inappropriate
---
Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index c3fcacf5..bd6ec50b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,7 +24,7 @@ bytesize = "1.0"
crates-io = { path = "src/crates-io", version = "0.25" }
crossbeam-utils = "0.6"
crypto-hash = "0.3.1"
-curl = { version = "0.4.21", features = ['http2'] }
+curl = { version = "0.4.21" }
curl-sys = "0.4.18"
env_logger = "0.6.0"
pretty_env_logger = { version = "0.3", optional = true }
--
2.11.0

View File

@@ -0,0 +1,29 @@
From 0e2384133664ebeb548b782ad763c3a627c1bc66 Mon Sep 17 00:00:00 2001
From: Johan Anderholm <johan.anderholm@gmail.com>
Date: Sun, 27 Jan 2019 10:19:00 +0100
Subject: [PATCH] Disable http2
http2 requires that curl is build with nghttp2 which in turn depends on
many dependencies and ultimately a dependency loop in the case of
curl-native. As long as multiplexing is disabled in cargo this should
be fine.
Upstream-Status: Inappropriate
---
src/tools/cargo/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index d15aa2513..ba9c77d25 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,7 +24,7 @@ bytesize = "1.0"
crates-io = { path = "crates/crates-io", version = "0.26" }
crossbeam-utils = "0.6"
crypto-hash = "0.3.1"
-curl = { version = "0.4.21", features = ['http2'] }
+curl = { version = "0.4.21" }
curl-sys = "0.4.18"
env_logger = "0.6.0"
pretty_env_logger = { version = "0.3", optional = true }

View File

@@ -0,0 +1,29 @@
From 0e2384133664ebeb548b782ad763c3a627c1bc66 Mon Sep 17 00:00:00 2001
From: Johan Anderholm <johan.anderholm@gmail.com>
Date: Sun, 27 Jan 2019 10:19:00 +0100
Subject: [PATCH] Disable http2
http2 requires that curl is build with nghttp2 which in turn depends on
many dependencies and ultimately a dependency loop in the case of
curl-native. As long as multiplexing is disabled in cargo this should
be fine.
Upstream-Status: Inappropriate
---
src/tools/cargo/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index d15aa2513..ba9c77d25 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -24,7 +24,7 @@ bytesize = "1.0"
crates-io = { path = "crates/crates-io", version = "0.28" }
crossbeam-utils = "0.6"
crypto-hash = "0.3.1"
-curl = { version = "0.4.21", features = ['http2'] }
+curl = { version = "0.4.21" }
curl-sys = "0.4.18"
env_logger = "0.6.0"
pretty_env_logger = { version = "0.3", optional = true }

View File

@@ -0,0 +1,29 @@
From f0496287fb754e5b8dd1956f6a0addb55f3b06f5 Mon Sep 17 00:00:00 2001
From: Johan Anderholm <johan.anderholm@gmail.com>
Date: Sun, 27 Jan 2019 10:19:00 +0100
Subject: [PATCH] Disable http2
http2 requires that curl is build with nghttp2 which in turn depends on
many dependencies and ultimately a dependency loop in the case of
curl-native. As long as multiplexing is disabled in cargo this should
be fine.
Upstream-Status: Inappropriate
---
src/tools/cargo/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index eea1f42a2..5159890f4 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -25,7 +25,7 @@ cargo-platform = { path = "crates/cargo-platform", version = "0.1" }
crates-io = { path = "crates/crates-io", version = "0.29" }
crossbeam-utils = "0.6"
crypto-hash = "0.3.1"
-curl = { version = "0.4.23", features = ["http2"] }
+curl = { version = "0.4.23" }
curl-sys = "0.4.22"
env_logger = "0.7.0"
pretty_env_logger = { version = "0.3", optional = true }

View File

@@ -0,0 +1,29 @@
From e06774b9f2be4ff1f3404f2f10e25f99e3f3455b Mon Sep 17 00:00:00 2001
From: Johan Anderholm <johan.anderholm@gmail.com>
Date: Sun, 27 Jan 2019 10:19:00 +0100
Subject: [PATCH] Disable http2
http2 requires that curl is build with nghttp2 which in turn depends on
many dependencies and ultimately a dependency loop in the case of
curl-native. As long as multiplexing is disabled in cargo this should
be fine.
Upstream-Status: Inappropriate
---
src/tools/cargo/Cargo.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Cargo.toml b/Cargo.toml
index fc9b69c03..2f4d3a949 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -25,7 +25,7 @@ cargo-platform = { path = "crates/cargo-platform", version = "0.1" }
crates-io = { path = "crates/crates-io", version = "0.30" }
crossbeam-utils = "0.7"
crypto-hash = "0.3.1"
-curl = { version = "0.4.23", features = ["http2"] }
+curl = { version = "0.4.23" }
curl-sys = "0.4.22"
env_logger = "0.7.0"
pretty_env_logger = { version = "0.3", optional = true }

View File

@@ -1,12 +1,43 @@
SUMMARY = "Cargo, a package manager for Rust."
HOMEPAGE = "https://crates.io"
LICENSE = "MIT | Apache-2.0"
SECTION = "devel"
DEPENDS = "openssl zlib libgit2 curl ca-certificates libssh2"
LIC_FILES_CHKSUM += " \
file://LICENSE-THIRD-PARTY;md5=892ea68b169e69cfe75097fc38a15b56 \
LIC_FILES_CHKSUM = " \
file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
"
# Used in libgit2-sys's build.rs, needed for pkg-config to be used
SRC_URI += "file://0001-Disable-http2.patch"
S = "${RUSTSRC}/src/tools/cargo"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
inherit cargo
do_cargo_setup_snapshot () {
${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
}
addtask cargo_setup_snapshot after do_unpack before do_configure
do_cargo_setup_snapshot[dirs] += "${WORKDIR}/${CARGO_SNAPSHOT}"
do_compile_prepend () {
export RUSTC_BOOTSTRAP="1"
}
do_install () {
install -d "${D}${bindir}"
install -m 755 "${RUSTSRC}/target/${CARGO_TARGET_SUBDIR}/cargo" "${D}${bindir}"
}
# Needed for pkg-config to be used
export LIBGIT2_SYS_USE_PKG_CONFIG = "1"
export LIBSSH2_SYS_USE_PKG_CONFIG = "1"
BBCLASSEXTEND = "native"
# When building cargo-native we don't have a built cargo to use so we must use
# the snapshot to bootstrap the build of cargo
CARGO_class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"

View File

@@ -1,154 +0,0 @@
# Auto-Generated by cargo-bitbake 0.3.10
#
inherit cargo
# If this is git based prefer versioned ones if they exist
# DEFAULT_PREFERENCE = "-1"
# how to get cargo could be as easy as but default to a git checkout:
# SRC_URI += "crate://crates.io/cargo/0.27.0"
SRC_URI += "git://github.com/rust-lang/cargo.git;protocol=https;branch=rust-1.26.0"
SRCREV = "0e7c5a93159076952f609e05760e2458828d0d1f"
S = "${WORKDIR}/git"
CARGO_SRC_DIR=""
# please note if you have entries that do not begin with crate://
# you must change them to how that package can be fetched
SRC_URI += " \
crate://crates.io/aho-corasick/0.6.4 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/atty/0.2.10 \
crate://crates.io/backtrace-sys/0.1.16 \
crate://crates.io/backtrace/0.3.7 \
crate://crates.io/bitflags/1.0.3 \
crate://crates.io/bufstream/0.1.3 \
crate://crates.io/cc/1.0.15 \
crate://crates.io/cfg-if/0.1.3 \
crate://crates.io/clap/2.31.2 \
crate://crates.io/cmake/0.1.31 \
crate://crates.io/commoncrypto-sys/0.2.0 \
crate://crates.io/commoncrypto/0.2.0 \
crate://crates.io/core-foundation-sys/0.5.1 \
crate://crates.io/core-foundation/0.5.1 \
crate://crates.io/crossbeam/0.3.2 \
crate://crates.io/crypto-hash/0.3.1 \
crate://crates.io/curl-sys/0.4.5 \
crate://crates.io/curl/0.4.12 \
crate://crates.io/dtoa/0.4.2 \
crate://crates.io/env_logger/0.5.10 \
crate://crates.io/failure/0.1.1 \
crate://crates.io/failure_derive/0.1.1 \
crate://crates.io/filetime/0.1.15 \
crate://crates.io/filetime/0.2.1 \
crate://crates.io/flate2/1.0.1 \
crate://crates.io/fnv/1.0.6 \
crate://crates.io/foreign-types-shared/0.1.1 \
crate://crates.io/foreign-types/0.3.2 \
crate://crates.io/fs2/0.4.3 \
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
crate://crates.io/fuchsia-zircon/0.3.3 \
crate://crates.io/git2-curl/0.8.1 \
crate://crates.io/git2/0.7.1 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/globset/0.4.0 \
crate://crates.io/hex/0.3.2 \
crate://crates.io/home/0.3.3 \
crate://crates.io/humantime/1.1.1 \
crate://crates.io/idna/0.1.4 \
crate://crates.io/ignore/0.4.2 \
crate://crates.io/itoa/0.4.1 \
crate://crates.io/jobserver/0.1.11 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/lazy_static/1.0.0 \
crate://crates.io/lazycell/0.6.0 \
crate://crates.io/libc/0.2.40 \
crate://crates.io/libgit2-sys/0.7.1 \
crate://crates.io/libssh2-sys/0.2.7 \
crate://crates.io/libz-sys/1.0.18 \
crate://crates.io/log/0.4.1 \
crate://crates.io/matches/0.1.6 \
crate://crates.io/memchr/2.0.1 \
crate://crates.io/miniz-sys/0.1.10 \
crate://crates.io/miow/0.3.1 \
crate://crates.io/num-traits/0.2.4 \
crate://crates.io/num_cpus/1.8.0 \
crate://crates.io/openssl-probe/0.1.2 \
crate://crates.io/openssl-sys/0.9.30 \
crate://crates.io/openssl/0.10.7 \
crate://crates.io/percent-encoding/1.0.1 \
crate://crates.io/pkg-config/0.3.11 \
crate://crates.io/proc-macro2/0.3.8 \
crate://crates.io/quick-error/1.2.1 \
crate://crates.io/quote/0.3.15 \
crate://crates.io/quote/0.5.2 \
crate://crates.io/rand/0.4.2 \
crate://crates.io/redox_syscall/0.1.37 \
crate://crates.io/redox_termios/0.1.1 \
crate://crates.io/regex-syntax/0.5.6 \
crate://crates.io/regex-syntax/0.6.0 \
crate://crates.io/regex/0.2.11 \
crate://crates.io/regex/1.0.0 \
crate://crates.io/remove_dir_all/0.5.1 \
crate://crates.io/rustc-demangle/0.1.8 \
crate://crates.io/same-file/1.0.2 \
crate://crates.io/schannel/0.1.12 \
crate://crates.io/scopeguard/0.3.3 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.9.0 \
crate://crates.io/serde/1.0.55 \
crate://crates.io/serde_derive/1.0.55 \
crate://crates.io/serde_ignored/0.0.4 \
crate://crates.io/serde_json/1.0.17 \
crate://crates.io/shell-escape/0.1.4 \
crate://crates.io/socket2/0.3.5 \
crate://crates.io/strsim/0.7.0 \
crate://crates.io/syn/0.11.11 \
crate://crates.io/syn/0.13.10 \
crate://crates.io/synom/0.11.3 \
crate://crates.io/synstructure/0.6.1 \
crate://crates.io/tar/0.4.15 \
crate://crates.io/tempfile/3.0.2 \
crate://crates.io/termcolor/0.3.6 \
crate://crates.io/termion/1.5.1 \
crate://crates.io/textwrap/0.9.0 \
crate://crates.io/thread_local/0.3.5 \
crate://crates.io/toml/0.4.6 \
crate://crates.io/ucd-util/0.1.1 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.7 \
crate://crates.io/unicode-width/0.1.4 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unreachable/1.0.0 \
crate://crates.io/url/1.7.0 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/vcpkg/0.2.3 \
crate://crates.io/vec_map/0.8.1 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/2.1.4 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/winapi/0.3.4 \
crate://crates.io/wincolor/0.1.6 \
"
# FIXME: update generateme with the real MD5 of the license file
LIC_FILES_CHKSUM=" \
file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
"
SUMMARY = "Cargo, a package manager for Rust."
HOMEPAGE = "https://crates.io"
LICENSE = "MIT | Apache-2.0"
# includes this file if it exists but does not fail
# this is useful for anything you may want to override from
# what cargo-bitbake generates.
include cargo-${PV}.inc
include cargo.inc

View File

@@ -0,0 +1,8 @@
require recipes-devtools/rust/rust-source-${PV}.inc
require recipes-devtools/rust/rust-snapshot-${PV}.inc
require cargo.inc
LIC_FILES_CHKSUM += " \
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
file://LICENSE-THIRD-PARTY;md5=892ea68b169e69cfe75097fc38a15b56 \
"

View File

@@ -0,0 +1,8 @@
require recipes-devtools/rust/rust-source-${PV}.inc
require recipes-devtools/rust/rust-snapshot-${PV}.inc
require cargo.inc
LIC_FILES_CHKSUM += " \
file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
"

View File

@@ -0,0 +1,8 @@
require recipes-devtools/rust/rust-source-${PV}.inc
require recipes-devtools/rust/rust-snapshot-${PV}.inc
require cargo.inc
LIC_FILES_CHKSUM += " \
file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
"

View File

@@ -0,0 +1,8 @@
require recipes-devtools/rust/rust-source-${PV}.inc
require recipes-devtools/rust/rust-snapshot-${PV}.inc
require cargo.inc
LIC_FILES_CHKSUM += " \
file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
"

View File

@@ -0,0 +1,8 @@
require recipes-devtools/rust/rust-source-${PV}.inc
require recipes-devtools/rust/rust-snapshot-${PV}.inc
require cargo.inc
LIC_FILES_CHKSUM += " \
file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
"

View File

@@ -0,0 +1,8 @@
require recipes-devtools/rust/rust-source-${PV}.inc
require recipes-devtools/rust/rust-snapshot-${PV}.inc
require cargo.inc
LIC_FILES_CHKSUM += " \
file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
"

View File

@@ -6,11 +6,14 @@ LICENSE = "MIT | Apache-2.0"
RUSTLIB_DEP = ""
inherit cargo
DEPENDS_append_libc-musl = " libunwind"
# Needed so cargo can find libbacktrace
RUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so"
S = "${RUSTSRC}/src/libstd"
CARGO_BUILD_FLAGS += "--features '${CARGO_FEATURES}'"
do_compile_prepend () {
export CARGO_TARGET_DIR="${B}"
# For Rust 1.13.0 and newer
@@ -23,6 +26,6 @@ do_install () {
# With the incremental build support added in 1.24, the libstd deps directory also includes dependency
# files that get installed. Those are really only needed to incrementally rebuild the libstd library
# itself and don't need to be installed.
rm ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d
rm -f ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d
cp ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
}

View File

@@ -1,211 +0,0 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=99c369ad81a36cd5b27f6c6968d01055"
# Don't use jemalloc as it doesn't work for many targets.
# https://github.com/rust-lang/rust/pull/37392
CARGO_BUILD_FLAGS += "--features 'panic-unwind'"
# These are taken from src/libstd/Cargo.toml via cargo-bitbake
SRC_URI += " \
crate://crates.io/aho-corasick/0.6.4 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/ar/0.3.1 \
crate://crates.io/arrayvec/0.4.7 \
crate://crates.io/atty/0.2.8 \
crate://crates.io/backtrace-sys/0.1.16 \
crate://crates.io/backtrace/0.3.5 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bitflags/1.0.1 \
crate://crates.io/bufstream/0.1.3 \
crate://crates.io/byteorder/1.2.1 \
crate://crates.io/cargo_metadata/0.2.3 \
crate://crates.io/cargo_metadata/0.5.3 \
crate://crates.io/cc/1.0.9 \
crate://crates.io/cfg-if/0.1.2 \
crate://crates.io/chrono/0.4.0 \
crate://crates.io/clap/2.31.2 \
crate://crates.io/cmake/0.1.29 \
crate://crates.io/commoncrypto-sys/0.2.0 \
crate://crates.io/commoncrypto/0.2.0 \
crate://crates.io/compiletest_rs/0.3.8 \
crate://crates.io/core-foundation-sys/0.5.1 \
crate://crates.io/core-foundation/0.5.1 \
crate://crates.io/crossbeam-deque/0.2.0 \
crate://crates.io/crossbeam-epoch/0.3.0 \
crate://crates.io/crossbeam-utils/0.2.2 \
crate://crates.io/crossbeam/0.3.2 \
crate://crates.io/crypto-hash/0.3.1 \
crate://crates.io/curl-sys/0.4.1 \
crate://crates.io/curl/0.4.11 \
crate://crates.io/derive-new/0.5.1 \
crate://crates.io/diff/0.1.11 \
crate://crates.io/dtoa/0.4.2 \
crate://crates.io/either/1.4.0 \
crate://crates.io/ena/0.9.2 \
crate://crates.io/endian-type/0.1.2 \
crate://crates.io/enum_primitive/0.1.1 \
crate://crates.io/env_logger/0.5.6 \
crate://crates.io/error-chain/0.11.0 \
crate://crates.io/failure/0.1.1 \
crate://crates.io/failure_derive/0.1.1 \
crate://crates.io/filetime/0.1.15 \
crate://crates.io/flate2/1.0.1 \
crate://crates.io/fnv/1.0.6 \
crate://crates.io/foreign-types-shared/0.1.1 \
crate://crates.io/foreign-types/0.3.2 \
crate://crates.io/fs2/0.4.3 \
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
crate://crates.io/fuchsia-zircon/0.3.3 \
crate://crates.io/futures/0.1.17 \
crate://crates.io/getopts/0.2.15 \
crate://crates.io/git2-curl/0.8.1 \
crate://crates.io/git2/0.7.1 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/globset/0.3.0 \
crate://crates.io/handlebars/0.29.1 \
crate://crates.io/hex/0.3.1 \
crate://crates.io/home/0.3.2 \
crate://crates.io/humantime/1.1.1 \
crate://crates.io/idna/0.1.4 \
crate://crates.io/if_chain/0.1.2 \
crate://crates.io/ignore/0.4.1 \
crate://crates.io/is-match/0.1.0 \
crate://crates.io/itertools/0.7.6 \
crate://crates.io/itoa/0.4.1 \
crate://crates.io/jobserver/0.1.11 \
crate://crates.io/json/0.11.12 \
crate://crates.io/jsonrpc-core/8.0.1 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/languageserver-types/0.35.0 \
crate://crates.io/lazy_static/0.2.11 \
crate://crates.io/lazy_static/1.0.0 \
crate://crates.io/lazycell/0.6.0 \
crate://crates.io/libc/0.2.40 \
crate://crates.io/libgit2-sys/0.7.1 \
crate://crates.io/libssh2-sys/0.2.6 \
crate://crates.io/libz-sys/1.0.18 \
crate://crates.io/log/0.3.9 \
crate://crates.io/log/0.4.1 \
crate://crates.io/log_settings/0.1.1 \
crate://crates.io/lzma-sys/0.1.9 \
crate://crates.io/matches/0.1.6 \
crate://crates.io/mdbook/0.1.2 \
crate://crates.io/memchr/2.0.1 \
crate://crates.io/memoffset/0.2.1 \
crate://crates.io/miniz-sys/0.1.10 \
crate://crates.io/miow/0.3.1 \
crate://crates.io/nibble_vec/0.0.3 \
crate://crates.io/nodrop/0.1.12 \
crate://crates.io/num-integer/0.1.36 \
crate://crates.io/num-iter/0.1.35 \
crate://crates.io/num-traits/0.1.43 \
crate://crates.io/num-traits/0.2.2 \
crate://crates.io/num/0.1.42 \
crate://crates.io/num_cpus/1.8.0 \
crate://crates.io/open/1.2.1 \
crate://crates.io/openssl-probe/0.1.2 \
crate://crates.io/openssl-sys/0.9.27 \
crate://crates.io/openssl/0.10.5 \
crate://crates.io/owning_ref/0.3.3 \
crate://crates.io/parking_lot/0.5.3 \
crate://crates.io/parking_lot_core/0.2.13 \
crate://crates.io/percent-encoding/1.0.1 \
crate://crates.io/pest/0.3.3 \
crate://crates.io/pkg-config/0.3.9 \
crate://crates.io/proc-macro2/0.2.3 \
crate://crates.io/pulldown-cmark/0.1.2 \
crate://crates.io/quick-error/1.2.1 \
crate://crates.io/quine-mc_cluskey/0.2.4 \
crate://crates.io/quote/0.3.15 \
crate://crates.io/quote/0.4.2 \
crate://crates.io/racer/2.0.13 \
crate://crates.io/radix_trie/0.1.2 \
crate://crates.io/rand/0.4.2 \
crate://crates.io/rayon-core/1.4.0 \
crate://crates.io/rayon/1.0.0 \
crate://crates.io/redox_syscall/0.1.37 \
crate://crates.io/redox_termios/0.1.1 \
crate://crates.io/regex-syntax/0.5.3 \
crate://crates.io/regex/0.2.10 \
crate://crates.io/remove_dir_all/0.5.0 \
crate://crates.io/rls-analysis/0.11.3 \
crate://crates.io/rls-blacklist/0.1.0 \
crate://crates.io/rls-data/0.15.0 \
crate://crates.io/rls-rustc/0.2.2 \
crate://crates.io/rls-span/0.4.0 \
crate://crates.io/rls-vfs/0.4.5 \
crate://crates.io/rustc-ap-rustc_cratesio_shim/94.0.0 \
crate://crates.io/rustc-ap-rustc_data_structures/94.0.0 \
crate://crates.io/rustc-ap-rustc_errors/94.0.0 \
crate://crates.io/rustc-ap-serialize/94.0.0 \
crate://crates.io/rustc-ap-syntax/94.0.0 \
crate://crates.io/rustc-ap-syntax_pos/94.0.0 \
crate://crates.io/rustc-demangle/0.1.7 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/same-file/1.0.2 \
crate://crates.io/schannel/0.1.11 \
crate://crates.io/scoped-tls/0.1.1 \
crate://crates.io/scopeguard/0.3.3 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.9.0 \
crate://crates.io/serde/1.0.35 \
crate://crates.io/serde_derive/1.0.35 \
crate://crates.io/serde_derive_internals/0.22.1 \
crate://crates.io/serde_ignored/0.0.4 \
crate://crates.io/serde_json/1.0.13 \
crate://crates.io/shell-escape/0.1.3 \
crate://crates.io/shlex/0.1.1 \
crate://crates.io/smallvec/0.6.0 \
crate://crates.io/socket2/0.3.4 \
crate://crates.io/stable_deref_trait/1.0.0 \
crate://crates.io/strsim/0.7.0 \
crate://crates.io/syn/0.11.11 \
crate://crates.io/syn/0.12.14 \
crate://crates.io/synom/0.11.3 \
crate://crates.io/synstructure/0.6.1 \
crate://crates.io/syntex_errors/0.52.0 \
crate://crates.io/syntex_pos/0.52.0 \
crate://crates.io/syntex_syntax/0.52.0 \
crate://crates.io/tar/0.4.14 \
crate://crates.io/tempdir/0.3.7 \
crate://crates.io/tempfile/3.0.2 \
crate://crates.io/term/0.4.6 \
crate://crates.io/term/0.5.1 \
crate://crates.io/termcolor/0.3.6 \
crate://crates.io/termion/1.5.1 \
crate://crates.io/textwrap/0.9.0 \
crate://crates.io/thread_local/0.3.5 \
crate://crates.io/time/0.1.39 \
crate://crates.io/toml-query/0.6.0 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/toml/0.4.5 \
crate://crates.io/ucd-util/0.1.1 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.5 \
crate://crates.io/unicode-segmentation/1.2.0 \
crate://crates.io/unicode-width/0.1.4 \
crate://crates.io/unicode-xid/0.0.3 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unreachable/1.0.0 \
crate://crates.io/url/1.7.0 \
crate://crates.io/url_serde/0.2.0 \
crate://crates.io/userenv-sys/0.2.0 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/vcpkg/0.2.2 \
crate://crates.io/vec_map/0.8.0 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/2.1.4 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/winapi/0.3.4 \
crate://crates.io/wincolor/0.1.6 \
crate://crates.io/xattr/0.1.11 \
crate://crates.io/xz2/0.1.4 \
crate://crates.io/yaml-rust/0.3.5 \
"

View File

@@ -0,0 +1,8 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
CARGO_FEATURES ?= "panic-unwind backtrace"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"

View File

@@ -0,0 +1,8 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
CARGO_FEATURES ?= "panic-unwind backtrace"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"

View File

@@ -0,0 +1,8 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
CARGO_FEATURES ?= "panic-unwind backtrace"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"

View File

@@ -0,0 +1,8 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
CARGO_FEATURES ?= "panic-unwind backtrace"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"

View File

@@ -0,0 +1,8 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
CARGO_FEATURES ?= "panic-unwind backtrace"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"

View File

@@ -0,0 +1,8 @@
require rust-source-${PV}.inc
require libstd-rs.inc
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
CARGO_FEATURES ?= "panic-unwind backtrace"
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"

View File

@@ -1,6 +1,21 @@
require rust.inc
inherit cross
python do_rust_gen_targets () {
wd = d.getVar('WORKDIR') + '/targets/'
# It is important 'TARGET' is last here so that it overrides our less
# informed choices for BUILD & HOST if TARGET happens to be the same as
# either of them.
for thing in ['BUILD', 'HOST', 'TARGET']:
bb.debug(1, "rust_gen_target for " + thing)
features = ""
cpu = "generic"
if thing is "TARGET":
features = d.getVar('TARGET_LLVM_FEATURES') or ""
cpu = d.getVar('TARGET_LLVM_CPU')
rust_gen_target(d, thing, wd, features, cpu)
}
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS = "1"
@@ -32,6 +47,9 @@ BUILD_POST_LINK_ARGS_append = " -Wl,-rpath=../../lib"
# We need the same thing for the calls to the compiler when building the runtime crap
TARGET_CC_ARCH_append = " --sysroot=${STAGING_DIR_TARGET}"
do_rust_setup_snapshot () {
}
do_configure () {
}

View File

@@ -1,4 +1,3 @@
require rust-cross.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc

View File

@@ -0,0 +1,3 @@
require rust-cross.inc
require rust-source-${PV}.inc

View File

@@ -0,0 +1,3 @@
require rust-cross.inc
require rust-source-${PV}.inc

View File

@@ -0,0 +1,2 @@
require rust-cross.inc
require rust-source-${PV}.inc

View File

@@ -0,0 +1,2 @@
require rust-cross.inc
require rust-source-${PV}.inc

View File

@@ -0,0 +1,2 @@
require rust-cross.inc
require rust-source-${PV}.inc

View File

@@ -0,0 +1,5 @@
LICENSE = "NCSA"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa"
require rust-llvm.inc

View File

@@ -1,21 +1,31 @@
SUMMARY = "LLVM compiler framework (packaged with rust)"
LICENSE = "NCSA"
LICENSE ?= "Apache-2.0-with-LLVM-exception"
S = "${RUSTSRC}/src/llvm"
SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa"
S = "${RUSTSRC}/src/llvm-project/llvm"
inherit cmake pythonnative
LIC_FILES_CHKSUM ?= "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa"
inherit cmake python3native
DEPENDS += "ninja-native rust-llvm-native"
ARM_INSTRUCTION_SET_armv5 = "arm"
ARM_INSTRUCTION_SET_armv4t = "arm"
LLVM_RELEASE = "6.0"
LLVM_DIR = "llvm${LLVM_RELEASE}"
EXTRA_OECMAKE = " \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;PowerPC;Mips' \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ZLIB=OFF \
-DLLVM_ENABLE_LIBXML2=OFF \
-DLLVM_ENABLE_FFI=OFF \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_BUILD_TOOLS=ON \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_BUILD_TESTS=OFF \
@@ -23,44 +33,30 @@ EXTRA_OECMAKE = " \
-DLLVM_TARGET_ARCH=${TARGET_ARCH} \
-DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust \
"
EXTRA_OECMAKE_append_class-target = "\
-DCMAKE_CROSSCOMPILING:BOOL=ON \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \
-DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \
"
# The debug symbols are huge here (>2GB) so suppress them since they
# provide almost no value. If you really need them then override this
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
do_compile_prepend_class-target() {
# Fix paths in llvm-config
sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp
# Fix the hardcoded libdir in llvm-config
sed -i 's:/lib\>:/${baselib}:g' ${S}/tools/llvm-config/llvm-config.cpp
}
do_install_append_class-target() {
# Disable checks on the native tools, since these should came from the native recipe
sed -i -e 's/\(.*APPEND.*_IMPORT_CHECK_FILES_FOR_.*{_IMPORT_PREFIX}\/bin\/.*\)/#\1/' ${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake
}
SYSROOT_PREPROCESS_FUNCS_append_class-target = " llvm_sysroot_preprocess"
SYSROOT_PREPROCESS_FUNCS_append_class-native = " llvm_native_sysroot_preprocess"
llvm_sysroot_preprocess() {
install -d ${SYSROOT_DESTDIR}${bindir}
cp ${B}/NATIVE/bin/llvm-config ${SYSROOT_DESTDIR}/${bindir} || bbfatal "missing llvm-config"
cp ${B}/NATIVE/bin/llvm-tblgen ${SYSROOT_DESTDIR}/${bindir} || bbfatal "missing llvm-tblgen"
}
llvm_native_sysroot_preprocess() {
sysroot_stage_dir ${D}${STAGING_DIR_NATIVE}/usr/libexec ${SYSROOT_DESTDIR}${bindir}
}
PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liblto"
# Add the extra locations to avoid the complaints about unpackaged files
FILES_${PN} += "${libdir}/libLLVM*.so"
FILES_${PN}-dev += "${datadir}/llvm"
FILES_${PN}-bugpointpasses = "${libdir}/BugpointPasses.so"
FILES_${PN}-llvmhello = "${libdir}/LLVMHello.so"
FILES_${PN}-liblto = "${libdir}/libLTO.so"
FILES_${PN}-bugpointpasses = "${libdir}/llvm-rust/lib/BugpointPasses.so"
FILES_${PN}-llvmhello = "${libdir}/llvm-rust/lib/LLVMHello.so"
FILES_${PN}-liblto = "${libdir}/llvm-rust/lib/libLTO.so.*"
FILES_${PN}-staticdev =+ "${libdir}/llvm-rust/*/*.a"
FILES_${PN} += "${libdir}/libLLVM*.so.* ${libdir}/llvm-rust/lib/*.so.* ${libdir}/llvm-rust/bin"
FILES_${PN}-dev += "${datadir}/llvm ${libdir}/llvm-rust/lib/*.so ${libdir}/llvm-rust/include ${libdir}/llvm-rust/share ${libdir}/llvm-rust/lib/cmake"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,32 @@
From 7111770e8290082530d920e120995bf81431b0aa Mon Sep 17 00:00:00 2001
From: Martin Kelly <mkelly@xevo.com>
Date: Fri, 19 May 2017 00:22:57 -0700
Subject: [PATCH 12/18] llvm: allow env override of exe path
When using a native llvm-config from inside a sysroot, we need llvm-config to
return the libraries, include directories, etc. from inside the sysroot rather
than from the native sysroot. Thus provide an env override for calling
llvm-config from a target sysroot.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tools/llvm-config/llvm-config.cpp | 7 +++++++
1 file changed, 7 insertions(+)
--- a/tools/llvm-config/llvm-config.cpp
+++ b/tools/llvm-config/llvm-config.cpp
@@ -226,6 +226,13 @@ Typical components:\n\
/// Compute the path to the main executable.
std::string GetExecutablePath(const char *Argv0) {
+ // Hack for Yocto: we need to override the root path when we are using
+ // llvm-config from within a target sysroot.
+ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH");
+ if (Sysroot != nullptr) {
+ return Sysroot;
+ }
+
// This just needs to be some symbol in the binary; C++ doesn't
// allow taking the address of ::main however.
void *P = (void *)(intptr_t)GetExecutablePath;

View File

@@ -0,0 +1,16 @@
require rust-source-${PV}.inc
require rust-llvm-ncsa.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
do_install_prepend () {
# the install does a sed on this without installing the file
# we don't need it for anything
mkdir -p "${D}/usr/share/llvm/cmake"
touch "${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake"
}
do_install_append () {
# we don't need any of this stuff to build Rust
rm -rf "${D}/usr/lib/cmake"
}

View File

@@ -0,0 +1,16 @@
require rust-source-${PV}.inc
require rust-llvm-ncsa.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
do_install_prepend () {
# the install does a sed on this without installing the file
# we don't need it for anything
mkdir -p "${D}/usr/share/llvm/cmake"
touch "${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake"
}
do_install_append () {
# we don't need any of this stuff to build Rust
rm -rf "${D}/usr/lib/cmake"
}

View File

@@ -0,0 +1,16 @@
require rust-source-${PV}.inc
require rust-llvm-ncsa.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
do_install_prepend () {
# the install does a sed on this without installing the file
# we don't need it for anything
mkdir -p "${D}/usr/share/llvm/cmake"
touch "${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake"
}
do_install_append () {
# we don't need any of this stuff to build Rust
rm -rf "${D}/usr/lib/cmake"
}

View File

@@ -1,7 +1,7 @@
require rust-source-${PV}.inc
require rust-llvm.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
do_install_prepend () {
# the install does a sed on this without installing the file

View File

@@ -0,0 +1,16 @@
require rust-source-${PV}.inc
require rust-llvm.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
do_install_prepend () {
# the install does a sed on this without installing the file
# we don't need it for anything
mkdir -p "${D}/usr/share/llvm/cmake"
touch "${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake"
}
do_install_append () {
# we don't need any of this stuff to build Rust
rm -rf "${D}/usr/lib/cmake"
}

View File

@@ -0,0 +1,16 @@
require rust-source-${PV}.inc
require rust-llvm.inc
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
do_install_prepend () {
# the install does a sed on this without installing the file
# we don't need it for anything
mkdir -p "${D}/usr/share/llvm/cmake"
touch "${D}/usr/share/llvm/cmake/LLVMExports-noconfig.cmake"
}
do_install_append () {
# we don't need any of this stuff to build Rust
rm -rf "${D}/usr/lib/cmake"
}

View File

@@ -1,14 +1,12 @@
# Specifics for Rust 1.26.2
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.25.0"
RS_VERSION = "1.33.0"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
CARGO_VERSION = "0.26.0"
CARGO_VERSION = "0.34.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
SRC_URI += " \
@@ -18,9 +16,9 @@ SRC_URI += " \
"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rustc-snapshot-x86_64.md5sum] = "6e9c8ae2946cf6626ad6511c7a1d6c2a"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "f8f4ae2f4b76416bfa90758267df4280dd078235dfba92dac0431595493443be"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "37e9f9193413caba47134af3306328c5"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "a3258308e3a9fe364d63b5d782efb285ab410bdfc01d168c119122ddbc9a02e2"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "b0de62d86f0ba71078471d09916873c6"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "9ba227f2364f618dc9415dacf3a5dce17458e1cb9f6d4fe860416cb68db894e4"
SRC_URI[rustc-snapshot-x86_64.md5sum] = "c1ec989c1965dce754dda1e54274a68c"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "54a342f718b712d8a17fd7878ebd37d22a82ebc70b59c421168cd4153fd04c2b"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "d573c5bd3a965c973734c1606968a91e"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "661c2ba717ae1502f002b4c6e7aeb8941685c7ea8fe7ac26ed9ede26f615b7af"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "de0e635afa9bf495cefecea476bfce36"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "4795ae5ca3bb8c7c83ca338676bb02b670efa1eb474e346284b629dc872bcce8"

View File

@@ -0,0 +1,24 @@
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.35.0"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
CARGO_VERSION = "0.36.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rustc-snapshot-x86_64.md5sum] = "47ea78f6b3f68e30f24b9c94e465d6bd"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "5d6dc216ba429ddf3a1657e70f3e5e380549b546fe56de897677a11d72aa4e07"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "348ec23ca8e47fc65079bc80e63cca5f"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "ccff05d0e2d88499505b10f8e33e8b1645df057f918edc81f8acb0fcee9f90b2"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "93a375e771f3d9b3a139e612dd4730ee"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "ab5a6ff1947463dbd2477ca5dac2012494dae821112098ae0c54add652adfdc3"

View File

@@ -0,0 +1,24 @@
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.36.0"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
CARGO_VERSION = "0.37.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rustc-snapshot-x86_64.md5sum] = "ec27794c94cc1df1a0a69f7244a09176"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "fff0158da6f5af2a89936dc3e0c361077c06c2983eb310615e02f81ebbde1416"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "b71a6fd6f44527c3bf09584e89ad8958"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "ce8e12684b568a8a4f7d346a743383429849cf3f028f5712ad3d3e31590c8db3"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "8c661276a0da7a1aa48affbe33b347e6"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "d20fa121951339d5492cf8862f8a7af59efc99d18f3c27b95ab6d4658b6a7d67"

View File

@@ -0,0 +1,24 @@
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.38.0"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
CARGO_VERSION = "0.39.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rustc-snapshot-x86_64.md5sum] = "53278262a3996982cd68730db7cb1efd"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "0fedde3406cf3367ceb00f493698e6bfc3264bd7f7253c85de7a042b45f873fa"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "0d32b76359613f73671acd13ea57b7ea"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "51b334337804baeff7524e5496d396f254894d7529860d236975e9ed8fcca371"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "7274cfe12905fe8ea6edbe131d3f6637"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "80bcb1368ce98d13cb371df89cbbed9007fb98843f34d07f2abd2c03b8f2747a"

View File

@@ -0,0 +1,24 @@
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.39.0"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
CARGO_VERSION = "0.40.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rustc-snapshot-x86_64.md5sum] = "aa10585498675e44be219d3644c15853"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "5b2a435a4c034615d70cfc383abe9924cbd1ffd4669caa55ce6539f22ed979ed"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "d8b8e6f1a5a255d22b9f86c97a65049f"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "b629952ec9e3e750137d7b8a922de145c97c1dc372dd616e86e4e501da13910b"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "a51643b8980bcaefa9043715a8e9a2ba"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "7b9ba52c252964724f49aab49e42bec62fca929297ef058412c7e727b0794620"

View File

@@ -0,0 +1,24 @@
## This is information on the rust-snapshot (binary) used to build our current release.
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.40.0"
RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
CARGO_VERSION = "0.41.0"
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rustc-snapshot-x86_64.md5sum] = "5c62bca8ce4beb9b15e42fb8b9690935"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "b1c00618b7a98156e88b14682508a503284f85748eab23de749a20dcc8847111"
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "2f926b4eda6449079665045becff623d"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "5a0b14a51f51b0194f70a2023749d9cb49c3b2e11f0d4c8232960b91fad336ac"
SRC_URI[cargo-snapshot-x86_64.md5sum] = "8ea9f8b849d44abf2abf9180f90cc4b6"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "9b6ae643fa240c5ecbc1dc390f4020b6a683f25bac6f7437ebd4b9d32a8d0b6c"

View File

@@ -1,18 +0,0 @@
# Specifics for Rust 1.26.2
SRC_URI += " \
https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \
"
SRC_URI[md5sum] = "581bc81b4695cff0d9b7c57a144d01cc"
SRC_URI[sha256sum] = "fb9ecf304488c9b56600ab20cfd1937482057f7e5db7899fddb86e0774548700"
SRC_URI[rust.md5sum] = "581bc81b4695cff0d9b7c57a144d01cc"
SRC_URI[rust.sha256sum] = "fb9ecf304488c9b56600ab20cfd1937482057f7e5db7899fddb86e0774548700"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=99c369ad81a36cd5b27f6c6968d01055"

View File

@@ -0,0 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust"
SRC_URI[rust.md5sum] = "7c85e6a60dda740295f7e004a1fb15e1"
SRC_URI[rust.sha256sum] = "c69a4a85a1c464368597df8878cb9e1121aae93e215616d45ad7d23af3052f56"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"

View File

@@ -0,0 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
SRC_URI[rust.md5sum] = "78ffc0b029aaed216b45c3fe24747d46"
SRC_URI[rust.sha256sum] = "f51645b9f787af4a5d94db17f6af39db0c55980ed24fe366cad55b57900f8f2d"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"

View File

@@ -0,0 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
SRC_URI[rust.md5sum] = "ee6300b1d7e5767115492915c4c0d8ef"
SRC_URI[rust.sha256sum] = "10abffac50a729cf74cef6dd03193a2f4647541bd19ee9281be9e5b12ca8cdfd"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"

View File

@@ -0,0 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
SRC_URI[rust.md5sum] = "ee76b165cd95ef420765bfb568adb450"
SRC_URI[rust.sha256sum] = "4b0dbb356070687a606034f71dc032b783bbf8b5d3f9fff39f2c1fbc4f171c29"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"

View File

@@ -0,0 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
SRC_URI[rust.md5sum] = "1725f67a1d92ab843a71fbbefef06db9"
SRC_URI[rust.sha256sum] = "6e2aa3a91697f4b225c6b394cbae6b97666f061dba491f666a5281698fe2aace"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"

View File

@@ -0,0 +1,11 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
SRC_URI[rust.md5sum] = "e8c9d1d39ceb0dd43ee0100d0f019da4"
SRC_URI[rust.sha256sum] = "38d6742e5c4c98a835de5d6e12a209e442fb3078a03b2c01bab6ea7afb25be6f"
# later versions of rust change the directory that they unextract to
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
# set this as our default
S = "${RUSTSRC}"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"

View File

@@ -6,13 +6,21 @@ LICENSE = "MIT | Apache-2.0"
inherit rust
inherit cargo_common
DEPENDS += "file-native python-native"
DEPENDS += "file-native python3-native"
DEPENDS_append_class-native = " rust-llvm-native"
# We generate local targets, and need to be able to locate them
export RUST_TARGET_PATH="${WORKDIR}/targets/"
export FORCE_CRATE_HASH="${BB_TASKHASH}"
export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
# We don't want to use bitbakes vendoring because the rust sources do their
# own vendoring.
CARGO_DISABLE_BITBAKE_VENDORING = "1"
# We can't use RUST_BUILD_SYS here because that may be "musl" if
# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
@@ -39,6 +47,9 @@ def llvm_features_from_tune(d):
return []
feat = frozenset(feat.split())
mach_overrides = d.getVar('MACHINEOVERRIDES')
mach_overrides = frozenset(mach_overrides.split(':'))
if 'vfpv4' in feat:
f.append("+vfp4")
if 'vfpv3' in feat:
@@ -62,18 +73,19 @@ def llvm_features_from_tune(d):
f.append("+mips32r2")
v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
if not feat.isdisjoint(v7):
if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
f.append("+v7")
if 'armv6' in feat:
if ('armv6' in mach_overrides) or ('armv6' in feat):
f.append("+v6")
if 'dsp' in feat:
f.append("+dsp")
if d.getVar('ARM_THUMB_OPT') is "thumb":
if not feat.isdisjoint(v7):
f.append("+thumb2")
f.append("+thumb-mode")
if 'thumb' in feat:
if d.getVar('ARM_THUMB_OPT') is "thumb":
if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
f.append("+thumb2")
f.append("+thumb-mode")
if 'cortexa5' in feat:
f.append("+a5")
@@ -190,6 +202,46 @@ TARGET_POINTER_WIDTH[mipsel] = "32"
TARGET_C_INT_WIDTH[mipsel] = "32"
MAX_ATOMIC_WIDTH[mipsel] = "32"
## mips64-unknown-linux-{gnu, musl}
DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
TARGET_ENDIAN[mips64] = "big"
TARGET_POINTER_WIDTH[mips64] = "64"
TARGET_C_INT_WIDTH[mips64] = "64"
MAX_ATOMIC_WIDTH[mips64] = "64"
## mips64el-unknown-linux-{gnu, musl}
DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
TARGET_ENDIAN[mips64el] = "little"
TARGET_POINTER_WIDTH[mips64el] = "64"
TARGET_C_INT_WIDTH[mips64el] = "64"
MAX_ATOMIC_WIDTH[mips64el] = "64"
## powerpc-unknown-linux-{gnu, musl}
DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
TARGET_ENDIAN[powerpc] = "big"
TARGET_POINTER_WIDTH[powerpc] = "32"
TARGET_C_INT_WIDTH[powerpc] = "32"
MAX_ATOMIC_WIDTH[powerpc] = "32"
## riscv32-unknown-linux-{gnu, musl}
DATA_LAYOUT[riscv32] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
TARGET_ENDIAN[riscv32] = "little"
TARGET_POINTER_WIDTH[riscv32] = "32"
TARGET_C_INT_WIDTH[riscv32] = "32"
MAX_ATOMIC_WIDTH[riscv32] = "32"
## riscv64-unknown-linux-{gnu, musl}
DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
TARGET_ENDIAN[riscv64] = "little"
TARGET_POINTER_WIDTH[riscv64] = "64"
TARGET_C_INT_WIDTH[riscv64] = "64"
MAX_ATOMIC_WIDTH[riscv64] = "64"
def arch_for(d, thing):
return d.getVar('{}_ARCH'.format(thing))
@@ -206,6 +258,8 @@ def arch_to_rust_target_arch(arch):
return "x86"
elif arch == "mipsel":
return "mips"
elif arch == "mip64sel":
return "mips64"
else:
return arch
@@ -220,6 +274,9 @@ def llvm_cpu(d):
trans['x86-64'] = "x86-64"
trans['i686'] = "i686"
trans['i586'] = "i586"
trans['powerpc'] = "powerpc"
trans['mips64'] = "mips64"
trans['mips64el'] = "mips64"
if target in ["mips", "mipsel"]:
feat = frozenset(d.getVar('TUNE_FEATURES').split())
@@ -242,18 +299,13 @@ TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
# (original) target.
TARGET_LLVM_FEATURES_class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
def rust_gen_target(d, thing, wd):
def rust_gen_target(d, thing, wd, features, cpu):
import json
from distutils.version import LooseVersion
arch = arch_for(d, thing)
sys = sys_for(d, thing)
prefix = prefix_for(d, thing)
features = ""
cpu = "generic"
if thing is "TARGET":
features = d.getVar('TARGET_LLVM_FEATURES') or ""
cpu = d.getVar('TARGET_LLVM_CPU')
features = features or d.getVarFlag('FEATURES', arch) or ""
features = features.strip()
@@ -298,20 +350,14 @@ def rust_gen_target(d, thing, wd):
with open(wd + sys + '.json', 'w') as f:
json.dump(tspec, f, indent=4)
python do_rust_gen_targets () {
wd = d.getVar('WORKDIR') + '/targets/'
# It is important 'TARGET' is last here so that it overrides our less
# informed choices for BUILD & HOST if TARGET happens to be the same as
# either of them.
for thing in ['BUILD', 'HOST', 'TARGET']:
bb.debug(1, "rust_gen_target for " + thing)
rust_gen_target(d, thing, wd)
rust_gen_target(d, 'BUILD', wd, "", "generic")
}
addtask rust_gen_targets after do_patch before do_compile
do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
do_rust_setup_snapshot () {
for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
"${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
@@ -328,6 +374,7 @@ do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
python do_configure() {
import json
from distutils.version import LooseVersion
try:
import configparser
except ImportError:
@@ -345,20 +392,29 @@ python do_configure() {
target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
config.add_section(target_section)
llvm_config = d.expand("${STAGING_DIR_NATIVE}${libdir_native}/llvm-rust/bin/llvm-config")
llvm_config = d.expand("${YOCTO_ALTERNATE_EXE_PATH}")
config.set(target_section, "llvm-config", e(llvm_config))
config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
# If we don't do this rust-native will compile it's own llvm for BUILD.
# [target.${BUILD_ARCH}-unknown-linux-gnu]
target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
config.add_section(target_section)
config.set(target_section, "llvm-config", e(llvm_config))
config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
# [rust]
config.add_section("rust")
config.set("rust", "rpath", e(True))
config.set("rust", "channel", e("stable"))
# Don't use jemalloc as it doesn't work for many targets.
# https://github.com/rust-lang/rust/pull/37392
config.set("rust", "use-jemalloc", e(False))
if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
config.set("rust", "use-jemalloc", e(False))
# Whether or not to optimize the compiler and standard library
config.set("rust", "optimize", e(True))
@@ -374,13 +430,17 @@ python do_configure() {
cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
config.set("build", "cargo", e(cargo))
config.set("build", "vendor", e(True))
targets = [d.getVar("TARGET_SYS", True)]
config.set("build", "target", e(targets))
hosts = [d.getVar("HOST_SYS", True)]
config.set("build", "host", e(targets))
config.set("build", "build", e(d.getVar("BUILD_SYS", True)))
# We can't use BUILD_SYS since that is something the rust snapshot knows
# nothing about when trying to build some stage0 tools (like fabricate)
config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
with open("config.toml", "w") as f:
config.write(f)
@@ -403,25 +463,22 @@ rust_runx () {
oe_cargo_fix_env
python src/bootstrap/bootstrap.py "$@" --verbose
python3 src/bootstrap/bootstrap.py "$@" --verbose
}
do_compile () {
rust_runx build
rust_runx dist
}
rust_do_install () {
# Only install compiler generated for the HOST_SYS. There will be
# one for SNAPSHOT_BUILD_SYS as well.
local installer=build/tmp/dist/rustc-${PV}-${HOST_SYS}/install.sh
${installer} --destdir="${D}" --prefix="${prefix}" --disable-ldconfig
rust_do_dist_install () {
rust_runx dist
for installer in "build/tmp/dist/rustc"*"/install.sh"; do
"${installer}" --destdir="${D}" --prefix="${prefix}" --disable-ldconfig
done
for installer in "build/tmp/dist/rust-std"*"/install.sh"; do
"${installer}" --destdir="${D}" --prefix="${prefix}" --disable-ldconfig
done
installer=build/tmp/dist/rust-std-${PV}-${HOST_SYS}/install.sh
${installer} --destdir="${D}" --prefix="${prefix}" --disable-ldconfig
# Install our custom target.json files
local td="${D}${libdir}/rustlib/"
@@ -439,6 +496,6 @@ rust_do_dist_install () {
do_install () {
rust_do_dist_install
rust_do_install
}
# ex: sts=4 et sw=4 ts=8

View File

@@ -1,215 +0,0 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
# These are extracted from rustc/src/bootstrap/Cargo.toml via cargo-bitbake
SRC_URI += " \
crate://crates.io/aho-corasick/0.6.4 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/ar/0.3.1 \
crate://crates.io/arrayvec/0.4.7 \
crate://crates.io/atty/0.2.8 \
crate://crates.io/backtrace-sys/0.1.16 \
crate://crates.io/backtrace/0.3.5 \
crate://crates.io/bitflags/0.7.0 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bitflags/1.0.1 \
crate://crates.io/bufstream/0.1.3 \
crate://crates.io/byteorder/1.2.1 \
crate://crates.io/cargo_metadata/0.2.3 \
crate://crates.io/cargo_metadata/0.5.3 \
crate://crates.io/cc/1.0.9 \
crate://crates.io/cfg-if/0.1.2 \
crate://crates.io/chrono/0.4.0 \
crate://crates.io/clap/2.31.2 \
crate://crates.io/cmake/0.1.29 \
crate://crates.io/commoncrypto-sys/0.2.0 \
crate://crates.io/commoncrypto/0.2.0 \
crate://crates.io/compiletest_rs/0.3.8 \
crate://crates.io/core-foundation-sys/0.5.1 \
crate://crates.io/core-foundation/0.5.1 \
crate://crates.io/crossbeam-deque/0.2.0 \
crate://crates.io/crossbeam-epoch/0.3.0 \
crate://crates.io/crossbeam-utils/0.2.2 \
crate://crates.io/crossbeam/0.3.2 \
crate://crates.io/crypto-hash/0.3.1 \
crate://crates.io/curl-sys/0.4.1 \
crate://crates.io/curl/0.4.11 \
crate://crates.io/derive-new/0.5.1 \
crate://crates.io/diff/0.1.11 \
crate://crates.io/dtoa/0.4.2 \
crate://crates.io/either/1.4.0 \
crate://crates.io/ena/0.9.2 \
crate://crates.io/endian-type/0.1.2 \
crate://crates.io/enum_primitive/0.1.1 \
crate://crates.io/env_logger/0.5.6 \
crate://crates.io/error-chain/0.11.0 \
crate://crates.io/failure/0.1.1 \
crate://crates.io/failure_derive/0.1.1 \
crate://crates.io/filetime/0.1.15 \
crate://crates.io/flate2/1.0.1 \
crate://crates.io/fnv/1.0.6 \
crate://crates.io/foreign-types-shared/0.1.1 \
crate://crates.io/foreign-types/0.3.2 \
crate://crates.io/fs2/0.4.3 \
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
crate://crates.io/fuchsia-zircon/0.3.3 \
crate://crates.io/futures/0.1.17 \
crate://crates.io/getopts/0.2.15 \
crate://crates.io/git2-curl/0.8.1 \
crate://crates.io/git2/0.7.1 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/globset/0.3.0 \
crate://crates.io/handlebars/0.29.1 \
crate://crates.io/hex/0.3.1 \
crate://crates.io/home/0.3.2 \
crate://crates.io/humantime/1.1.1 \
crate://crates.io/idna/0.1.4 \
crate://crates.io/if_chain/0.1.2 \
crate://crates.io/ignore/0.4.1 \
crate://crates.io/is-match/0.1.0 \
crate://crates.io/itertools/0.7.6 \
crate://crates.io/itoa/0.4.1 \
crate://crates.io/jobserver/0.1.11 \
crate://crates.io/json/0.11.12 \
crate://crates.io/jsonrpc-core/8.0.1 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/languageserver-types/0.35.0 \
crate://crates.io/lazy_static/0.2.11 \
crate://crates.io/lazy_static/1.0.0 \
crate://crates.io/lazycell/0.6.0 \
crate://crates.io/libc/0.2.40 \
crate://crates.io/libgit2-sys/0.7.1 \
crate://crates.io/libssh2-sys/0.2.6 \
crate://crates.io/libz-sys/1.0.18 \
crate://crates.io/log/0.3.9 \
crate://crates.io/log/0.4.1 \
crate://crates.io/log_settings/0.1.1 \
crate://crates.io/lzma-sys/0.1.9 \
crate://crates.io/matches/0.1.6 \
crate://crates.io/mdbook/0.1.2 \
crate://crates.io/memchr/2.0.1 \
crate://crates.io/memoffset/0.2.1 \
crate://crates.io/miniz-sys/0.1.10 \
crate://crates.io/miow/0.3.1 \
crate://crates.io/nibble_vec/0.0.3 \
crate://crates.io/nodrop/0.1.12 \
crate://crates.io/num-integer/0.1.36 \
crate://crates.io/num-iter/0.1.35 \
crate://crates.io/num-traits/0.1.43 \
crate://crates.io/num-traits/0.2.2 \
crate://crates.io/num/0.1.42 \
crate://crates.io/num_cpus/1.8.0 \
crate://crates.io/open/1.2.1 \
crate://crates.io/openssl-probe/0.1.2 \
crate://crates.io/openssl-sys/0.9.27 \
crate://crates.io/openssl/0.10.5 \
crate://crates.io/owning_ref/0.3.3 \
crate://crates.io/parking_lot/0.5.3 \
crate://crates.io/parking_lot_core/0.2.13 \
crate://crates.io/percent-encoding/1.0.1 \
crate://crates.io/pest/0.3.3 \
crate://crates.io/pkg-config/0.3.9 \
crate://crates.io/proc-macro2/0.2.3 \
crate://crates.io/pulldown-cmark/0.1.2 \
crate://crates.io/quick-error/1.2.1 \
crate://crates.io/quine-mc_cluskey/0.2.4 \
crate://crates.io/quote/0.3.15 \
crate://crates.io/quote/0.4.2 \
crate://crates.io/racer/2.0.13 \
crate://crates.io/radix_trie/0.1.2 \
crate://crates.io/rand/0.4.2 \
crate://crates.io/rayon-core/1.4.0 \
crate://crates.io/rayon/1.0.0 \
crate://crates.io/redox_syscall/0.1.37 \
crate://crates.io/redox_termios/0.1.1 \
crate://crates.io/regex-syntax/0.5.3 \
crate://crates.io/regex/0.2.10 \
crate://crates.io/remove_dir_all/0.5.0 \
crate://crates.io/rls-analysis/0.11.3 \
crate://crates.io/rls-blacklist/0.1.0 \
crate://crates.io/rls-data/0.15.0 \
crate://crates.io/rls-rustc/0.2.2 \
crate://crates.io/rls-span/0.4.0 \
crate://crates.io/rls-vfs/0.4.5 \
crate://crates.io/rustc-ap-rustc_cratesio_shim/94.0.0 \
crate://crates.io/rustc-ap-rustc_data_structures/94.0.0 \
crate://crates.io/rustc-ap-rustc_errors/94.0.0 \
crate://crates.io/rustc-ap-serialize/94.0.0 \
crate://crates.io/rustc-ap-syntax/94.0.0 \
crate://crates.io/rustc-ap-syntax_pos/94.0.0 \
crate://crates.io/rustc-demangle/0.1.7 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/same-file/1.0.2 \
crate://crates.io/schannel/0.1.11 \
crate://crates.io/scoped-tls/0.1.1 \
crate://crates.io/scopeguard/0.3.3 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.9.0 \
crate://crates.io/serde/1.0.35 \
crate://crates.io/serde_derive/1.0.35 \
crate://crates.io/serde_derive_internals/0.22.1 \
crate://crates.io/serde_ignored/0.0.4 \
crate://crates.io/serde_json/1.0.13 \
crate://crates.io/shell-escape/0.1.3 \
crate://crates.io/shlex/0.1.1 \
crate://crates.io/smallvec/0.6.0 \
crate://crates.io/socket2/0.3.4 \
crate://crates.io/stable_deref_trait/1.0.0 \
crate://crates.io/strsim/0.7.0 \
crate://crates.io/syn/0.11.11 \
crate://crates.io/syn/0.12.14 \
crate://crates.io/synom/0.11.3 \
crate://crates.io/synstructure/0.6.1 \
crate://crates.io/syntex_errors/0.52.0 \
crate://crates.io/syntex_pos/0.52.0 \
crate://crates.io/syntex_syntax/0.52.0 \
crate://crates.io/tar/0.4.14 \
crate://crates.io/tempdir/0.3.7 \
crate://crates.io/tempfile/3.0.2 \
crate://crates.io/term/0.4.6 \
crate://crates.io/term/0.5.1 \
crate://crates.io/termcolor/0.3.6 \
crate://crates.io/termion/1.5.1 \
crate://crates.io/textwrap/0.9.0 \
crate://crates.io/thread_local/0.3.5 \
crate://crates.io/time/0.1.39 \
crate://crates.io/toml-query/0.6.0 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/toml/0.4.5 \
crate://crates.io/ucd-util/0.1.1 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.5 \
crate://crates.io/unicode-segmentation/1.2.0 \
crate://crates.io/unicode-width/0.1.4 \
crate://crates.io/unicode-xid/0.0.3 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unreachable/1.0.0 \
crate://crates.io/url/1.7.0 \
crate://crates.io/url_serde/0.2.0 \
crate://crates.io/userenv-sys/0.2.0 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/vcpkg/0.2.2 \
crate://crates.io/vec_map/0.8.0 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/2.1.4 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/winapi/0.3.4 \
crate://crates.io/wincolor/0.1.6 \
crate://crates.io/xattr/0.1.11 \
crate://crates.io/xz2/0.1.4 \
crate://crates.io/yaml-rust/0.3.5 \
"
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,12 @@
require rust.inc
require rust-source-${PV}.inc
require rust-snapshot-${PV}.inc
DEPENDS += "rust-llvm (=${PV})"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
# We don't need to depend on gcc-native because yocto assumes it exists
PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
BBCLASSEXTEND = "native"

View File

@@ -1,67 +0,0 @@
# Auto-Generated by cargo-bitbake 0.3.6
#
inherit cargo
# If this is git based prefer versioned ones if they exist
# DEFAULT_PREFERENCE = "-1"
# how to get rustfmt could be as easy as but default to a git checkout:
# SRC_URI += "crate://crates.io/rustfmt/0.8.0"
SRC_URI += "git://github.com/rust-lang-nursery/rustfmt.git;protocol=https;branch=syntex"
SRCREV = "4ed5a3bac71ed104e27797ee63729b0333e39d39"
S = "${WORKDIR}/git"
CARGO_SRC_DIR=""
# please note if you have entries that do not begin with crate://
# you must change them to how that package can be fetched
SRC_URI += " \
crate://crates.io/aho-corasick/0.6.2 \
crate://crates.io/bitflags/0.8.0 \
crate://crates.io/diff/0.1.10 \
crate://crates.io/either/1.0.3 \
crate://crates.io/env_logger/0.4.1 \
crate://crates.io/getopts/0.2.14 \
crate://crates.io/itertools/0.5.9 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/libc/0.2.21 \
crate://crates.io/log/0.3.6 \
crate://crates.io/memchr/1.0.1 \
crate://crates.io/multimap/0.3.0 \
crate://crates.io/regex-syntax/0.4.0 \
crate://crates.io/regex/0.2.1 \
crate://crates.io/rustc-serialize/0.3.22 \
crate://crates.io/same-file/0.1.3 \
crate://crates.io/strings/0.0.1 \
crate://crates.io/syntex_errors/0.58.1 \
crate://crates.io/syntex_pos/0.58.1 \
crate://crates.io/syntex_syntax/0.58.1 \
crate://crates.io/term/0.4.5 \
crate://crates.io/thread-id/3.0.0 \
crate://crates.io/thread_local/0.3.3 \
crate://crates.io/toml/0.2.1 \
crate://crates.io/unicode-segmentation/1.1.0 \
crate://crates.io/unicode-xid/0.0.4 \
crate://crates.io/unreachable/0.1.1 \
crate://crates.io/utf8-ranges/1.0.0 \
crate://crates.io/void/1.0.2 \
crate://crates.io/walkdir/1.0.7 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi/0.2.8 \
"
LIC_FILES_CHKSUM=" \
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
"
SUMMARY = "Tool to find and fix Rust formatting issues"
HOMEPAGE = "https://github.com/rust-lang-nursery/rustfmt"
LICENSE = "Apache-2.0 | MIT"
# includes this file if it exists but does not fail
# this is useful for anything you may want to override from
# what cargo-bitbake generates.
include rustfmt.inc

View File

@@ -0,0 +1,171 @@
# Auto-Generated by cargo-bitbake 0.3.13
#
inherit cargo
# If this is git based prefer versioned ones if they exist
# DEFAULT_PREFERENCE = "-1"
# how to get rustfmt-nightly could be as easy as but default to a git checkout:
# SRC_URI += "crate://crates.io/rustfmt-nightly/1.4.2"
SRC_URI += "git://github.com/rust-lang/rustfmt/;protocol=https;nobranch=1"
SRCREV = "aeb3496f31a0dfa90fc511520d2023634e885260"
S = "${WORKDIR}/git"
CARGO_SRC_DIR = ""
# please note if you have entries that do not begin with crate://
# you must change them to how that package can be fetched
SRC_URI += " \
crate://crates.io/aho-corasick/0.7.4 \
crate://crates.io/annotate-snippets/0.6.1 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/argon2rs/0.2.5 \
crate://crates.io/arrayvec/0.4.11 \
crate://crates.io/atty/0.2.13 \
crate://crates.io/autocfg/0.1.5 \
crate://crates.io/backtrace-sys/0.1.31 \
crate://crates.io/backtrace/0.3.33 \
crate://crates.io/bitflags/1.1.0 \
crate://crates.io/blake2-rfc/0.2.18 \
crate://crates.io/bstr/0.2.6 \
crate://crates.io/bytecount/0.5.1 \
crate://crates.io/byteorder/1.3.2 \
crate://crates.io/c2-chacha/0.2.2 \
crate://crates.io/cargo_metadata/0.8.1 \
crate://crates.io/cc/1.0.38 \
crate://crates.io/cfg-if/0.1.9 \
crate://crates.io/clap/2.33.0 \
crate://crates.io/cloudabi/0.0.3 \
crate://crates.io/constant_time_eq/0.1.3 \
crate://crates.io/crossbeam-channel/0.3.9 \
crate://crates.io/crossbeam-deque/0.2.0 \
crate://crates.io/crossbeam-epoch/0.3.1 \
crate://crates.io/crossbeam-utils/0.2.2 \
crate://crates.io/crossbeam-utils/0.6.6 \
crate://crates.io/derive-new/0.5.7 \
crate://crates.io/diff/0.1.11 \
crate://crates.io/dirs-sys/0.3.3 \
crate://crates.io/dirs/2.0.1 \
crate://crates.io/either/1.5.2 \
crate://crates.io/ena/0.13.0 \
crate://crates.io/env_logger/0.6.2 \
crate://crates.io/failure/0.1.5 \
crate://crates.io/failure_derive/0.1.5 \
crate://crates.io/fnv/1.0.6 \
crate://crates.io/fuchsia-cprng/0.1.1 \
crate://crates.io/getopts/0.2.19 \
crate://crates.io/getrandom/0.1.6 \
crate://crates.io/globset/0.4.4 \
crate://crates.io/heck/0.3.1 \
crate://crates.io/humantime/1.2.0 \
crate://crates.io/ignore/0.4.8 \
crate://crates.io/indexmap/1.0.2 \
crate://crates.io/itertools/0.8.0 \
crate://crates.io/itoa/0.4.4 \
crate://crates.io/jobserver/0.1.16 \
crate://crates.io/lazy_static/1.3.0 \
crate://crates.io/libc/0.2.60 \
crate://crates.io/lock_api/0.1.5 \
crate://crates.io/log/0.4.7 \
crate://crates.io/memchr/2.2.1 \
crate://crates.io/memoffset/0.2.1 \
crate://crates.io/nodrop/0.1.13 \
crate://crates.io/num_cpus/1.10.1 \
crate://crates.io/owning_ref/0.4.0 \
crate://crates.io/packed_simd/0.3.3 \
crate://crates.io/parking_lot/0.7.1 \
crate://crates.io/parking_lot_core/0.4.0 \
crate://crates.io/ppv-lite86/0.2.5 \
crate://crates.io/proc-macro2/0.4.30 \
crate://crates.io/quick-error/1.2.2 \
crate://crates.io/quote/0.6.13 \
crate://crates.io/rand/0.6.5 \
crate://crates.io/rand/0.7.0 \
crate://crates.io/rand_chacha/0.1.1 \
crate://crates.io/rand_chacha/0.2.1 \
crate://crates.io/rand_core/0.3.1 \
crate://crates.io/rand_core/0.4.0 \
crate://crates.io/rand_core/0.5.0 \
crate://crates.io/rand_hc/0.1.0 \
crate://crates.io/rand_hc/0.2.0 \
crate://crates.io/rand_isaac/0.1.1 \
crate://crates.io/rand_jitter/0.1.4 \
crate://crates.io/rand_os/0.1.3 \
crate://crates.io/rand_pcg/0.1.2 \
crate://crates.io/rand_xorshift/0.1.1 \
crate://crates.io/rdrand/0.4.0 \
crate://crates.io/redox_syscall/0.1.56 \
crate://crates.io/redox_users/0.3.0 \
crate://crates.io/regex-syntax/0.6.10 \
crate://crates.io/regex/1.2.0 \
crate://crates.io/rustc-ap-arena/542.0.0 \
crate://crates.io/rustc-ap-graphviz/542.0.0 \
crate://crates.io/rustc-ap-rustc_data_structures/542.0.0 \
crate://crates.io/rustc-ap-rustc_errors/542.0.0 \
crate://crates.io/rustc-ap-rustc_lexer/542.0.0 \
crate://crates.io/rustc-ap-rustc_macros/542.0.0 \
crate://crates.io/rustc-ap-rustc_target/542.0.0 \
crate://crates.io/rustc-ap-serialize/542.0.0 \
crate://crates.io/rustc-ap-syntax/542.0.0 \
crate://crates.io/rustc-ap-syntax_pos/542.0.0 \
crate://crates.io/rustc-demangle/0.1.15 \
crate://crates.io/rustc-hash/1.0.1 \
crate://crates.io/rustc-rayon-core/0.2.0 \
crate://crates.io/rustc-rayon/0.2.0 \
crate://crates.io/rustc-workspace-hack/1.0.0 \
crate://crates.io/rustc_version/0.2.3 \
crate://crates.io/ryu/1.0.0 \
crate://crates.io/same-file/1.0.5 \
crate://crates.io/scoped-tls/1.0.0 \
crate://crates.io/scoped_threadpool/0.1.9 \
crate://crates.io/scopeguard/0.3.3 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.9.0 \
crate://crates.io/serde/1.0.97 \
crate://crates.io/serde_derive/1.0.97 \
crate://crates.io/serde_json/1.0.40 \
crate://crates.io/smallvec/0.6.10 \
crate://crates.io/spin/0.5.0 \
crate://crates.io/stable_deref_trait/1.1.1 \
crate://crates.io/strsim/0.8.0 \
crate://crates.io/structopt-derive/0.2.18 \
crate://crates.io/structopt/0.2.18 \
crate://crates.io/syn/0.15.42 \
crate://crates.io/synstructure/0.10.2 \
crate://crates.io/term/0.6.0 \
crate://crates.io/termcolor/1.0.5 \
crate://crates.io/textwrap/0.11.0 \
crate://crates.io/thread_local/0.3.6 \
crate://crates.io/toml/0.5.1 \
crate://crates.io/ucd-util/0.1.5 \
crate://crates.io/unicode-segmentation/1.3.0 \
crate://crates.io/unicode-width/0.1.5 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unicode_categories/0.1.1 \
crate://crates.io/utf8-ranges/1.0.3 \
crate://crates.io/vec_map/0.8.1 \
crate://crates.io/walkdir/2.2.9 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-util/0.1.2 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.3.7 \
crate://crates.io/wincolor/1.0.1 \
"
# FIXME: update generateme with the real MD5 of the license file
LIC_FILES_CHKSUM = " \
file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
"
SUMMARY = "Tool to find and fix Rust formatting issues"
HOMEPAGE = "https://github.com/rust-lang/rustfmt"
LICENSE = "Apache-2.0 | MIT"
# includes this file if it exists but does not fail
# this is useful for anything you may want to override from
# what cargo-bitbake generates.
include rustfmt-nightly-${PV}.inc
include rustfmt-nightly.inc