Files
MINGW-packages/mingw-w64-rust/0011-disable-uac-for-installer.patch
Philippe Renon e1c807c481 rust: update to 1.77.1 (#20397)
* 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>
2024-04-03 15:55:04 -07:00

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"