commit 988394be37e087fc0ab852cbcf745eb3bc225def
parent a2ef0fde3a13536a2b697ff3e830287d3ad5f914
Author: Cem Keylan <cem@ckyln.com>
Date: Mon, 3 Feb 2020 01:45:53 +0300
rust: bump to 1.41.0
Diffstat:
6 files changed, 92 insertions(+), 142 deletions(-)
diff --git a/extra/rust/build b/extra/rust/build
@@ -5,15 +5,15 @@
# connection requirement per build further enabling checksums
# and signature verification by KISS.
{
- cache_dir=build/cache/2019-11-07
+ cache_dir=build/cache/2019-12-19
mkdir -p "$cache_dir"
- for tarball in *.tar.gz\?no-extract; do
+ for tarball in *.tar.xz\?no-extract; do
mv -f "$tarball" "$cache_dir/${tarball%%\?no-extract}"
done
}
-patch -p1 < musl-libressl.patch
+patch -p1 < musl.patch
# 'rust' checksums files in 'vendor/', but we patch a few files.
for vendor in libc openssl-sys; do
diff --git a/extra/rust/checksums b/extra/rust/checksums
@@ -1,5 +1,5 @@
-dd97005578defc10a482bff3e4e728350d2099c60ffcf1f5e189540c39a549ad rustc-1.40.0-src.tar.gz
-9c6b49e161e53c174b4fd46825a96b78854cfbcd0971ce846d4edd33c2b5f275 rust-std-1.39.0-x86_64-unknown-linux-musl.tar.gz?no-extract
-07a9705dd77c6859ef921389dc6a958a297030e53571fe015163c79aa93d1e43 rustc-1.39.0-x86_64-unknown-linux-musl.tar.gz?no-extract
-c3a04bfe988f84dc4bffd8b4fef29f2ad461483fd22e4bf329d2189e16213d0c cargo-0.40.0-x86_64-unknown-linux-musl.tar.gz?no-extract
-bc6a567b76c3186ac868c13831c402c595015ad48e047387b32f833af460f7fa musl-libressl.patch
+38d6742e5c4c98a835de5d6e12a209e442fb3078a03b2c01bab6ea7afb25be6f rustc-1.41.0-src.tar.xz
+c647bb7f399b3d18e345b2dab1fb073470582a9298e83d8648f6661544df7279 rust-std-1.40.0-x86_64-unknown-linux-musl.tar.xz?no-extract
+769b9e31557fcc0ea2a661f88b679d3dbd62b537807c7b3c75ac6816a1be4fa3 rustc-1.40.0-x86_64-unknown-linux-musl.tar.xz?no-extract
+848646326474392bdac70a5bfa06efda4c36e2bbbf088f07456f98c7575844e1 cargo-0.41.0-x86_64-unknown-linux-musl.tar.xz?no-extract
+bb6f561f1a6ddd15b32126a024f3b0a4f66555797c1ebd6d1d17b7d604a083ae musl.patch
diff --git a/extra/rust/patches/musl-libressl.patch b/extra/rust/patches/musl-libressl.patch
@@ -1,128 +0,0 @@
-diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
-index 8e5fe25..0d3e27e 100644
---- a/src/bootstrap/compile.rs
-+++ b/src/bootstrap/compile.rs
-@@ -136,7 +136,7 @@ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target:
- // with a glibc-targeting toolchain, given we have the appropriate startup
- // files. As those shipped with glibc won't work, copy the ones provided by
- // musl so we have them on linux-gnu hosts.
-- if target.contains("musl") {
-+ if target.contains("noop") {
- let srcdir = builder.musl_root(target).unwrap().join("lib");
- for &obj in &["crt1.o", "crti.o", "crtn.o"] {
- copy_and_stamp(&srcdir, obj);
-diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
-index bffe748f3..40f9f597f 100644
---- a/src/bootstrap/sanity.rs
-+++ b/src/bootstrap/sanity.rs
-@@ -188,7 +188,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 e294e6398..17fecb3b2 100644
---- a/src/librustc_target/spec/linux_musl_base.rs
-+++ b/src/librustc_target/spec/linux_musl_base.rs
-@@ -26,7 +26,7 @@ pub fn opts() -> TargetOptions {
- base.post_link_objects_crt.push("crtn.o".to_string());
-
- // 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 f24d957d6..4632212fd 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.
- 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 8d9164471..3adaaf43d 100644
---- a/src/libunwind/lib.rs
-+++ b/src/libunwind/lib.rs
-@@ -20,7 +20,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 {}
-diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs
-index 721d24116..26bf271cd 100644
---- a/vendor/libc/src/unix/mod.rs
-+++ b/vendor/libc/src/unix/mod.rs
-@@ -296,7 +296,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/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
-index 02b93b90a..27deca5fe 100644
---- a/vendor/openssl-sys/build/main.rs
-+++ b/vendor/openssl-sys/build/main.rs
-@@ -183,27 +183,30 @@ See rust-openssl README for more information:
- if let Some(libressl_version) = libressl_version {
- println!("cargo:libressl_version_number={:x}", libressl_version);
-
-+ let major = (libressl_version >> 28) as u8;
- let minor = (libressl_version >> 20) as u8;
- let fix = (libressl_version >> 12) as u8;
-- let (minor, fix) = match (minor, fix) {
-- (5, 0) => ('5', '0'),
-- (5, 1) => ('5', '1'),
-- (5, 2) => ('5', '2'),
-- (5, _) => ('5', 'x'),
-- (6, 0) => ('6', '0'),
-- (6, 1) => ('6', '1'),
-- (6, 2) => ('6', '2'),
-- (6, _) => ('6', 'x'),
-- (7, _) => ('7', 'x'),
-- (8, 0) => ('8', '0'),
-- (8, 1) => ('8', '1'),
-- (8, _) => ('8', 'x'),
-- (9, 0) => ('9', '0'),
-+ let (major, minor, fix) = match (major, minor, fix) {
-+ (2, 5, 0) => ('2', '5', '0'),
-+ (2, 5, 1) => ('2', '5', '1'),
-+ (2, 5, 2) => ('2', '5', '2'),
-+ (2, 5, _) => ('2', '5', 'x'),
-+ (2, 6, 0) => ('2', '6', '0'),
-+ (2, 6, 1) => ('2', '6', '1'),
-+ (2, 6, 2) => ('2', '6', '2'),
-+ (2, 6, _) => ('2', '6', 'x'),
-+ (2, 7, _) => ('2', '7', 'x'),
-+ (2, 8, 0) => ('2', '8', '0'),
-+ (2, 8, 1) => ('2', '8', '1'),
-+ (3, 0, _) => ('3', '0', 'x'),
-+ (2, 9, 0) => ('2', '9', '0'),
-+ (2, 9, _) => ('2', '9', 'x'),
-+ (3, 0, 0) => ('3', '0', '0'),
- _ => version_error(),
- };
-
- println!("cargo:libressl=true");
-- println!("cargo:libressl_version=2{}{}", minor, fix);
-+ println!("cargo:libressl_version={}{}{}", major, minor, fix);
- println!("cargo:version=101");
- Version::Libressl
- } else {
diff --git a/extra/rust/patches/musl.patch b/extra/rust/patches/musl.patch
@@ -0,0 +1,78 @@
+diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
+index 8e5fe25..0d3e27e 100644
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -136,7 +136,7 @@ fn copy_third_party_objects(builder: &Builder<'_>, compiler: &Compiler, target:
+ // with a glibc-targeting toolchain, given we have the appropriate startup
+ // files. As those shipped with glibc won't work, copy the ones provided by
+ // musl so we have them on linux-gnu hosts.
+- if target.contains("musl") {
++ if target.contains("noop") {
+ let srcdir = builder.musl_root(target).unwrap().join("lib");
+ for &obj in &["crt1.o", "crti.o", "crtn.o"] {
+ copy_and_stamp(&srcdir, obj);
+diff --git a/src/bootstrap/sanity.rs b/src/bootstrap/sanity.rs
+index bffe748f3..40f9f597f 100644
+--- a/src/bootstrap/sanity.rs
++++ b/src/bootstrap/sanity.rs
+@@ -188,7 +188,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 e294e6398..17fecb3b2 100644
+--- a/src/librustc_target/spec/linux_musl_base.rs
++++ b/src/librustc_target/spec/linux_musl_base.rs
+@@ -26,7 +26,7 @@ pub fn opts() -> TargetOptions {
+ base.post_link_objects_crt.push("crtn.o".to_string());
+
+ // 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 f24d957d6..4632212fd 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.
+ 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 8d9164471..3adaaf43d 100644
+--- a/src/libunwind/lib.rs
++++ b/src/libunwind/lib.rs
+@@ -20,7 +20,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 {}
+diff --git a/vendor/libc/src/unix/mod.rs b/vendor/libc/src/unix/mod.rs
+index 721d24116..26bf271cd 100644
+--- a/vendor/libc/src/unix/mod.rs
++++ b/vendor/libc/src/unix/mod.rs
+@@ -296,7 +296,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/extra/rust/sources b/extra/rust/sources
@@ -1,5 +1,5 @@
-https://static.rust-lang.org/dist/rustc-1.40.0-src.tar.gz
-https://static.rust-lang.org/dist/2019-11-07/rust-std-1.39.0-x86_64-unknown-linux-musl.tar.gz?no-extract
-https://static.rust-lang.org/dist/2019-11-07/rustc-1.39.0-x86_64-unknown-linux-musl.tar.gz?no-extract
-https://static.rust-lang.org/dist/2019-11-07/cargo-0.40.0-x86_64-unknown-linux-musl.tar.gz?no-extract
-patches/musl-libressl.patch
+https://static.rust-lang.org/dist/rustc-1.41.0-src.tar.xz
+https://static.rust-lang.org/dist/2019-12-19/rust-std-1.40.0-x86_64-unknown-linux-musl.tar.xz?no-extract
+https://static.rust-lang.org/dist/2019-12-19/rustc-1.40.0-x86_64-unknown-linux-musl.tar.xz?no-extract
+https://static.rust-lang.org/dist/2019-12-19/cargo-0.41.0-x86_64-unknown-linux-musl.tar.xz?no-extract
+patches/musl.patch
diff --git a/extra/rust/version b/extra/rust/version
@@ -1 +1 @@
-1.40.0 1
+1.41.0 1