community/rust: update to 1.48

This commit is contained in:
Dominic 2021-01-15 21:49:25 +01:00 committed by Rasmus Thomsen
parent dddbf2b18a
commit 4e24bf05c5
8 changed files with 62 additions and 41 deletions

View File

@ -0,0 +1,19 @@
From: Dominic Meiser <alpine@msrd0.de>
Date: Tue, 22 Dec 2020 23:31:28 +0100
Subject: [PATCH] Do not install libunwind source
This was added in rustc 1.48, but is incompatible with the Alpine Linux package since it removes all bundled
dependencies prior to building.
diff -Naur rustc-1.48.0-src.orig/src/bootstrap/dist.rs rustc-1.48.0-src/src/bootstrap/dist.rs
--- rustc-1.48.0-src.orig/src/bootstrap/dist.rs 2020-12-22 16:39:30.504249113 +0100
+++ rustc-1.48.0-src/src/bootstrap/dist.rs 2020-12-22 16:42:08.663006830 +0100
@@ -1016,7 +1016,7 @@
copy_src_dirs(
builder,
&builder.src,
- &["library", "src/llvm-project/libunwind"],
+ &["library"],
&[
// not needed and contains symlinks which rustup currently
// chokes on when unpacking.

View File

@ -4,10 +4,10 @@
# Contributor: Jeizsm <jeizsm@gmail.com>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=rust
pkgver=1.47.0
pkgver=1.48.0
_llvmver=10
_bootver=1.46.0
pkgrel=2
_bootver=1.47.0
pkgrel=0
pkgdesc="The Rust Programming Language"
url="https://www.rust-lang.org"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le"
@ -77,6 +77,7 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz
link-musl-dynamically.patch
musl-dont-use-crt-static.patch
0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
0007-do-not-install-libunwind-source.patch
"
builddir="$srcdir/rustc-$pkgver-src"
@ -308,15 +309,16 @@ _mv() {
mv "$@"
}
sha512sums="a6df9e2d599806eeddbfb35f7dea976781533f63d369a765b8a304221281c9f9e642ff952978f69eaaa0b28740ab5ea566b35ce481097c37fd5117bfec1f43dd rustc-1.47.0-src.tar.gz
d78e4aa25704ce7df5f7675f730ab5d8acf6549db956fe06e3dbf83f1aa75d6293271c54696f4d5defda10ad230b3d9710684875aec2b7dea5bbb9d0b5347096 musl-fix-linux_musl_base.patch
74198599c0bedfd4da5a90b4ccd72741005a5d66f54d948c590e7109f85b06dce268d6feb312973a9c7854f35a32964c316d4d303b7d973cd640786bdefdb79e musl-add-s390x-target.patch
803c426f67cfa2bca93bd31c6a5228fdbcd51027073d482ada2854bb68c683bb1320c5c4db0d62ec8054b8cbc7ccb41120894a89843d4eff62ea422ca92d7340 need-rpath.patch
7a8fd00e034e069dc83a0238ba43ba685de89681fc98df49ca2c52bbf404ece475372ad094a5b9fa28d4fd42c2efdd68f7016113124413287ab13d680043e7bb need-ssp_nonshared.patch
sha512sums="e28e5f0813cfd94fb92399a2d64aa19bdf0933b5fc768ea10da2a5b787c94bac6a5efb98b2c3702da3d1c46c6766b157df3727e5845b4b83a237b44ec45b27ba rustc-1.48.0-src.tar.gz
27fee1f78aa55c243289673ec46ae71209508a108ec033e4f14605b1a29e1c355e5e911589fb83190a1d75b09597211a7e14c4fb800ec2b14c410cf06726d15a musl-fix-linux_musl_base.patch
c5922b0b4da059c448d22b7379f8234ae5d8c3cec8288199fb0530c4462fba7c350219f2d69ec201b9c019b571f67352cd0fed9eef9b647ff9904507ea5526ec musl-add-s390x-target.patch
b049fe58119c2945d45e63af91e9953ca446a9ea951df7f906c5654fe9ed8d6a84c079514f773ebe7891dc96189238121535ccf022829288408b90ce385323ad need-rpath.patch
ea92aa35cdef2ea57779e4652f067b76c72ecfb7c5899e86a158790e635a6b8b99825f98224d07ccb3347a04fef64296c92621bbddaf5b03372d74976fd768f7 need-ssp_nonshared.patch
03a179e31c95f88a98fb1ba6b2fd0baaf9fe1a74ade76d3096fe45ddc5e453c25109355e667783d9be1bcc585445d07b7270cb3e6e403de971049714f2c6f91a alpine-move-py-scripts-to-share.patch
8a813c6b62bae0f559ba4c24f988239fc832a70707f3e744c94e65b041506baf55dd8152c4601a8a53c619221afb6942dd2ddd976f68c8fcb978f0b555a74337 alpine-target.patch
55f60e017467819e1a954269e60352c769f7e005f1be738a5eb23cc02504fc395c5a1662869f212638666a8422c0ce6ef0c4a350aeb7f1d27b5acdd0b1835e73 alpine-target.patch
7d59258d4462eba0207739a5c0c8baf1f19d9a396e5547bb4d59d700eb94d50ba6add2e523f3e94e29e993821018594625ea4ac86304fb58f7f8c82622a26ab0 install-template-shebang.patch
c31fdfe8a9b3411576c75da46645cf0465b9053000a2ab49cf9b2f2733f679d6d33acbf236d67a20e14935d094a685453b7f1840180249f39d610fd0902c3125 check-rustc
2a91c0d149f19a2268b2db8e375e0c10820529f588161d8d8e68900d929235d9b1cb4f0d64539c1e20ecca3948b4715f2d9d3d16a2754373d56b4b5808bed6bd link-musl-dynamically.patch
795194976763326c5e4a9eefc8b651b6d5fb533d2d000631ed48a92bafac90e9ca33b8d662e6c53ef109ea1a90c69def715d7d7154e3f9fb9035a58a313a7db3 musl-dont-use-crt-static.patch
1c5c04a20f70162b0a9576c0f3c679ca6934bdc991165c3d58e44cece4f19ca597c4a3865f570a92f8de156b401df3a2380b1418ccdf760965883a1df288ea7d 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch"
a08208efd92cb731d6c1ad04be6ee650f833073480ece530bbdeb16cc48c5d803b186bb52e0ae3175a9b8d3424798834a47fb1f63dcffcbd2ea213d24bce8fe2 musl-dont-use-crt-static.patch
1c5c04a20f70162b0a9576c0f3c679ca6934bdc991165c3d58e44cece4f19ca597c4a3865f570a92f8de156b401df3a2380b1418ccdf760965883a1df288ea7d 0006-Prefer-libgcc_eh-over-libunwind-for-musl.patch
7af23c34096f7a03c5a1b40aa07e00dd6193743c872881018a9baa900f240c6e44918e481ab5ed7787a70ef361e4aeec2a7719bcd695f52988262e23271b44e5 0007-do-not-install-libunwind-source.patch"

View File

@ -10,7 +10,7 @@ and distribution-specific quirks instead of polluting the main musl target of
`$arch-unknown-linux-musl`.
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/aarch64_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/aarch64_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -26,7 +26,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/armv6_alpine_linux_musleabihf.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/armv6_alpine_linux_musleabihf.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -42,7 +42,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/armv7_alpine_linux_musleabihf.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/armv7_alpine_linux_musleabihf.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -58,7 +58,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/i586_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/i586_alpine_linux_musl.rs
@@ -0,0 +1,14 @@
+use crate::spec::TargetResult;
+
@ -75,7 +75,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/mips64_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mips64_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -91,7 +91,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/mips64el_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mips64el_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -107,7 +107,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/mips_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mips_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -123,7 +123,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/mipsel_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mipsel_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -138,8 +138,8 @@ and distribution-specific quirks instead of polluting the main musl target of
+
+ Ok(base)
+}
--- rustc-1.47.0-src.orig/src/librustc_target/spec/mod.rs
+++ rustc-1.47.0-src/src/librustc_target/spec/mod.rs
--- rustc-1.48.0-src.orig/compiler/rustc_target/src/spec/mod.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mod.rs
@@ -490,6 +490,19 @@
}
@ -161,7 +161,7 @@ and distribution-specific quirks instead of polluting the main musl target of
("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/powerpc64_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/powerpc64_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -177,7 +177,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/powerpc64le_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/powerpc64le_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -193,7 +193,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/powerpc_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/powerpc_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -209,7 +209,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/s390x_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/s390x_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+
@ -225,7 +225,7 @@ and distribution-specific quirks instead of polluting the main musl target of
+ Ok(base)
+}
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/x86_64_alpine_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/x86_64_alpine_linux_musl.rs
@@ -0,0 +1,13 @@
+use crate::spec::TargetResult;
+

View File

@ -1,5 +1,5 @@
--- rustc-1.47.0-src.orig/src/librustc_target/spec/mod.rs
+++ rustc-1.47.0-src/src/librustc_target/spec/mod.rs
--- rustc-1.48.0-src.orig/compiler/rustc_target/src/spec/mod.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/mod.rs
@@ -510,6 +510,7 @@
("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl),
@ -9,7 +9,7 @@
("sparc64-unknown-linux-gnu", sparc64_unknown_linux_gnu),
("arm-unknown-linux-gnueabi", arm_unknown_linux_gnueabi),
--- /dev/null
+++ rustc-1.47.0-src/src/librustc_target/spec/s390x_unknown_linux_musl.rs
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs
@@ -0,0 +1,28 @@
+use crate::spec::{LinkerFlavor, Target, TargetResult};
+

View File

@ -1,8 +1,8 @@
We first have to build against upstream triplets, which by default use crt-static
linking. This won't build though, so let's just disable it, we disable it in our
triplets too.
--- rustc-1.28.0-src/src/librustc_target/spec/linux_musl_base.rs.orig 2018-10-08 21:02:21.588611506 +0200
+++ rustc-1.28.0-src/src/librustc_target/spec/linux_musl_base.rs 2018-10-08 21:02:40.846454873 +0200
--- rustc-1.48.0-src/compiler/rustc_target/src/spec/linux_musl_base.rs.orig 2018-10-08 21:02:21.588611506 +0200
+++ rustc-1.48.0-src/compiler/rustc_target/src/spec/linux_musl_base.rs 2018-10-08 21:02:40.846454873 +0200
@@ -61,7 +61,7 @@
base.post_link_objects_crt.push("crtn.o".to_string());

View File

@ -4,8 +4,8 @@ Subject: [PATCH] Fix linux_musl_base for native musl host
See https://github.com/rust-lang/rust/pull/40113
--- a/src/librustc_target/spec/linux_musl_base.rs
+++ b/src/librustc_target/spec/linux_musl_base.rs
--- a/compiler/rustc_target/src/spec/linux_musl_base.rs
+++ b/compiler/rustc_target/src/spec/linux_musl_base.rs
@@ -10,10 +10,6 @@
// argument is *not* necessary for normal builds, but it can't hurt!
base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,--eh-frame-hdr".to_string());

View File

@ -11,8 +11,8 @@ RPATH additions, but unfortunately there's no clean way to detect this.
As such, we have to resort to checking the `RUSTC_BOOTSTRAP` variable.
Hacky hacky!
--- a/src/librustc_target/spec/mod.rs
+++ b/src/librustc_target/spec/mod.rs
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -379,6 +379,8 @@
pub allows_weak_linkage: bool,
/// Whether the linker support rpaths or not. Defaults to false.
@ -46,8 +46,8 @@ Hacky hacky!
target_option_val!(no_default_libraries);
target_option_val!(position_independent_executables);
target_option_val!(static_position_independent_executables);
--- a/src/librustc_codegen_ssa/back/link.rs.orig 2019-05-23 17:57:22.587173355 +0200
+++ b/src/librustc_codegen_ssa/back/link.rs 2019-05-23 17:58:28.833841560 +0200
--- a/compiler/rustc_codegen_ssa/src/back/link.rs.orig
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -1018,7 +1018,10 @@
// FIXME (#2397): At some point we want to rpath our guesses as to
// where extern libraries might live, based on the

View File

@ -1,9 +1,9 @@
--- rustc-1.41.0-src/library/std/build.rs.orig 2020-02-08 17:05:40.390387794 +0200
+++ rustc-1.41.0-src/library/std/build.rs 2020-02-08 17:09:46.844426452 +0200
--- rustc-1.48.0-src/library/std/build.rs.orig 2020-02-08 17:05:40.390387794 +0200
+++ rustc-1.48.0-src/library/std/build.rs 2020-02-08 17:09:46.844426452 +0200
@@ -11,6 +11,8 @@
println!("cargo:rustc-link-lib=dl");
println!("cargo:rustc-link-lib=rt");
println!("cargo:rustc-link-lib=pthread");
println!("cargo:rustc-link-lib=log");
println!("cargo:rustc-link-lib=gcc");
+ } else {
+ println!("cargo:rustc-link-lib=ssp_nonshared");
}