From b28674a4520990e637162e33263e2a14e901835e Mon Sep 17 00:00:00 2001 From: Jonathan Creekmore Date: Tue, 31 Oct 2017 16:45:30 -0500 Subject: [PATCH] support Rust 1.21.0 and Cargo 0.22.0 --- recipes-devtools/cargo/cargo-0.22.0.inc | 11 ++ recipes-devtools/cargo/cargo_0.22.0.bb | 151 +++++++++++++++ recipes-devtools/rust/libstd-rs_1.21.0.bb | 170 +++++++++++++++++ recipes-devtools/rust/rust-cross_1.21.0.bb | 3 + recipes-devtools/rust/rust-llvm_1.21.0.bb | 16 ++ .../rust/rust-snapshot-1.21.0.inc | 26 +++ recipes-devtools/rust/rust-source-1.21.0.inc | 14 ++ recipes-devtools/rust/rust_1.21.0.bb | 174 ++++++++++++++++++ 8 files changed, 565 insertions(+) create mode 100644 recipes-devtools/cargo/cargo-0.22.0.inc create mode 100644 recipes-devtools/cargo/cargo_0.22.0.bb create mode 100644 recipes-devtools/rust/libstd-rs_1.21.0.bb create mode 100644 recipes-devtools/rust/rust-cross_1.21.0.bb create mode 100644 recipes-devtools/rust/rust-llvm_1.21.0.bb create mode 100644 recipes-devtools/rust/rust-snapshot-1.21.0.inc create mode 100644 recipes-devtools/rust/rust-source-1.21.0.inc create mode 100644 recipes-devtools/rust/rust_1.21.0.bb diff --git a/recipes-devtools/cargo/cargo-0.22.0.inc b/recipes-devtools/cargo/cargo-0.22.0.inc new file mode 100644 index 0000000..474e568 --- /dev/null +++ b/recipes-devtools/cargo/cargo-0.22.0.inc @@ -0,0 +1,11 @@ +CARGO_SNAPSHOT = "cargo-0.21.0-${RUST_BUILD_SYS}" +SRC_URI[cargo-snapshot.md5sum] = "0e5389d2e38a14933dda77db8172cb1f" +SRC_URI[cargo-snapshot.sha256sum] = "caccf4ab039c806a9e6fdc7fe389cc88fb771e28e30d93c07a5c56ef845cdf57" + +SRC_URI += "\ + https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.gz;name=cargo-snapshot \ +" + +# 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" diff --git a/recipes-devtools/cargo/cargo_0.22.0.bb b/recipes-devtools/cargo/cargo_0.22.0.bb new file mode 100644 index 0000000..94bc54e --- /dev/null +++ b/recipes-devtools/cargo/cargo_0.22.0.bb @@ -0,0 +1,151 @@ +# Auto-Generated by cargo-bitbake 0.3.9 +# +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.22.0" +SRC_URI += "git://github.com/rust-lang/cargo.git;protocol=https;branch=rust-1.21.0" +SRCREV = "3423351a5d75ac7377bb15987842aadcfd068ad2" +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/advapi32-sys/0.2.0 \ +crate://crates.io/aho-corasick/0.5.3 \ +crate://crates.io/aho-corasick/0.6.3 \ +crate://crates.io/atty/0.2.2 \ +crate://crates.io/backtrace-sys/0.1.12 \ +crate://crates.io/backtrace/0.3.2 \ +crate://crates.io/bitflags/0.7.0 \ +crate://crates.io/bitflags/0.9.1 \ +crate://crates.io/bufstream/0.1.3 \ +crate://crates.io/cfg-if/0.1.2 \ +crate://crates.io/cmake/0.1.24 \ +crate://crates.io/conv/0.3.3 \ +crate://crates.io/core-foundation-sys/0.4.4 \ +crate://crates.io/core-foundation/0.4.4 \ +crate://crates.io/crossbeam/0.2.10 \ +crate://crates.io/curl-sys/0.3.14 \ +crate://crates.io/curl/0.4.8 \ +crate://crates.io/custom_derive/0.1.7 \ +crate://crates.io/dbghelp-sys/0.2.0 \ +crate://crates.io/docopt/0.8.1 \ +crate://crates.io/dtoa/0.4.1 \ +crate://crates.io/env_logger/0.4.3 \ +crate://crates.io/error-chain/0.11.0-rc.2 \ +crate://crates.io/filetime/0.1.10 \ +crate://crates.io/flate2/0.2.19 \ +crate://crates.io/fnv/1.0.5 \ +crate://crates.io/foreign-types/0.2.0 \ +crate://crates.io/fs2/0.4.2 \ +crate://crates.io/gcc/0.3.51 \ +crate://crates.io/git2-curl/0.7.0 \ +crate://crates.io/git2/0.6.6 \ +crate://crates.io/glob/0.2.11 \ +crate://crates.io/globset/0.2.0 \ +crate://crates.io/hamcrest/0.1.1 \ +crate://crates.io/hex/0.2.0 \ +crate://crates.io/home/0.3.0 \ +crate://crates.io/idna/0.1.4 \ +crate://crates.io/ignore/0.2.2 \ +crate://crates.io/itoa/0.3.1 \ +crate://crates.io/jobserver/0.1.6 \ +crate://crates.io/kernel32-sys/0.2.2 \ +crate://crates.io/lazy_static/0.2.8 \ +crate://crates.io/libc/0.2.28 \ +crate://crates.io/libgit2-sys/0.6.12 \ +crate://crates.io/libssh2-sys/0.2.6 \ +crate://crates.io/libz-sys/1.0.16 \ +crate://crates.io/log/0.3.8 \ +crate://crates.io/magenta-sys/0.1.1 \ +crate://crates.io/magenta/0.1.1 \ +crate://crates.io/matches/0.1.6 \ +crate://crates.io/memchr/0.1.11 \ +crate://crates.io/memchr/1.0.1 \ +crate://crates.io/miniz-sys/0.1.9 \ +crate://crates.io/miow/0.2.1 \ +crate://crates.io/net2/0.2.30 \ +crate://crates.io/num-bigint/0.1.40 \ +crate://crates.io/num-complex/0.1.40 \ +crate://crates.io/num-integer/0.1.35 \ +crate://crates.io/num-iter/0.1.34 \ +crate://crates.io/num-rational/0.1.39 \ +crate://crates.io/num-traits/0.1.40 \ +crate://crates.io/num/0.1.40 \ +crate://crates.io/num_cpus/1.6.2 \ +crate://crates.io/openssl-probe/0.1.1 \ +crate://crates.io/openssl-sys/0.9.15 \ +crate://crates.io/openssl/0.9.15 \ +crate://crates.io/percent-encoding/1.0.0 \ +crate://crates.io/pkg-config/0.3.9 \ +crate://crates.io/psapi-sys/0.1.0 \ +crate://crates.io/quote/0.3.15 \ +crate://crates.io/rand/0.3.16 \ +crate://crates.io/regex-syntax/0.3.9 \ +crate://crates.io/regex-syntax/0.4.1 \ +crate://crates.io/regex/0.1.80 \ +crate://crates.io/regex/0.2.2 \ +crate://crates.io/rustc-demangle/0.1.4 \ +crate://crates.io/rustc-serialize/0.3.24 \ +crate://crates.io/same-file/0.1.3 \ +crate://crates.io/scoped-tls/0.1.0 \ +crate://crates.io/scopeguard/0.1.2 \ +crate://crates.io/semver-parser/0.7.0 \ +crate://crates.io/semver/0.7.0 \ +crate://crates.io/serde/1.0.11 \ +crate://crates.io/serde_derive/1.0.11 \ +crate://crates.io/serde_derive_internals/0.15.1 \ +crate://crates.io/serde_ignored/0.0.3 \ +crate://crates.io/serde_json/1.0.2 \ +crate://crates.io/shell-escape/0.1.3 \ +crate://crates.io/socket2/0.2.1 \ +crate://crates.io/strsim/0.6.0 \ +crate://crates.io/syn/0.11.11 \ +crate://crates.io/synom/0.11.3 \ +crate://crates.io/tar/0.4.13 \ +crate://crates.io/tempdir/0.3.5 \ +crate://crates.io/termcolor/0.3.2 \ +crate://crates.io/thread-id/2.0.0 \ +crate://crates.io/thread_local/0.2.7 \ +crate://crates.io/thread_local/0.3.4 \ +crate://crates.io/toml/0.4.3 \ +crate://crates.io/unicode-bidi/0.3.4 \ +crate://crates.io/unicode-normalization/0.1.5 \ +crate://crates.io/unicode-xid/0.0.4 \ +crate://crates.io/unreachable/1.0.0 \ +crate://crates.io/url/1.5.1 \ +crate://crates.io/userenv-sys/0.2.0 \ +crate://crates.io/utf8-ranges/0.1.3 \ +crate://crates.io/utf8-ranges/1.0.0 \ +crate://crates.io/vcpkg/0.2.2 \ +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 \ +crate://crates.io/wincolor/0.1.4 \ +crate://crates.io/ws2_32-sys/0.2.1 \ +" + + + +# 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 diff --git a/recipes-devtools/rust/libstd-rs_1.21.0.bb b/recipes-devtools/rust/libstd-rs_1.21.0.bb new file mode 100644 index 0000000..0ccf2e0 --- /dev/null +++ b/recipes-devtools/rust/libstd-rs_1.21.0.bb @@ -0,0 +1,170 @@ +require rust-source-${PV}.inc +require libstd-rs.inc + +LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=c709a09d1b062d9a908e3631c1e1cdf5" + +# 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/advapi32-sys/0.2.0 \ +crate://crates.io/aho-corasick/0.5.3 \ +crate://crates.io/aho-corasick/0.6.3 \ +crate://crates.io/ansi_term/0.9.0 \ +crate://crates.io/ar/0.3.0 \ +crate://crates.io/atty/0.2.2 \ +crate://crates.io/backtrace-sys/0.1.12 \ +crate://crates.io/backtrace/0.3.2 \ +crate://crates.io/bitflags/0.7.0 \ +crate://crates.io/bitflags/0.8.2 \ +crate://crates.io/bitflags/0.9.1 \ +crate://crates.io/bufstream/0.1.3 \ +crate://crates.io/cfg-if/0.1.2 \ +crate://crates.io/clap/2.26.0 \ +crate://crates.io/cmake/0.1.24 \ +crate://crates.io/core-foundation-sys/0.4.4 \ +crate://crates.io/core-foundation/0.4.4 \ +crate://crates.io/crossbeam/0.2.10 \ +crate://crates.io/curl-sys/0.3.14 \ +crate://crates.io/curl/0.4.8 \ +crate://crates.io/dbghelp-sys/0.2.0 \ +crate://crates.io/derive-new/0.3.0 \ +crate://crates.io/diff/0.1.10 \ +crate://crates.io/docopt/0.8.1 \ +crate://crates.io/dtoa/0.4.1 \ +crate://crates.io/enum_primitive/0.1.1 \ +crate://crates.io/env_logger/0.3.5 \ +crate://crates.io/env_logger/0.4.3 \ +crate://crates.io/error-chain/0.10.0 \ +crate://crates.io/error-chain/0.11.0-rc.2 \ +crate://crates.io/filetime/0.1.10 \ +crate://crates.io/flate2/0.2.19 \ +crate://crates.io/fnv/1.0.5 \ +crate://crates.io/foreign-types/0.2.0 \ +crate://crates.io/fs2/0.4.2 \ +crate://crates.io/futures/0.1.14 \ +crate://crates.io/gcc/0.3.51 \ +crate://crates.io/getopts/0.2.14 \ +crate://crates.io/git2-curl/0.7.0 \ +crate://crates.io/git2/0.6.6 \ +crate://crates.io/glob/0.2.11 \ +crate://crates.io/globset/0.2.0 \ +crate://crates.io/hamcrest/0.1.1 \ +crate://crates.io/handlebars/0.26.2 \ +crate://crates.io/hex/0.2.0 \ +crate://crates.io/home/0.3.0 \ +crate://crates.io/idna/0.1.4 \ +crate://crates.io/ignore/0.2.2 \ +crate://crates.io/itoa/0.3.1 \ +crate://crates.io/jobserver/0.1.6 \ +crate://crates.io/jsonrpc-core/7.1.0 \ +crate://crates.io/kernel32-sys/0.2.2 \ +crate://crates.io/languageserver-types/0.12.0 \ +crate://crates.io/lazy_static/0.2.8 \ +crate://crates.io/libc/0.2.29 \ +crate://crates.io/libgit2-sys/0.6.12 \ +crate://crates.io/libssh2-sys/0.2.6 \ +crate://crates.io/libz-sys/1.0.16 \ +crate://crates.io/log/0.3.8 \ +crate://crates.io/lzma-sys/0.1.8 \ +crate://crates.io/matches/0.1.6 \ +crate://crates.io/mdbook/0.0.22 \ +crate://crates.io/memchr/0.1.11 \ +crate://crates.io/memchr/1.0.1 \ +crate://crates.io/miniz-sys/0.1.9 \ +crate://crates.io/miow/0.2.1 \ +crate://crates.io/net2/0.2.31 \ +crate://crates.io/num-bigint/0.1.40 \ +crate://crates.io/num-complex/0.1.40 \ +crate://crates.io/num-integer/0.1.35 \ +crate://crates.io/num-iter/0.1.34 \ +crate://crates.io/num-rational/0.1.39 \ +crate://crates.io/num-traits/0.1.40 \ +crate://crates.io/num/0.1.40 \ +crate://crates.io/num_cpus/1.6.2 \ +crate://crates.io/open/1.2.0 \ +crate://crates.io/openssl-probe/0.1.1 \ +crate://crates.io/openssl-sys/0.9.17 \ +crate://crates.io/openssl/0.9.17 \ +crate://crates.io/owning_ref/0.3.3 \ +crate://crates.io/percent-encoding/1.0.0 \ +crate://crates.io/pest/0.3.3 \ +crate://crates.io/pkg-config/0.3.9 \ +crate://crates.io/psapi-sys/0.1.0 \ +crate://crates.io/pulldown-cmark/0.0.14 \ +crate://crates.io/quick-error/1.2.0 \ +crate://crates.io/quote/0.2.3 \ +crate://crates.io/quote/0.3.15 \ +crate://crates.io/racer/2.0.10 \ +crate://crates.io/rand/0.3.15 \ +crate://crates.io/regex-syntax/0.3.9 \ +crate://crates.io/regex-syntax/0.4.1 \ +crate://crates.io/regex/0.1.80 \ +crate://crates.io/regex/0.2.2 \ +crate://crates.io/rls-analysis/0.6.5 \ +crate://crates.io/rls-data/0.10.0 \ +crate://crates.io/rls-rustc/0.1.0 \ +crate://crates.io/rls-span/0.4.0 \ +crate://crates.io/rls-vfs/0.4.4 \ +crate://crates.io/rustc-demangle/0.1.5 \ +crate://crates.io/rustc-serialize/0.3.24 \ +crate://crates.io/rustfmt-nightly/0.2.2 \ +crate://crates.io/same-file/0.1.3 \ +crate://crates.io/scoped-tls/0.1.0 \ +crate://crates.io/scopeguard/0.1.2 \ +crate://crates.io/semver-parser/0.7.0 \ +crate://crates.io/semver/0.7.0 \ +crate://crates.io/serde/1.0.11 \ +crate://crates.io/serde_derive/1.0.11 \ +crate://crates.io/serde_derive_internals/0.15.1 \ +crate://crates.io/serde_ignored/0.0.3 \ +crate://crates.io/serde_json/1.0.2 \ +crate://crates.io/shell-escape/0.1.3 \ +crate://crates.io/socket2/0.2.2 \ +crate://crates.io/stable_deref_trait/1.0.0 \ +crate://crates.io/strings/0.1.0 \ +crate://crates.io/strsim/0.6.0 \ +crate://crates.io/syn/0.11.11 \ +crate://crates.io/syn/0.8.7 \ +crate://crates.io/synom/0.11.3 \ +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.13 \ +crate://crates.io/tempdir/0.3.5 \ +crate://crates.io/term/0.4.6 \ +crate://crates.io/term_size/0.3.0 \ +crate://crates.io/termcolor/0.3.2 \ +crate://crates.io/textwrap/0.7.0 \ +crate://crates.io/thread-id/2.0.0 \ +crate://crates.io/thread_local/0.2.7 \ +crate://crates.io/thread_local/0.3.4 \ +crate://crates.io/toml/0.2.1 \ +crate://crates.io/toml/0.4.5 \ +crate://crates.io/typed-arena/1.3.0 \ +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/unreachable/1.0.0 \ +crate://crates.io/url/1.5.1 \ +crate://crates.io/url_serde/0.2.0 \ +crate://crates.io/userenv-sys/0.2.0 \ +crate://crates.io/utf8-ranges/0.1.3 \ +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/1.0.7 \ +crate://crates.io/winapi-build/0.1.1 \ +crate://crates.io/winapi/0.2.8 \ +crate://crates.io/wincolor/0.1.4 \ +crate://crates.io/ws2_32-sys/0.2.1 \ +crate://crates.io/xattr/0.1.11 \ +crate://crates.io/xz2/0.1.3 \ +crate://crates.io/yaml-rust/0.3.5 \ +" diff --git a/recipes-devtools/rust/rust-cross_1.21.0.bb b/recipes-devtools/rust/rust-cross_1.21.0.bb new file mode 100644 index 0000000..34d92de --- /dev/null +++ b/recipes-devtools/rust/rust-cross_1.21.0.bb @@ -0,0 +1,3 @@ +require rust-cross.inc +require rust-source-${PV}.inc +require rust-snapshot-${PV}.inc diff --git a/recipes-devtools/rust/rust-llvm_1.21.0.bb b/recipes-devtools/rust/rust-llvm_1.21.0.bb new file mode 100644 index 0000000..19305d2 --- /dev/null +++ b/recipes-devtools/rust/rust-llvm_1.21.0.bb @@ -0,0 +1,16 @@ +require rust-source-${PV}.inc +require rust-llvm.inc + +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771" + +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" +} diff --git a/recipes-devtools/rust/rust-snapshot-1.21.0.inc b/recipes-devtools/rust/rust-snapshot-1.21.0.inc new file mode 100644 index 0000000..e5482ff --- /dev/null +++ b/recipes-devtools/rust/rust-snapshot-1.21.0.inc @@ -0,0 +1,26 @@ +# Specifics for Rust 1.21.0 + +## 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.20.0" + +RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_SYS}" +RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}" +CARGO_VERSION = "0.21.0" +CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${RUST_BUILD_SYS}" + +SRC_URI += " \ + https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.gz;name=rust-std-snapshot;subdir=rust-snapshot-components \ + https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.gz;name=rustc-snapshot;subdir=rust-snapshot-components \ + https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.gz;name=cargo-snapshot;subdir=rust-snapshot-components \ + " + +# These are x86_64-unknown-linux-gnu hashes, how can we add more? +SRC_URI[rustc-snapshot.md5sum] = "c6276176ec6061b61ae73617a64bceb0" +SRC_URI[rustc-snapshot.sha256sum] = "000e776431718a32b5d40c4aa6e09b3425f0b71dea8c95e718d29b8c0f5b35d3" +SRC_URI[rust-std-snapshot.md5sum] = "8c0f7355b66830517a51a2bd6f530327" +SRC_URI[rust-std-snapshot.sha256sum] = "a1b3e13b9d6f9aa713783145cb83070b1dabbe17349043b3528031d7712ca929" +SRC_URI[cargo-snapshot.md5sum] = "0e5389d2e38a14933dda77db8172cb1f" +SRC_URI[cargo-snapshot.sha256sum] = "caccf4ab039c806a9e6fdc7fe389cc88fb771e28e30d93c07a5c56ef845cdf57" diff --git a/recipes-devtools/rust/rust-source-1.21.0.inc b/recipes-devtools/rust/rust-source-1.21.0.inc new file mode 100644 index 0000000..f2c379c --- /dev/null +++ b/recipes-devtools/rust/rust-source-1.21.0.inc @@ -0,0 +1,14 @@ +# Specifics for Rust 1.21.0 + +SRC_URI += "\ + https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \ + " +SRC_URI[rust.md5sum] = "bc494706b764276613064aad52922f53" +SRC_URI[rust.sha256sum] = "1707c142244b5bd909993559c6116c81987c1de21d6207c05d3ecbe5bba548fa" + +# 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=c709a09d1b062d9a908e3631c1e1cdf5" diff --git a/recipes-devtools/rust/rust_1.21.0.bb b/recipes-devtools/rust/rust_1.21.0.bb new file mode 100644 index 0000000..004f504 --- /dev/null +++ b/recipes-devtools/rust/rust_1.21.0.bb @@ -0,0 +1,174 @@ +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/advapi32-sys/0.2.0 \ +crate://crates.io/aho-corasick/0.5.3 \ +crate://crates.io/aho-corasick/0.6.3 \ +crate://crates.io/ansi_term/0.9.0 \ +crate://crates.io/ar/0.3.0 \ +crate://crates.io/atty/0.2.2 \ +crate://crates.io/backtrace-sys/0.1.12 \ +crate://crates.io/backtrace/0.3.2 \ +crate://crates.io/bitflags/0.7.0 \ +crate://crates.io/bitflags/0.8.2 \ +crate://crates.io/bitflags/0.9.1 \ +crate://crates.io/bufstream/0.1.3 \ +crate://crates.io/cfg-if/0.1.2 \ +crate://crates.io/clap/2.26.0 \ +crate://crates.io/cmake/0.1.24 \ +crate://crates.io/core-foundation-sys/0.4.4 \ +crate://crates.io/core-foundation/0.4.4 \ +crate://crates.io/crossbeam/0.2.10 \ +crate://crates.io/curl-sys/0.3.14 \ +crate://crates.io/curl/0.4.8 \ +crate://crates.io/dbghelp-sys/0.2.0 \ +crate://crates.io/derive-new/0.3.0 \ +crate://crates.io/diff/0.1.10 \ +crate://crates.io/docopt/0.8.1 \ +crate://crates.io/dtoa/0.4.1 \ +crate://crates.io/enum_primitive/0.1.1 \ +crate://crates.io/env_logger/0.3.5 \ +crate://crates.io/env_logger/0.4.3 \ +crate://crates.io/error-chain/0.10.0 \ +crate://crates.io/error-chain/0.11.0-rc.2 \ +crate://crates.io/filetime/0.1.10 \ +crate://crates.io/flate2/0.2.19 \ +crate://crates.io/fnv/1.0.5 \ +crate://crates.io/foreign-types/0.2.0 \ +crate://crates.io/fs2/0.4.2 \ +crate://crates.io/futures/0.1.14 \ +crate://crates.io/gcc/0.3.51 \ +crate://crates.io/getopts/0.2.14 \ +crate://crates.io/git2-curl/0.7.0 \ +crate://crates.io/git2/0.6.6 \ +crate://crates.io/glob/0.2.11 \ +crate://crates.io/globset/0.2.0 \ +crate://crates.io/hamcrest/0.1.1 \ +crate://crates.io/handlebars/0.26.2 \ +crate://crates.io/hex/0.2.0 \ +crate://crates.io/home/0.3.0 \ +crate://crates.io/idna/0.1.4 \ +crate://crates.io/ignore/0.2.2 \ +crate://crates.io/itoa/0.3.1 \ +crate://crates.io/jobserver/0.1.6 \ +crate://crates.io/jsonrpc-core/7.1.0 \ +crate://crates.io/kernel32-sys/0.2.2 \ +crate://crates.io/languageserver-types/0.12.0 \ +crate://crates.io/lazy_static/0.2.8 \ +crate://crates.io/libc/0.2.29 \ +crate://crates.io/libgit2-sys/0.6.12 \ +crate://crates.io/libssh2-sys/0.2.6 \ +crate://crates.io/libz-sys/1.0.16 \ +crate://crates.io/log/0.3.8 \ +crate://crates.io/lzma-sys/0.1.8 \ +crate://crates.io/matches/0.1.6 \ +crate://crates.io/mdbook/0.0.22 \ +crate://crates.io/memchr/0.1.11 \ +crate://crates.io/memchr/1.0.1 \ +crate://crates.io/miniz-sys/0.1.9 \ +crate://crates.io/miow/0.2.1 \ +crate://crates.io/net2/0.2.31 \ +crate://crates.io/num-bigint/0.1.40 \ +crate://crates.io/num-complex/0.1.40 \ +crate://crates.io/num-integer/0.1.35 \ +crate://crates.io/num-iter/0.1.34 \ +crate://crates.io/num-rational/0.1.39 \ +crate://crates.io/num-traits/0.1.40 \ +crate://crates.io/num/0.1.40 \ +crate://crates.io/num_cpus/1.6.2 \ +crate://crates.io/open/1.2.0 \ +crate://crates.io/openssl-probe/0.1.1 \ +crate://crates.io/openssl-sys/0.9.17 \ +crate://crates.io/openssl/0.9.17 \ +crate://crates.io/owning_ref/0.3.3 \ +crate://crates.io/percent-encoding/1.0.0 \ +crate://crates.io/pest/0.3.3 \ +crate://crates.io/pkg-config/0.3.9 \ +crate://crates.io/psapi-sys/0.1.0 \ +crate://crates.io/pulldown-cmark/0.0.14 \ +crate://crates.io/quick-error/1.2.0 \ +crate://crates.io/quote/0.2.3 \ +crate://crates.io/quote/0.3.15 \ +crate://crates.io/racer/2.0.10 \ +crate://crates.io/rand/0.3.15 \ +crate://crates.io/regex-syntax/0.3.9 \ +crate://crates.io/regex-syntax/0.4.1 \ +crate://crates.io/regex/0.1.80 \ +crate://crates.io/regex/0.2.2 \ +crate://crates.io/rls-analysis/0.6.5 \ +crate://crates.io/rls-data/0.10.0 \ +crate://crates.io/rls-rustc/0.1.0 \ +crate://crates.io/rls-span/0.4.0 \ +crate://crates.io/rls-vfs/0.4.4 \ +crate://crates.io/rustc-demangle/0.1.5 \ +crate://crates.io/rustc-serialize/0.3.24 \ +crate://crates.io/rustfmt-nightly/0.2.2 \ +crate://crates.io/same-file/0.1.3 \ +crate://crates.io/scoped-tls/0.1.0 \ +crate://crates.io/scopeguard/0.1.2 \ +crate://crates.io/semver-parser/0.7.0 \ +crate://crates.io/semver/0.7.0 \ +crate://crates.io/serde/1.0.11 \ +crate://crates.io/serde_derive/1.0.11 \ +crate://crates.io/serde_derive_internals/0.15.1 \ +crate://crates.io/serde_ignored/0.0.3 \ +crate://crates.io/serde_json/1.0.2 \ +crate://crates.io/shell-escape/0.1.3 \ +crate://crates.io/socket2/0.2.2 \ +crate://crates.io/stable_deref_trait/1.0.0 \ +crate://crates.io/strings/0.1.0 \ +crate://crates.io/strsim/0.6.0 \ +crate://crates.io/syn/0.11.11 \ +crate://crates.io/syn/0.8.7 \ +crate://crates.io/synom/0.11.3 \ +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.13 \ +crate://crates.io/tempdir/0.3.5 \ +crate://crates.io/term/0.4.6 \ +crate://crates.io/term_size/0.3.0 \ +crate://crates.io/termcolor/0.3.2 \ +crate://crates.io/textwrap/0.7.0 \ +crate://crates.io/thread-id/2.0.0 \ +crate://crates.io/thread_local/0.2.7 \ +crate://crates.io/thread_local/0.3.4 \ +crate://crates.io/toml/0.2.1 \ +crate://crates.io/toml/0.4.5 \ +crate://crates.io/typed-arena/1.3.0 \ +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/unreachable/1.0.0 \ +crate://crates.io/url/1.5.1 \ +crate://crates.io/url_serde/0.2.0 \ +crate://crates.io/userenv-sys/0.2.0 \ +crate://crates.io/utf8-ranges/0.1.3 \ +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/1.0.7 \ +crate://crates.io/winapi-build/0.1.1 \ +crate://crates.io/winapi/0.2.8 \ +crate://crates.io/wincolor/0.1.4 \ +crate://crates.io/ws2_32-sys/0.2.1 \ +crate://crates.io/xattr/0.1.11 \ +crate://crates.io/xz2/0.1.3 \ +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"