From 0639277e4c7c0a29e418a61ca1b76360251d8131 Mon Sep 17 00:00:00 2001 From: Adam Schwalm Date: Fri, 16 Feb 2018 14:44:58 -0600 Subject: [PATCH] Add 1.24.0 for rocko --- recipes-devtools/cargo/cargo-0.25.0.inc | 12 + recipes-devtools/cargo/cargo_0.25.0.bb | 167 ++++++++++++ ...brustc-always-allow-unstable-options.patch | 43 ++++ recipes-devtools/rust/libstd-rs.inc | 4 + recipes-devtools/rust/libstd-rs_1.24.0.bb | 235 +++++++++++++++++ recipes-devtools/rust/rust-cross_1.24.0.bb | 4 + recipes-devtools/rust/rust-llvm_1.24.0.bb | 16 ++ .../rust/rust-snapshot-1.24.0.inc | 26 ++ recipes-devtools/rust/rust-source-1.24.0.inc | 18 ++ recipes-devtools/rust/rust.inc | 6 +- recipes-devtools/rust/rust_1.24.0.bb | 241 ++++++++++++++++++ 11 files changed, 769 insertions(+), 3 deletions(-) create mode 100644 recipes-devtools/cargo/cargo-0.25.0.inc create mode 100644 recipes-devtools/cargo/cargo_0.25.0.bb create mode 100644 recipes-devtools/rust/files/rust-1.24.0/0001-librustc-always-allow-unstable-options.patch create mode 100644 recipes-devtools/rust/libstd-rs_1.24.0.bb create mode 100644 recipes-devtools/rust/rust-cross_1.24.0.bb create mode 100644 recipes-devtools/rust/rust-llvm_1.24.0.bb create mode 100644 recipes-devtools/rust/rust-snapshot-1.24.0.inc create mode 100644 recipes-devtools/rust/rust-source-1.24.0.inc create mode 100644 recipes-devtools/rust/rust_1.24.0.bb diff --git a/recipes-devtools/cargo/cargo-0.25.0.inc b/recipes-devtools/cargo/cargo-0.25.0.inc new file mode 100644 index 0000000..0c78114 --- /dev/null +++ b/recipes-devtools/cargo/cargo-0.25.0.inc @@ -0,0 +1,12 @@ +CARGO_SNAPSHOT = "cargo-0.24.0-${RUST_BUILD_SYS}" + +SRC_URI[cargo-snapshot.md5sum] = "830041cfc8627d3f7187954993449cf9" +SRC_URI[cargo-snapshot.sha256sum] = "ff8a454104aba20426ea898ed7515ec5da7de07d11733cdda17462455beb76e8" + +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.25.0.bb b/recipes-devtools/cargo/cargo_0.25.0.bb new file mode 100644 index 0000000..f4aa2db --- /dev/null +++ b/recipes-devtools/cargo/cargo_0.25.0.bb @@ -0,0 +1,167 @@ +# Auto-Generated by cargo-bitbake 0.3.10-pre +# +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.25.0" +SRC_URI += "git://github.com/rust-lang/cargo;protocol=http;branch=rust-1.24.0" +SRCREV = "8c93e089536467783957fec23b0f2627bb6ce357" +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.4 \ +crate://crates.io/atty/0.2.6 \ +crate://crates.io/backtrace-sys/0.1.16 \ +crate://crates.io/backtrace/0.3.5 \ +crate://crates.io/bitflags/0.9.1 \ +crate://crates.io/bitflags/1.0.1 \ +crate://crates.io/bufstream/0.1.3 \ +crate://crates.io/cc/1.0.4 \ +crate://crates.io/cfg-if/0.1.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/core-foundation-sys/0.4.6 \ +crate://crates.io/core-foundation/0.4.6 \ +crate://crates.io/crossbeam/0.2.12 \ +crate://crates.io/crossbeam/0.3.2 \ +crate://crates.io/crypto-hash/0.3.0 \ +crate://crates.io/curl-sys/0.4.1 \ +crate://crates.io/curl/0.4.11 \ +crate://crates.io/docopt/0.8.3 \ +crate://crates.io/dtoa/0.4.2 \ +crate://crates.io/env_logger/0.4.3 \ +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/git2-curl/0.7.0 \ +crate://crates.io/git2/0.6.11 \ +crate://crates.io/glob/0.2.11 \ +crate://crates.io/globset/0.2.1 \ +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.4 \ +crate://crates.io/jobserver/0.1.9 \ +crate://crates.io/kernel32-sys/0.2.2 \ +crate://crates.io/lazy_static/0.2.11 \ +crate://crates.io/lazy_static/1.0.0 \ +crate://crates.io/libc/0.2.36 \ +crate://crates.io/libgit2-sys/0.6.19 \ +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/matches/0.1.6 \ +crate://crates.io/memchr/0.1.11 \ +crate://crates.io/memchr/1.0.2 \ +crate://crates.io/memchr/2.0.1 \ +crate://crates.io/miniz-sys/0.1.10 \ +crate://crates.io/miow/0.2.1 \ +crate://crates.io/net2/0.2.31 \ +crate://crates.io/num-bigint/0.1.43 \ +crate://crates.io/num-complex/0.1.42 \ +crate://crates.io/num-integer/0.1.36 \ +crate://crates.io/num-iter/0.1.35 \ +crate://crates.io/num-rational/0.1.42 \ +crate://crates.io/num-traits/0.1.43 \ +crate://crates.io/num-traits/0.2.0 \ +crate://crates.io/num/0.1.42 \ +crate://crates.io/num_cpus/1.8.0 \ +crate://crates.io/openssl-probe/0.1.2 \ +crate://crates.io/openssl-sys/0.9.26 \ +crate://crates.io/openssl/0.9.24 \ +crate://crates.io/percent-encoding/1.0.1 \ +crate://crates.io/pkg-config/0.3.9 \ +crate://crates.io/psapi-sys/0.1.1 \ +crate://crates.io/quote/0.3.15 \ +crate://crates.io/rand/0.3.22 \ +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.3.9 \ +crate://crates.io/regex-syntax/0.4.2 \ +crate://crates.io/regex/0.1.80 \ +crate://crates.io/regex/0.2.6 \ +crate://crates.io/remove_dir_all/0.3.0 \ +crate://crates.io/rustc-demangle/0.1.6 \ +crate://crates.io/rustc-serialize/0.3.24 \ +crate://crates.io/same-file/0.1.3 \ +crate://crates.io/schannel/0.1.10 \ +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.8.0 \ +crate://crates.io/serde/1.0.27 \ +crate://crates.io/serde_derive/1.0.27 \ +crate://crates.io/serde_derive_internals/0.19.0 \ +crate://crates.io/serde_ignored/0.0.4 \ +crate://crates.io/serde_json/1.0.9 \ +crate://crates.io/shell-escape/0.1.3 \ +crate://crates.io/socket2/0.3.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/synstructure/0.6.1 \ +crate://crates.io/tar/0.4.14 \ +crate://crates.io/tempdir/0.3.6 \ +crate://crates.io/termcolor/0.3.4 \ +crate://crates.io/termion/1.5.1 \ +crate://crates.io/thread-id/2.0.0 \ +crate://crates.io/thread_local/0.2.7 \ +crate://crates.io/thread_local/0.3.5 \ +crate://crates.io/toml/0.4.5 \ +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.6.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/void/1.0.2 \ +crate://crates.io/walkdir/1.0.7 \ +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/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/files/rust-1.24.0/0001-librustc-always-allow-unstable-options.patch b/recipes-devtools/rust/files/rust-1.24.0/0001-librustc-always-allow-unstable-options.patch new file mode 100644 index 0000000..b311863 --- /dev/null +++ b/recipes-devtools/rust/files/rust-1.24.0/0001-librustc-always-allow-unstable-options.patch @@ -0,0 +1,43 @@ +From 6a82f31d21ac7b85211e580585cc73ab2bdb0bc9 Mon Sep 17 00:00:00 2001 +From: Tyler Hall +Date: Sun, 29 Oct 2017 16:29:03 -0400 +Subject: [PATCH] librustc: always allow unstable options + +--- + src/librustc/session/config.rs | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs +index 4b41572c1a..97381bc05c 100644 +--- a/src/librustc/session/config.rs ++++ b/src/librustc/session/config.rs +@@ -1703,8 +1703,6 @@ pub mod nightly_options { + + pub fn check_nightly_options(matches: &getopts::Matches, flags: &[RustcOptGroup]) { + let has_z_unstable_option = matches.opt_strs("Z").iter().any(|x| *x == "unstable-options"); +- let really_allows_unstable_options = UnstableFeatures::from_environment() +- .is_nightly_build(); + + for opt in flags.iter() { + if opt.stability == OptionStability::Stable { +@@ -1719,17 +1717,6 @@ pub mod nightly_options { + the flag `{}`", + opt.name)); + } +- if really_allows_unstable_options { +- continue +- } +- match opt.stability { +- OptionStability::Unstable => { +- let msg = format!("the option `{}` is only accepted on the \ +- nightly compiler", opt.name); +- early_error(ErrorOutputType::default(), &msg); +- } +- OptionStability::Stable => {} +- } + } + } + } +-- +2.14.2 + diff --git a/recipes-devtools/rust/libstd-rs.inc b/recipes-devtools/rust/libstd-rs.inc index 3380684..2eb4c25 100644 --- a/recipes-devtools/rust/libstd-rs.inc +++ b/recipes-devtools/rust/libstd-rs.inc @@ -20,5 +20,9 @@ do_compile_prepend () { do_install () { mkdir -p ${D}${rustlibdir} + # 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}/release/deps/*.d cp ${B}/${TARGET_SYS}/release/deps/* ${D}${rustlibdir} } diff --git a/recipes-devtools/rust/libstd-rs_1.24.0.bb b/recipes-devtools/rust/libstd-rs_1.24.0.bb new file mode 100644 index 0000000..6dc80a9 --- /dev/null +++ b/recipes-devtools/rust/libstd-rs_1.24.0.bb @@ -0,0 +1,235 @@ +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.4 \ +crate://crates.io/ansi_term/0.10.2 \ +crate://crates.io/ar/0.3.1 \ +crate://crates.io/atty/0.2.3 \ +crate://crates.io/backtrace-sys/0.1.16 \ +crate://crates.io/backtrace/0.3.4 \ +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.4.0 \ +crate://crates.io/cc/1.0.3 \ +crate://crates.io/cfg-if/0.1.2 \ +crate://crates.io/clap/2.29.0 \ +crate://crates.io/cmake/0.1.29 \ +crate://crates.io/coco/0.1.1 \ +crate://crates.io/commoncrypto-sys/0.2.0 \ +crate://crates.io/commoncrypto/0.2.0 \ +crate://crates.io/compiletest_rs/0.3.3 \ +crate://crates.io/core-foundation-sys/0.4.6 \ +crate://crates.io/core-foundation/0.4.6 \ +crate://crates.io/crossbeam/0.2.10 \ +crate://crates.io/crossbeam/0.3.0 \ +crate://crates.io/crypto-hash/0.3.0 \ +crate://crates.io/cssparser-macros/0.3.0 \ +crate://crates.io/cssparser/0.13.7 \ +crate://crates.io/curl-sys/0.3.15 \ +crate://crates.io/curl/0.4.8 \ +crate://crates.io/dbghelp-sys/0.2.0 \ +crate://crates.io/debug_unreachable/0.1.1 \ +crate://crates.io/derive-new/0.5.0 \ +crate://crates.io/diff/0.1.11 \ +crate://crates.io/docopt/0.8.1 \ +crate://crates.io/dtoa/0.4.2 \ +crate://crates.io/duct/0.8.2 \ +crate://crates.io/either/1.4.0 \ +crate://crates.io/endian-type/0.1.2 \ +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.11.0 \ +crate://crates.io/error-chain/0.8.1 \ +crate://crates.io/failure/0.1.1 \ +crate://crates.io/failure_derive/0.1.1 \ +crate://crates.io/filetime/0.1.14 \ +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.2 \ +crate://crates.io/fuchsia-zircon-sys/0.3.2 \ +crate://crates.io/fuchsia-zircon/0.3.2 \ +crate://crates.io/futf/0.1.3 \ +crate://crates.io/futures/0.1.17 \ +crate://crates.io/getopts/0.2.15 \ +crate://crates.io/git2-curl/0.7.0 \ +crate://crates.io/git2/0.6.10 \ +crate://crates.io/glob/0.2.11 \ +crate://crates.io/globset/0.2.1 \ +crate://crates.io/hamcrest/0.1.1 \ +crate://crates.io/handlebars/0.29.1 \ +crate://crates.io/hex/0.2.0 \ +crate://crates.io/home/0.3.0 \ +crate://crates.io/html-diff/0.0.5 \ +crate://crates.io/html5ever/0.20.0 \ +crate://crates.io/idna/0.1.4 \ +crate://crates.io/if_chain/0.1.2 \ +crate://crates.io/ignore/0.2.2 \ +crate://crates.io/itertools/0.6.5 \ +crate://crates.io/itoa/0.3.4 \ +crate://crates.io/jobserver/0.1.8 \ +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/kuchiki/0.6.0 \ +crate://crates.io/languageserver-types/0.16.0 \ +crate://crates.io/lazy_static/0.2.11 \ +crate://crates.io/lazy_static/1.0.0 \ +crate://crates.io/lazycell/0.5.1 \ +crate://crates.io/libc/0.2.34 \ +crate://crates.io/libgit2-sys/0.6.18 \ +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/mac/0.1.1 \ +crate://crates.io/markup5ever/0.5.0 \ +crate://crates.io/matches/0.1.6 \ +crate://crates.io/mdbook/0.0.26 \ +crate://crates.io/memchr/0.1.11 \ +crate://crates.io/memchr/1.0.2 \ +crate://crates.io/memchr/2.0.1 \ +crate://crates.io/miniz-sys/0.1.10 \ +crate://crates.io/miow/0.2.1 \ +crate://crates.io/net2/0.2.31 \ +crate://crates.io/nibble_vec/0.0.3 \ +crate://crates.io/nix/0.8.1 \ +crate://crates.io/num-bigint/0.1.41 \ +crate://crates.io/num-complex/0.1.41 \ +crate://crates.io/num-integer/0.1.35 \ +crate://crates.io/num-iter/0.1.34 \ +crate://crates.io/num-rational/0.1.40 \ +crate://crates.io/num-traits/0.1.41 \ +crate://crates.io/num/0.1.41 \ +crate://crates.io/num_cpus/1.7.0 \ +crate://crates.io/open/1.2.1 \ +crate://crates.io/openssl-probe/0.1.2 \ +crate://crates.io/openssl-sys/0.9.23 \ +crate://crates.io/openssl/0.9.23 \ +crate://crates.io/os_pipe/0.5.1 \ +crate://crates.io/owning_ref/0.3.3 \ +crate://crates.io/parking_lot/0.5.3 \ +crate://crates.io/parking_lot_core/0.2.9 \ +crate://crates.io/percent-encoding/1.0.1 \ +crate://crates.io/pest/0.3.3 \ +crate://crates.io/phf/0.7.21 \ +crate://crates.io/phf_codegen/0.7.21 \ +crate://crates.io/phf_generator/0.7.21 \ +crate://crates.io/phf_shared/0.7.21 \ +crate://crates.io/pkg-config/0.3.9 \ +crate://crates.io/precomputed-hash/0.1.1 \ +crate://crates.io/procedural-masquerade/0.1.5 \ +crate://crates.io/psapi-sys/0.1.1 \ +crate://crates.io/pulldown-cmark/0.0.15 \ +crate://crates.io/pulldown-cmark/0.1.0 \ +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/racer/2.0.12 \ +crate://crates.io/radix_trie/0.1.2 \ +crate://crates.io/rand/0.3.19 \ +crate://crates.io/rayon-core/1.3.0 \ +crate://crates.io/rayon/0.9.0 \ +crate://crates.io/redox_syscall/0.1.32 \ +crate://crates.io/redox_termios/0.1.1 \ +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.3 \ +crate://crates.io/rls-analysis/0.10.0 \ +crate://crates.io/rls-data/0.14.0 \ +crate://crates.io/rls-rustc/0.1.1 \ +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/same-file/0.1.3 \ +crate://crates.io/scoped-tls/0.1.0 \ +crate://crates.io/scopeguard/0.1.2 \ +crate://crates.io/scopeguard/0.3.3 \ +crate://crates.io/selectors/0.18.0 \ +crate://crates.io/semver-parser/0.7.0 \ +crate://crates.io/semver/0.6.0 \ +crate://crates.io/semver/0.8.0 \ +crate://crates.io/serde/1.0.25 \ +crate://crates.io/serde_derive/1.0.25 \ +crate://crates.io/serde_derive_internals/0.18.1 \ +crate://crates.io/serde_ignored/0.0.4 \ +crate://crates.io/serde_json/1.0.8 \ +crate://crates.io/shared_child/0.2.1 \ +crate://crates.io/shell-escape/0.1.3 \ +crate://crates.io/siphasher/0.2.2 \ +crate://crates.io/smallvec/0.3.3 \ +crate://crates.io/smallvec/0.6.0 \ +crate://crates.io/socket2/0.2.4 \ +crate://crates.io/stable_deref_trait/1.0.0 \ +crate://crates.io/string_cache/0.6.2 \ +crate://crates.io/string_cache_codegen/0.4.0 \ +crate://crates.io/string_cache_shared/0.3.0 \ +crate://crates.io/strsim/0.6.0 \ +crate://crates.io/syn/0.11.11 \ +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.5 \ +crate://crates.io/tendril/0.4.0 \ +crate://crates.io/term/0.4.6 \ +crate://crates.io/termcolor/0.3.3 \ +crate://crates.io/termion/1.5.1 \ +crate://crates.io/textwrap/0.9.0 \ +crate://crates.io/thread-id/2.0.0 \ +crate://crates.io/thread_local/0.2.7 \ +crate://crates.io/thread_local/0.3.5 \ +crate://crates.io/time/0.1.39 \ +crate://crates.io/toml/0.2.1 \ +crate://crates.io/toml/0.4.5 \ +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/0.1.1 \ +crate://crates.io/unreachable/1.0.0 \ +crate://crates.io/url/1.6.0 \ +crate://crates.io/url_serde/0.2.0 \ +crate://crates.io/userenv-sys/0.2.0 \ +crate://crates.io/utf-8/0.7.1 \ +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-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.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.24.0.bb b/recipes-devtools/rust/rust-cross_1.24.0.bb new file mode 100644 index 0000000..966f6d1 --- /dev/null +++ b/recipes-devtools/rust/rust-cross_1.24.0.bb @@ -0,0 +1,4 @@ +require rust-cross.inc +require rust-source-${PV}.inc +require rust-snapshot-${PV}.inc + diff --git a/recipes-devtools/rust/rust-llvm_1.24.0.bb b/recipes-devtools/rust/rust-llvm_1.24.0.bb new file mode 100644 index 0000000..19305d2 --- /dev/null +++ b/recipes-devtools/rust/rust-llvm_1.24.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.24.0.inc b/recipes-devtools/rust/rust-snapshot-1.24.0.inc new file mode 100644 index 0000000..58281ec --- /dev/null +++ b/recipes-devtools/rust/rust-snapshot-1.24.0.inc @@ -0,0 +1,26 @@ +# Specifics for Rust 1.24.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.23.0" + +RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_SYS}" +RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_SYS}" +CARGO_VERSION = "0.24.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] = "068fc6566772c4ce165cc547151f514c" +SRC_URI[rustc-snapshot.sha256sum] = "27b124fd0d94c082978ff81e45f7b7c37e91d64714587829bf828d64d76524ee" +SRC_URI[rust-std-snapshot.md5sum] = "f9f89caf41e3f9c092118272ceb5bf6b" +SRC_URI[rust-std-snapshot.sha256sum] = "83c7351bdc4326caf785c208cff86682825dad4a89ccee705fa05f55ce7bd25b" +SRC_URI[cargo-snapshot.md5sum] = "830041cfc8627d3f7187954993449cf9" +SRC_URI[cargo-snapshot.sha256sum] = "ff8a454104aba20426ea898ed7515ec5da7de07d11733cdda17462455beb76e8" diff --git a/recipes-devtools/rust/rust-source-1.24.0.inc b/recipes-devtools/rust/rust-source-1.24.0.inc new file mode 100644 index 0000000..02923f1 --- /dev/null +++ b/recipes-devtools/rust/rust-source-1.24.0.inc @@ -0,0 +1,18 @@ +# Specifics for Rust 1.24.0 + +SRC_URI += "\ + https://static.rust-lang.org/dist/rustc-${PV}-src.tar.gz;name=rust \ + " + +SRC_URI[md5sum] = "068fc6566772c4ce165cc547151f514c" +SRC_URI[sha256sum] = "27b124fd0d94c082978ff81e45f7b7c37e91d64714587829bf828d64d76524ee" +SRC_URI[rust.md5sum] = "328b369e0cb5164b85c8067357a10291" +SRC_URI[rust.sha256sum] = "bb8276f6044e877e447f29f566e4bbf820fa51fea2f912d59b73233ffd95639f" + + +# 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.inc b/recipes-devtools/rust/rust.inc index 808df92..f0f370a 100644 --- a/recipes-devtools/rust/rust.inc +++ b/recipes-devtools/rust/rust.inc @@ -144,7 +144,7 @@ DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" LLVM_TARGET[aarch64] = "aarch64-unknown-linux-gnu" TARGET_ENDIAN[aarch64] = "little" TARGET_POINTER_WIDTH[aarch64] = "64" -TARGET_C_INT_WIDTH[aarch64] = "32" +TARGET_C_INT_WIDTH[aarch64] = "64" MAX_ATOMIC_WIDTH[aarch64] = "128" ## x86_64-unknown-linux-gnu @@ -152,7 +152,7 @@ DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" LLVM_TARGET[x86_64] = "x86_64-unknown-linux-gnu" TARGET_ENDIAN[x86_64] = "little" TARGET_POINTER_WIDTH[x86_64] = "64" -TARGET_C_INT_WIDTH[x86_64] = "32" +TARGET_C_INT_WIDTH[x86_64] = "64" MAX_ATOMIC_WIDTH[x86_64] = "64" ## i686-unknown-linux-gnu @@ -314,7 +314,7 @@ do_rust_setup_snapshot () { # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo # and fail without it there. mkdir -p ${RUSTSRC}/build/${BUILD_SYS} - ln -s ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0 + ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0 } addtask rust_setup_snapshot after do_unpack before do_configure do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot" diff --git a/recipes-devtools/rust/rust_1.24.0.bb b/recipes-devtools/rust/rust_1.24.0.bb new file mode 100644 index 0000000..2e0dac1 --- /dev/null +++ b/recipes-devtools/rust/rust_1.24.0.bb @@ -0,0 +1,241 @@ +require rust.inc +require rust-source-${PV}.inc +require rust-snapshot-${PV}.inc + +SRC_URI += "file://rust-${PV}/0001-librustc-always-allow-unstable-options.patch" + +# 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.4 \ +crate://crates.io/ansi_term/0.10.2 \ +crate://crates.io/ar/0.3.1 \ +crate://crates.io/atty/0.2.3 \ +crate://crates.io/backtrace-sys/0.1.16 \ +crate://crates.io/backtrace/0.3.4 \ +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.4.0 \ +crate://crates.io/cc/1.0.3 \ +crate://crates.io/cfg-if/0.1.2 \ +crate://crates.io/clap/2.29.0 \ +crate://crates.io/cmake/0.1.29 \ +crate://crates.io/coco/0.1.1 \ +crate://crates.io/commoncrypto-sys/0.2.0 \ +crate://crates.io/commoncrypto/0.2.0 \ +crate://crates.io/compiletest_rs/0.3.3 \ +crate://crates.io/core-foundation-sys/0.4.6 \ +crate://crates.io/core-foundation/0.4.6 \ +crate://crates.io/crossbeam/0.2.10 \ +crate://crates.io/crossbeam/0.3.0 \ +crate://crates.io/crypto-hash/0.3.0 \ +crate://crates.io/cssparser-macros/0.3.0 \ +crate://crates.io/cssparser/0.13.7 \ +crate://crates.io/curl-sys/0.3.15 \ +crate://crates.io/curl/0.4.8 \ +crate://crates.io/dbghelp-sys/0.2.0 \ +crate://crates.io/debug_unreachable/0.1.1 \ +crate://crates.io/derive-new/0.5.0 \ +crate://crates.io/diff/0.1.11 \ +crate://crates.io/docopt/0.8.1 \ +crate://crates.io/dtoa/0.4.2 \ +crate://crates.io/duct/0.8.2 \ +crate://crates.io/either/1.4.0 \ +crate://crates.io/endian-type/0.1.2 \ +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.11.0 \ +crate://crates.io/error-chain/0.8.1 \ +crate://crates.io/failure/0.1.1 \ +crate://crates.io/failure_derive/0.1.1 \ +crate://crates.io/filetime/0.1.14 \ +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.2 \ +crate://crates.io/fuchsia-zircon-sys/0.3.2 \ +crate://crates.io/fuchsia-zircon/0.3.2 \ +crate://crates.io/futf/0.1.3 \ +crate://crates.io/futures/0.1.17 \ +crate://crates.io/getopts/0.2.15 \ +crate://crates.io/git2-curl/0.7.0 \ +crate://crates.io/git2/0.6.10 \ +crate://crates.io/glob/0.2.11 \ +crate://crates.io/globset/0.2.1 \ +crate://crates.io/hamcrest/0.1.1 \ +crate://crates.io/handlebars/0.29.1 \ +crate://crates.io/hex/0.2.0 \ +crate://crates.io/home/0.3.0 \ +crate://crates.io/html-diff/0.0.5 \ +crate://crates.io/html5ever/0.20.0 \ +crate://crates.io/idna/0.1.4 \ +crate://crates.io/if_chain/0.1.2 \ +crate://crates.io/ignore/0.2.2 \ +crate://crates.io/itertools/0.6.5 \ +crate://crates.io/itoa/0.3.4 \ +crate://crates.io/jobserver/0.1.8 \ +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/kuchiki/0.6.0 \ +crate://crates.io/languageserver-types/0.16.0 \ +crate://crates.io/lazy_static/0.2.11 \ +crate://crates.io/lazy_static/1.0.0 \ +crate://crates.io/lazycell/0.5.1 \ +crate://crates.io/libc/0.2.34 \ +crate://crates.io/libgit2-sys/0.6.18 \ +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/mac/0.1.1 \ +crate://crates.io/markup5ever/0.5.0 \ +crate://crates.io/matches/0.1.6 \ +crate://crates.io/mdbook/0.0.26 \ +crate://crates.io/memchr/0.1.11 \ +crate://crates.io/memchr/1.0.2 \ +crate://crates.io/memchr/2.0.1 \ +crate://crates.io/miniz-sys/0.1.10 \ +crate://crates.io/miow/0.2.1 \ +crate://crates.io/net2/0.2.31 \ +crate://crates.io/nibble_vec/0.0.3 \ +crate://crates.io/nix/0.8.1 \ +crate://crates.io/num-bigint/0.1.41 \ +crate://crates.io/num-complex/0.1.41 \ +crate://crates.io/num-integer/0.1.35 \ +crate://crates.io/num-iter/0.1.34 \ +crate://crates.io/num-rational/0.1.40 \ +crate://crates.io/num-traits/0.1.41 \ +crate://crates.io/num/0.1.41 \ +crate://crates.io/num_cpus/1.7.0 \ +crate://crates.io/open/1.2.1 \ +crate://crates.io/openssl-probe/0.1.2 \ +crate://crates.io/openssl-sys/0.9.23 \ +crate://crates.io/openssl/0.9.23 \ +crate://crates.io/os_pipe/0.5.1 \ +crate://crates.io/owning_ref/0.3.3 \ +crate://crates.io/parking_lot/0.5.3 \ +crate://crates.io/parking_lot_core/0.2.9 \ +crate://crates.io/percent-encoding/1.0.1 \ +crate://crates.io/pest/0.3.3 \ +crate://crates.io/phf/0.7.21 \ +crate://crates.io/phf_codegen/0.7.21 \ +crate://crates.io/phf_generator/0.7.21 \ +crate://crates.io/phf_shared/0.7.21 \ +crate://crates.io/pkg-config/0.3.9 \ +crate://crates.io/precomputed-hash/0.1.1 \ +crate://crates.io/procedural-masquerade/0.1.5 \ +crate://crates.io/psapi-sys/0.1.1 \ +crate://crates.io/pulldown-cmark/0.0.15 \ +crate://crates.io/pulldown-cmark/0.1.0 \ +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/racer/2.0.12 \ +crate://crates.io/radix_trie/0.1.2 \ +crate://crates.io/rand/0.3.19 \ +crate://crates.io/rayon-core/1.3.0 \ +crate://crates.io/rayon/0.9.0 \ +crate://crates.io/redox_syscall/0.1.32 \ +crate://crates.io/redox_termios/0.1.1 \ +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.3 \ +crate://crates.io/rls-analysis/0.10.0 \ +crate://crates.io/rls-data/0.14.0 \ +crate://crates.io/rls-rustc/0.1.1 \ +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/same-file/0.1.3 \ +crate://crates.io/scoped-tls/0.1.0 \ +crate://crates.io/scopeguard/0.1.2 \ +crate://crates.io/scopeguard/0.3.3 \ +crate://crates.io/selectors/0.18.0 \ +crate://crates.io/semver-parser/0.7.0 \ +crate://crates.io/semver/0.6.0 \ +crate://crates.io/semver/0.8.0 \ +crate://crates.io/serde/1.0.25 \ +crate://crates.io/serde_derive/1.0.25 \ +crate://crates.io/serde_derive_internals/0.18.1 \ +crate://crates.io/serde_ignored/0.0.4 \ +crate://crates.io/serde_json/1.0.8 \ +crate://crates.io/shared_child/0.2.1 \ +crate://crates.io/shell-escape/0.1.3 \ +crate://crates.io/siphasher/0.2.2 \ +crate://crates.io/smallvec/0.3.3 \ +crate://crates.io/smallvec/0.6.0 \ +crate://crates.io/socket2/0.2.4 \ +crate://crates.io/stable_deref_trait/1.0.0 \ +crate://crates.io/string_cache/0.6.2 \ +crate://crates.io/string_cache_codegen/0.4.0 \ +crate://crates.io/string_cache_shared/0.3.0 \ +crate://crates.io/strsim/0.6.0 \ +crate://crates.io/syn/0.11.11 \ +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.5 \ +crate://crates.io/tendril/0.4.0 \ +crate://crates.io/term/0.4.6 \ +crate://crates.io/termcolor/0.3.3 \ +crate://crates.io/termion/1.5.1 \ +crate://crates.io/textwrap/0.9.0 \ +crate://crates.io/thread-id/2.0.0 \ +crate://crates.io/thread_local/0.2.7 \ +crate://crates.io/thread_local/0.3.5 \ +crate://crates.io/time/0.1.39 \ +crate://crates.io/toml/0.2.1 \ +crate://crates.io/toml/0.4.5 \ +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/0.1.1 \ +crate://crates.io/unreachable/1.0.0 \ +crate://crates.io/url/1.6.0 \ +crate://crates.io/url_serde/0.2.0 \ +crate://crates.io/userenv-sys/0.2.0 \ +crate://crates.io/utf-8/0.7.1 \ +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-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.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"