From b7f9c1d0d7358a8ff3570235db786688aa49ee66 Mon Sep 17 00:00:00 2001 From: Steven Walter Date: Mon, 31 Aug 2020 11:37:55 -0400 Subject: [PATCH] Add rust 1.46.0 --- recipes-devtools/rust/libstd-rs_1.46.0.bb | 8 +++++++ recipes-devtools/rust/rust-cross_1.46.0.bb | 2 ++ recipes-devtools/rust/rust-llvm_1.46.0.bb | 16 +++++++++++++ .../rust/rust-snapshot-1.46.0.inc | 24 +++++++++++++++++++ recipes-devtools/rust/rust-source-1.46.0.inc | 11 +++++++++ recipes-devtools/rust/rust.inc | 2 ++ recipes-devtools/rust/rust_1.46.0.bb | 12 ++++++++++ 7 files changed, 75 insertions(+) create mode 100644 recipes-devtools/rust/libstd-rs_1.46.0.bb create mode 100644 recipes-devtools/rust/rust-cross_1.46.0.bb create mode 100644 recipes-devtools/rust/rust-llvm_1.46.0.bb create mode 100644 recipes-devtools/rust/rust-snapshot-1.46.0.inc create mode 100644 recipes-devtools/rust/rust-source-1.46.0.inc create mode 100644 recipes-devtools/rust/rust_1.46.0.bb diff --git a/recipes-devtools/rust/libstd-rs_1.46.0.bb b/recipes-devtools/rust/libstd-rs_1.46.0.bb new file mode 100644 index 0000000..69cb48a --- /dev/null +++ b/recipes-devtools/rust/libstd-rs_1.46.0.bb @@ -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" diff --git a/recipes-devtools/rust/rust-cross_1.46.0.bb b/recipes-devtools/rust/rust-cross_1.46.0.bb new file mode 100644 index 0000000..ddc25d3 --- /dev/null +++ b/recipes-devtools/rust/rust-cross_1.46.0.bb @@ -0,0 +1,2 @@ +require rust-cross.inc +require rust-source-${PV}.inc diff --git a/recipes-devtools/rust/rust-llvm_1.46.0.bb b/recipes-devtools/rust/rust-llvm_1.46.0.bb new file mode 100644 index 0000000..ac77a4b --- /dev/null +++ b/recipes-devtools/rust/rust-llvm_1.46.0.bb @@ -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" +} diff --git a/recipes-devtools/rust/rust-snapshot-1.46.0.inc b/recipes-devtools/rust/rust-snapshot-1.46.0.inc new file mode 100644 index 0000000..62cfa63 --- /dev/null +++ b/recipes-devtools/rust/rust-snapshot-1.46.0.inc @@ -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.45.2" + +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.46.1" +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[rust-std-snapshot-x86_64.md5sum] = "cb78b0da8ded02b9b80b58d608b58ef8" +SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "02309322467af8e37256ccf1f064f5233c7fca4423dffde0bd5eb32cde46942a" +SRC_URI[rustc-snapshot-x86_64.md5sum] = "e32ae176d4f35935ffe39b477a3ded2a" +SRC_URI[rustc-snapshot-x86_64.sha256sum] = "0be5c8506fd9317c7d0dc8044b5fef8501caa74f88a9a22be795d68362dc57f6" +SRC_URI[cargo-snapshot-x86_64.md5sum] = "89f06274bbd387d7e7f5476011a61f34" +SRC_URI[cargo-snapshot-x86_64.sha256sum] = "a27eb5d47b520ef2c554605bf789f80652af63531b4f6a1195d61b3dfd0f6e9c" diff --git a/recipes-devtools/rust/rust-source-1.46.0.inc b/recipes-devtools/rust/rust-source-1.46.0.inc new file mode 100644 index 0000000..640a273 --- /dev/null +++ b/recipes-devtools/rust/rust-source-1.46.0.inc @@ -0,0 +1,11 @@ +SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust" + +SRC_URI[rust.md5sum] = "4e3a58429c20e45385e592b0975698dc" +SRC_URI[rust.sha256sum] = "865dae1290a205f16ded8818c6a0254cc32862985fc250a602a70285b7d92b82" + +# 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" diff --git a/recipes-devtools/rust/rust.inc b/recipes-devtools/rust/rust.inc index d6d961d..f1e9f5f 100644 --- a/recipes-devtools/rust/rust.inc +++ b/recipes-devtools/rust/rust.inc @@ -477,6 +477,8 @@ rust_do_install () { mkdir -p ${D}${libdir}/rustlib cp -pRd build/${HOST_SYS}/stage2/lib/* ${D}${libdir} + # Remove absolute symlink so bitbake doesn't complain + rm -f ${D}${libdir}/rustlib/src/rust # Install our custom target.json files local td="${D}${libdir}/rustlib/" diff --git a/recipes-devtools/rust/rust_1.46.0.bb b/recipes-devtools/rust/rust_1.46.0.bb new file mode 100644 index 0000000..c7f9f4f --- /dev/null +++ b/recipes-devtools/rust/rust_1.46.0.bb @@ -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"