diff --git a/extra/rust/build b/extra/rust/build index cb0dd819..ef4327e6 100755 --- a/extra/rust/build +++ b/extra/rust/build @@ -8,7 +8,7 @@ done # bootstrap library to allow for the removal of the internet # connection requirement per build. { - mkdir -p "${cache_dir:=build/cache/2020-06-04}" + mkdir -p "${cache_dir:=build/cache/2020-08-03}" for tarball in *.tar.xz\?no-extract; do mv -f "$tarball" "$cache_dir/${tarball%%\?no-extract}" diff --git a/extra/rust/checksums b/extra/rust/checksums index 1949418a..944ded52 100644 --- a/extra/rust/checksums +++ b/extra/rust/checksums @@ -1,6 +1,6 @@ -f8412adac2f5d974b2f06c5bd4be7361084d18a678d098bf05de5ccfa57b74a9 rustc-1.45.2-src.tar.xz -ff43c33836d5a56ce8089f8a0b101cbb12f130374e9631acdcc00f5f051f6429 rust-std-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract -f023a98493b3617f3eecbc0744c88a9b4d4e1a8ac105d0cf50a9c191018facf6 rustc-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract -d5d2a23e9cf67d0564cdfcb11fbca9c68719061c4a8581aa80f0e38617a609aa cargo-0.45.0-x86_64-unknown-linux-musl.tar.xz?no-extract -13261c1288dd7ad3e376162041db017a0e2bcbcb77f974c0bc9bd0681361213e musl.patch -903880513dc61427bfedcd99c9b8a4b8156952b9cc5c486e29e5d5a2a77b484a libressl-3.1.X.patch +865dae1290a205f16ded8818c6a0254cc32862985fc250a602a70285b7d92b82 +e8081032d53baa129c41c4c2bfb025648ac321c9c809f377110f8a26f7ce1cdb +9a971ff29e01243b08f6f3c220ab5d608489637a6b5d81ba2e8a78007901ced0 +895a3b6928a5bf7b1ac28c339a85ddd078dd719f54245b8d845370baf8255368 +f878342018a41aaf591ace0c47e07db9d480fc56b176003bd51648d17e3878fc +341a4e9e2bb0f1e62cfcd52e87e3e311c0653b38d994c64ca96555657bb8c529 diff --git a/extra/rust/patches/libressl-3.1.X.patch b/extra/rust/patches/libressl-3.1.X.patch index c382cfb9..2e8a9208 100644 --- a/extra/rust/patches/libressl-3.1.X.patch +++ b/extra/rust/patches/libressl-3.1.X.patch @@ -10,7 +10,7 @@ index 162e11a66..9f3544313 100644 + (3, 1, 1) => ('3', '1', '0'), + (3, 1, _) => ('3', '1', 'x'), + (3, 2, 0) => ('3', '2', '0'), -+ (3, 2, 1) => ('3', '2', '0'), ++ (3, 2, 1) => ('3', '2', '1'), + (3, 2, _) => ('3', '2', 'x'), _ => version_error(), }; diff --git a/extra/rust/patches/musl.patch b/extra/rust/patches/musl.patch index d3d90ef8..54c35153 100644 --- a/extra/rust/patches/musl.patch +++ b/extra/rust/patches/musl.patch @@ -1,18 +1,18 @@ diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index b3999118e..f809a8e99 100644 +index 9b4926f28..8555d904b 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs -@@ -132,7 +132,7 @@ fn copy_third_party_objects( +@@ -176,7 +176,7 @@ fn copy_self_contained_objects( // to using gcc from a glibc-targeting toolchain for linking. // To do that we have to distribute musl startup objects as a part of Rust toolchain // and link with them manually in the self-contained mode. - if target.contains("musl") { + if target.contains("noop") { - let srcdir = builder.musl_root(target).unwrap().join("lib"); + let srcdir = builder.musl_libdir(target).unwrap(); for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] { - copy_and_stamp(&srcdir, obj); + copy_and_stamp( diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs -index 74b47d077..b700f8a09 100644 +index 3301d41cf..1c9e0083a 100644 --- a/src/bootstrap/sanity.rs +++ b/src/bootstrap/sanity.rs @@ -192,7 +192,7 @@ pub fn check(build: &mut Build) { @@ -25,10 +25,10 @@ index 74b47d077..b700f8a09 100644 // fall back to the system toolchain in /usr before giving up if build.musl_root(*target).is_none() && build.config.build == *target { diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs -index 0fdd87608..63f00585f 100644 +index b90e91d29..ad098a47e 100644 --- a/src/librustc_target/spec/linux_musl_base.rs +++ b/src/librustc_target/spec/linux_musl_base.rs -@@ -15,7 +15,7 @@ pub fn opts() -> TargetOptions { +@@ -9,7 +9,7 @@ pub fn opts() -> TargetOptions { base.crt_objects_fallback = Some(CrtObjectsFallback::Musl); // These targets statically link libc by default @@ -38,11 +38,11 @@ index 0fdd87608..63f00585f 100644 base.crt_static_respected = true; diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs -index 146263925..c9aa30e2d 100644 +index 31d235cf6..1ebec47ed 100644 --- a/src/libunwind/build.rs +++ b/src/libunwind/build.rs -@@ -10,7 +10,7 @@ fn main() { - // Build the unwinding from libunwind C/C++ source code. +@@ -12,7 +12,7 @@ fn main() { + } else if target.contains("x86_64-fortanix-unknown-sgx") { llvm_libunwind::compile(); } else if target.contains("linux") { - if target.contains("musl") { @@ -64,10 +64,10 @@ index cc025da1a..0506db514 100644 #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] extern "C" {} diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs -index 1084d9aa9..085c7ff9e 100644 +index 55b892f7e..e03ce90e2 100644 --- a/vendor/libc/src/unix/mod.rs +++ b/vendor/libc/src/unix/mod.rs -@@ -302,7 +302,7 @@ cfg_if! { +@@ -298,7 +298,7 @@ cfg_if! { } else if #[cfg(feature = "std")] { // cargo build, don't pull in anything extra as the libstd dep // already pulls in all libs. diff --git a/extra/rust/sources b/extra/rust/sources index 63d3f979..d31f1956 100644 --- a/extra/rust/sources +++ b/extra/rust/sources @@ -1,6 +1,6 @@ -https://static.rust-lang.org/dist/rustc-1.45.2-src.tar.xz -https://static.rust-lang.org/dist/2020-06-04/rust-std-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract -https://static.rust-lang.org/dist/2020-06-04/rustc-1.44.0-x86_64-unknown-linux-musl.tar.xz?no-extract -https://static.rust-lang.org/dist/2020-06-04/cargo-0.45.0-x86_64-unknown-linux-musl.tar.xz?no-extract +https://static.rust-lang.org/dist/rustc-1.46.0-src.tar.xz +https://static.rust-lang.org/dist/2020-08-03/rust-std-1.45.2-x86_64-unknown-linux-musl.tar.xz?no-extract +https://static.rust-lang.org/dist/2020-08-03/rustc-1.45.2-x86_64-unknown-linux-musl.tar.xz?no-extract +https://static.rust-lang.org/dist/2020-08-03/cargo-0.46.1-x86_64-unknown-linux-musl.tar.xz?no-extract patches/musl.patch patches/libressl-3.1.X.patch diff --git a/extra/rust/version b/extra/rust/version index 6662aeb5..8c3df8ce 100644 --- a/extra/rust/version +++ b/extra/rust/version @@ -1 +1 @@ -1.45.2 1 +1.46.0 1 diff --git a/testing/rust/build b/testing/rust/build deleted file mode 100755 index ef4327e6..00000000 --- a/testing/rust/build +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh -e - -for patch in *.patch; do - patch -p1 < "$patch" -done - -# This package mimics the download process of rust's 'x.py' -# bootstrap library to allow for the removal of the internet -# connection requirement per build. -{ - mkdir -p "${cache_dir:=build/cache/2020-08-03}" - - for tarball in *.tar.xz\?no-extract; do - mv -f "$tarball" "$cache_dir/${tarball%%\?no-extract}" - done -} - -# 'rust' checksums files in 'vendor/', but we patch a few. -for vendor in libc openssl-sys; do - sed -i 's/\("files":{\)[^}]*/\1/' "vendor/$vendor/.cargo-checksum.json" -done - -cat > config.toml < ('3', '0', '0'), - (3, 0, 1) => ('3', '0', '1'), - (3, 0, _) => ('3', '0', 'x'), -+ (3, 1, 0) => ('3', '1', '0'), -+ (3, 1, 1) => ('3', '1', '0'), -+ (3, 1, _) => ('3', '1', 'x'), -+ (3, 2, 0) => ('3', '2', '0'), -+ (3, 2, 1) => ('3', '2', '1'), -+ (3, 2, _) => ('3', '2', 'x'), - _ => version_error(), - }; - diff --git a/testing/rust/patches/musl.patch b/testing/rust/patches/musl.patch deleted file mode 100644 index 54c35153..00000000 --- a/testing/rust/patches/musl.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs -index 9b4926f28..8555d904b 100644 ---- a/src/bootstrap/compile.rs -+++ b/src/bootstrap/compile.rs -@@ -176,7 +176,7 @@ fn copy_self_contained_objects( - // to using gcc from a glibc-targeting toolchain for linking. - // To do that we have to distribute musl startup objects as a part of Rust toolchain - // and link with them manually in the self-contained mode. -- if target.contains("musl") { -+ if target.contains("noop") { - let srcdir = builder.musl_libdir(target).unwrap(); - for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] { - copy_and_stamp( -diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs -index 3301d41cf..1c9e0083a 100644 ---- a/src/bootstrap/sanity.rs -+++ b/src/bootstrap/sanity.rs -@@ -192,7 +192,7 @@ pub fn check(build: &mut Build) { - } - - // Make sure musl-root is valid -- if target.contains("musl") { -+ if target.contains("noop") { - // If this is a native target (host is also musl) and no musl-root is given, - // fall back to the system toolchain in /usr before giving up - if build.musl_root(*target).is_none() && build.config.build == *target { -diff --git a/src/librustc_target/spec/linux_musl_base.rs b/src/librustc_target/spec/linux_musl_base.rs -index b90e91d29..ad098a47e 100644 ---- a/src/librustc_target/spec/linux_musl_base.rs -+++ b/src/librustc_target/spec/linux_musl_base.rs -@@ -9,7 +9,7 @@ pub fn opts() -> TargetOptions { - base.crt_objects_fallback = Some(CrtObjectsFallback::Musl); - - // These targets statically link libc by default -- base.crt_static_default = true; -+ base.crt_static_default = false; - // These targets allow the user to choose between static and dynamic linking. - base.crt_static_respected = true; - -diff --git a/src/libunwind/build.rs b/src/libunwind/build.rs -index 31d235cf6..1ebec47ed 100644 ---- a/src/libunwind/build.rs -+++ b/src/libunwind/build.rs -@@ -12,7 +12,7 @@ fn main() { - } else if target.contains("x86_64-fortanix-unknown-sgx") { - llvm_libunwind::compile(); - } else if target.contains("linux") { -- if target.contains("musl") { -+ if target.contains("noop") { - // linking for musl is handled in lib.rs - llvm_libunwind::compile(); - } else if !target.contains("android") { -diff --git a/src/libunwind/lib.rs b/src/libunwind/lib.rs -index cc025da1a..0506db514 100644 ---- a/src/libunwind/lib.rs -+++ b/src/libunwind/lib.rs -@@ -18,7 +18,7 @@ cfg_if::cfg_if! { - } - } - --#[cfg(target_env = "musl")] -+#[cfg(target_env = "noop")] - #[link(name = "unwind", kind = "static", cfg(target_feature = "crt-static"))] - #[link(name = "gcc_s", cfg(not(target_feature = "crt-static")))] - extern "C" {} -diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs -index 55b892f7e..e03ce90e2 100644 ---- a/vendor/libc/src/unix/mod.rs -+++ b/vendor/libc/src/unix/mod.rs -@@ -298,7 +298,7 @@ cfg_if! { - } else if #[cfg(feature = "std")] { - // cargo build, don't pull in anything extra as the libstd dep - // already pulls in all libs. -- } else if #[cfg(target_env = "musl")] { -+ } else if #[cfg(target_env = "noop")] { - #[cfg_attr(feature = "rustc-dep-of-std", - link(name = "c", kind = "static", - cfg(target_feature = "crt-static")))] diff --git a/testing/rust/sources b/testing/rust/sources deleted file mode 100644 index d31f1956..00000000 --- a/testing/rust/sources +++ /dev/null @@ -1,6 +0,0 @@ -https://static.rust-lang.org/dist/rustc-1.46.0-src.tar.xz -https://static.rust-lang.org/dist/2020-08-03/rust-std-1.45.2-x86_64-unknown-linux-musl.tar.xz?no-extract -https://static.rust-lang.org/dist/2020-08-03/rustc-1.45.2-x86_64-unknown-linux-musl.tar.xz?no-extract -https://static.rust-lang.org/dist/2020-08-03/cargo-0.46.1-x86_64-unknown-linux-musl.tar.xz?no-extract -patches/musl.patch -patches/libressl-3.1.X.patch diff --git a/testing/rust/version b/testing/rust/version deleted file mode 100644 index 8c3df8ce..00000000 --- a/testing/rust/version +++ /dev/null @@ -1 +0,0 @@ -1.46.0 1