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.
This commit is contained in:
@@ -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 [ -z "${EXTERNALSRC}" ]; then
|
||||
if [ -z "${EXTERNALSRC}" ] && [ ${CARGO_DISABLE_BITBAKE_VENDORING} = "0" ]; then
|
||||
cat <<- EOF >> ${CARGO_HOME}/config
|
||||
[source.crates-io]
|
||||
replace-with = "bitbake"
|
||||
|
||||
@@ -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_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 \
|
||||
"
|
||||
8
recipes-devtools/rust/libstd-rs_1.31.1.bb
Normal file
8
recipes-devtools/rust/libstd-rs_1.31.1.bb
Normal file
@@ -0,0 +1,8 @@
|
||||
require rust-source-${PV}.inc
|
||||
require libstd-rs.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=66ddc8ecd998476b7cd5732e8c3a6c1d"
|
||||
|
||||
CARGO_FEATURES ?= "panic-unwind"
|
||||
|
||||
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/src/vendor"
|
||||
@@ -32,6 +32,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 () {
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
require rust-cross.inc
|
||||
require rust-source-${PV}.inc
|
||||
require rust-snapshot-${PV}.inc
|
||||
|
||||
@@ -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=c520ed40e11887bb1d24d86f7f5b1f05"
|
||||
|
||||
do_install_prepend () {
|
||||
# the install does a sed on this without installing the file
|
||||
@@ -1,14 +1,14 @@
|
||||
# Specifics for Rust 1.26.2
|
||||
# Specifics for Rust 1.31.1
|
||||
|
||||
## 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.30.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.31.0"
|
||||
CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
|
||||
|
||||
SRC_URI += " \
|
||||
@@ -18,9 +18,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] = "262fe55e3261ecf601d3a434afdc6832"
|
||||
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "cc45058e9963d33ca28220e752d9e360b7e05f17e34284f5f8197738c3a88444"
|
||||
SRC_URI[rust-std-snapshot-x86_64.md5sum] = "0e8831c2b916b2391734a3f46dd586b0"
|
||||
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "8514eedc0ed99ab75c61be3137c3e57c4115063ddc07aec842f687ebfc7ceda3"
|
||||
SRC_URI[cargo-snapshot-x86_64.md5sum] = "bad665c07e73a3f3cfa7ec3b209737fc"
|
||||
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "bfbabba9a2c1717fe1ce68469ce2de7b4b94e44e6a165d50b77de7bf7515bdb6"
|
||||
@@ -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"
|
||||
15
recipes-devtools/rust/rust-source-1.31.1.inc
Normal file
15
recipes-devtools/rust/rust-source-1.31.1.inc
Normal file
@@ -0,0 +1,15 @@
|
||||
# Specifics for Rust 1.31.1
|
||||
|
||||
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust"
|
||||
|
||||
SRC_URI[md5sum] = "f6ef68a5cf5c420943228750e33b691a"
|
||||
SRC_URI[sha256sum] = "91d2fc22f08d986adab7a54eb3a6a9b99e490f677d2d092e5b9e4e069c23686a"
|
||||
SRC_URI[rust.md5sum] = "f6ef68a5cf5c420943228750e33b691a"
|
||||
SRC_URI[rust.sha256sum] = "91d2fc22f08d986adab7a54eb3a6a9b99e490f677d2d092e5b9e4e069c23686a"
|
||||
|
||||
# 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=66ddc8ecd998476b7cd5732e8c3a6c1d"
|
||||
@@ -17,6 +17,10 @@ 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"
|
||||
@@ -392,6 +396,16 @@ python do_configure() {
|
||||
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))
|
||||
@@ -415,13 +429,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)
|
||||
@@ -447,22 +465,19 @@ rust_runx () {
|
||||
python 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/"
|
||||
@@ -480,6 +495,6 @@ rust_do_dist_install () {
|
||||
|
||||
|
||||
do_install () {
|
||||
rust_do_dist_install
|
||||
rust_do_install
|
||||
}
|
||||
# ex: sts=4 et sw=4 ts=8
|
||||
|
||||
@@ -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"
|
||||
12
recipes-devtools/rust/rust_1.31.1.bb
Normal file
12
recipes-devtools/rust/rust_1.31.1.bb
Normal 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"
|
||||
Reference in New Issue
Block a user