* rust: update to 1.77.1 * libc++: enable frame apis in libunwind. The bootstrapping hack used by the rust package on clang subsystems (namely, substituting compiler-rt and libunwind for libgcc and using the official gcc-based binaries to bootstrap) attempts to link to __register_frame_info and __deregister_frame_info on i686. Enabling this option brings them back. * rust: backport rust-lang/compiler-builtins#575 Also, fix 0011 patch to Cargo.lock (it was adding the embed-manifest dependency to the wrong crate due to fuzziness), and vendor embed-manifest. This allows CLANG32 to build with --enable-vendor, which is required to use our now-patched version of compiler-builtins. Note the 67c1c0a71a204c089ddae4aec21ec75aa778c11b commit was *not* the version merged upstream, but *is* the version that does not fail on either MINGW32 or CLANG32. * rust: enable uac patch for all clang prefixes. It turns out to be required on i686 *and* aarch64, but shouldn't hurt on x86_64 either. --------- Co-authored-by: Jeremy Drake <github@jdrake.com>
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
diff -urN rustc-1.77.0-src/Cargo.lock.orig rustc-1.77.0-src/Cargo.lock
|
|
--- rustc-1.77.0-src/Cargo.lock.orig 2024-03-17 12:03:00.000000000 -0700
|
|
+++ rustc-1.77.0-src/Cargo.lock 2024-03-25 11:14:51.855058900 -0700
|
|
@@ -1211,6 +1211,12 @@
|
|
]
|
|
|
|
[[package]]
|
|
+name = "embed-manifest"
|
|
+version = "1.3.1"
|
|
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
+checksum = "40ff574b0b0a794f8995383bb83f21f8f99214422cae791cb48d66da524b00f7"
|
|
+
|
|
+[[package]]
|
|
name = "ena"
|
|
version = "0.14.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
@@ -2011,6 +2017,7 @@
|
|
dependencies = [
|
|
"anyhow",
|
|
"clap",
|
|
+ "embed-manifest",
|
|
"flate2",
|
|
"rayon",
|
|
"tar",
|
|
diff -urN rustc-1.64.0-src.orig/src/tools/rust-installer/build.rs rustc-1.64.0-src/src/tools/rust-installer/build.rs
|
|
--- rustc-1.64.0-src.orig/src/tools/rust-installer/build.rs 1970-01-01 01:00:00.000000000 +0100
|
|
+++ rustc-1.64.0-src/src/tools/rust-installer/build.rs 2022-11-08 00:18:24.231485300 +0100
|
|
@@ -0,0 +1,8 @@
|
|
+use embed_manifest::{embed_manifest, new_manifest};
|
|
+
|
|
+fn main() {
|
|
+ if std::env::var_os("CARGO_CFG_WINDOWS").is_some() {
|
|
+ embed_manifest(new_manifest("Rust.Installer")).expect("unable to embed manifest file");
|
|
+ }
|
|
+ println!("cargo:rerun-if-changed=build.rs");
|
|
+}
|
|
diff -urN rustc-1.72.0-src/src/tools/rust-installer/Cargo.toml.orig rustc-1.72.0-src/src/tools/rust-installer/Cargo.toml
|
|
--- rustc-1.72.0-src/src/tools/rust-installer/Cargo.toml.orig 2023-08-23 14:21:29.268698100 +0200
|
|
+++ rustc-1.72.0-src/src/tools/rust-installer/Cargo.toml 2023-08-23 14:26:37.013614900 +0200
|
|
@@ -21,3 +21,6 @@
|
|
[dependencies.clap]
|
|
features = ["derive"]
|
|
version = "4.2"
|
|
+
|
|
+[build-dependencies]
|
|
+embed-manifest = "1.3.1"
|