diff --git a/mingw-w64-rust/0007-clang-subsystem.patch b/mingw-w64-rust/0007-clang-subsystem.patch index 2a1d11fa0e..8cb0bd5a50 100644 --- a/mingw-w64-rust/0007-clang-subsystem.patch +++ b/mingw-w64-rust/0007-clang-subsystem.patch @@ -55,8 +55,8 @@ diff -urN rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/crt_objects.rs ru pub(super) fn pre_wasi_self_contained() -> CrtObjects { diff -urN rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs rustc-1.65.0-src/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs ---- rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs 2022-11-09 21:53:40.404728900 +0100 -+++ rustc-1.65.0-src/compiler/rustc_target/src/spec/i686_pc_windows_gnu.rs 2022-11-09 22:07:46.188364200 +0100 +--- rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/targets/i686_pc_windows_gnu.rs 2022-11-09 21:53:40.404728900 +0100 ++++ rustc-1.65.0-src/compiler/rustc_target/src/spec/targets/i686_pc_windows_gnu.rs 2022-11-09 22:07:46.188364200 +0100 @@ -5,7 +5,7 @@ base.cpu = "pentium4".into(); base.max_atomic_width = Some(64); @@ -66,15 +66,13 @@ diff -urN rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/i686_pc_windows_g // Mark all dynamic libraries and executables as compatible with the larger 4GiB address // space available to x86 Windows binaries on x86_64. -diff -urN rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs.orig rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs ---- rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs.orig 2022-12-12 17:02:12.000000000 +0100 -+++ rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs 2022-12-16 19:16:58.493546900 +0100 -@@ -24,31 +24,10 @@ - ], - ); +$ diff -urN rustc-1.75.0-src/compiler/rustc_target/src/spec/base/windows_gnu.rs.orig rustc-1.75.0-src/compiler/rustc_target/src/spec/base/windows_gnu.rs +--- rustc-1.75.0-src/compiler/rustc_target/src/spec/base/windows_gnu.rs.orig 2023-12-21 17:55:28.000000000 +0100 ++++ rustc-1.75.0-src/compiler/rustc_target/src/spec/base/windows_gnu.rs 2023-12-22 17:29:48.415890500 +0100 +@@ -27,29 +27,14 @@ -- // Order of `late_link_args*` was found through trial and error to work with various -- // mingw-w64 versions (not tested on the CI). It's expected to change from time to time. + // Order of `late_link_args*` was found through trial and error to work with various + // mingw-w64 versions (not tested on the CI). It's expected to change from time to time. - let mingw_libs = &[ - "-lmsvcrt", - "-lmingwex", @@ -91,9 +89,10 @@ diff -urN rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs.or - "-luser32", - "-lkernel32", - ]; -- let mut late_link_args = -- TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), mingw_libs); -- super::add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs); ++ let mingw_libs = &[]; + let mut late_link_args = + TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), mingw_libs); + add_link_args(&mut late_link_args, LinkerFlavor::Gnu(Cc::Yes, Lld::No), mingw_libs); // If any of our crates are dynamically linked then we need to use // the shared libgcc_s-dw2-1.dll. This is required to support // unwinding across DLL boundaries. @@ -101,8 +100,8 @@ diff -urN rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs.or + let dynamic_unwind_libs = &["-l:libunwind.dll.a"]; let mut late_link_args_dynamic = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), dynamic_unwind_libs); - super::add_link_args( -@@ -61,7 +40,7 @@ + add_link_args( +@@ -62,7 +47,7 @@ // binaries to be redistributed without the libgcc_s-dw2-1.dll // dependency, but unfortunately break unwinding across DLL // boundaries when unwinding across FFI boundaries. @@ -110,8 +109,8 @@ diff -urN rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs.or + let static_unwind_libs = &["-l:libunwind.a"]; let mut late_link_args_static = TargetOptions::link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), static_unwind_libs); - super::add_link_args( -@@ -75,7 +54,8 @@ + add_link_args( +@@ -76,7 +61,8 @@ env: "gnu".into(), vendor: "pc".into(), // FIXME(#13846) this should be enabled for windows @@ -120,18 +119,10 @@ diff -urN rustc-1.66.0-src/compiler/rustc_target/src/spec/windows_gnu_base.rs.or + no_default_libraries: false, linker: Some("gcc".into()), dynamic_linking: true, - dll_prefix: "".into(), -@@ -90,7 +70,6 @@ - pre_link_objects_self_contained: crt_objects::pre_mingw_self_contained(), - post_link_objects_self_contained: crt_objects::post_mingw_self_contained(), - link_self_contained: LinkSelfContainedDefault::Mingw, -- late_link_args, - late_link_args_dynamic, - late_link_args_static, - abi_return_struct_as_int: true, + dll_tls_export: false, diff -urN rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs rustc-1.65.0-src/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs ---- rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs 2022-11-09 21:53:40.408733200 +0100 -+++ rustc-1.65.0-src/compiler/rustc_target/src/spec/x86_64_pc_windows_gnu.rs 2022-11-09 22:07:46.192364800 +0100 +--- rustc-1.65.0-src.orig/compiler/rustc_target/src/spec/targets/x86_64_pc_windows_gnu.rs 2022-11-09 21:53:40.408733200 +0100 ++++ rustc-1.65.0-src/compiler/rustc_target/src/spec/targets/x86_64_pc_windows_gnu.rs 2022-11-09 22:07:46.192364800 +0100 @@ -7,7 +7,7 @@ base.add_pre_link_args(LinkerFlavor::Ld, &["-m", "i386pep", "--high-entropy-va"]); base.add_pre_link_args(LinkerFlavor::Gcc, &["-m64", "-Wl,--high-entropy-va"]); diff --git a/mingw-w64-rust/0008-disable-self-contained.patch b/mingw-w64-rust/0008-disable-self-contained.patch index b9e6e2ab75..946a5ab2bf 100644 --- a/mingw-w64-rust/0008-disable-self-contained.patch +++ b/mingw-w64-rust/0008-disable-self-contained.patch @@ -1,13 +1,12 @@ ---- rustc-1.72.0-src/compiler/rustc_codegen_ssa/src/back/link.rs.orig 2023-08-23 13:20:55.586469700 +0200 -+++ rustc-1.72.0-src/compiler/rustc_codegen_ssa/src/back/link.rs 2023-08-23 13:33:55.439370400 +0200 -@@ -1687,7 +1687,10 @@ +--- rustc-1.75.0-src/compiler/rustc_codegen_ssa/src/back/link.rs.orig 2023-12-21 17:55:28.000000000 +0100 ++++ rustc-1.75.0-src/compiler/rustc_codegen_ssa/src/back/link.rs 2023-12-22 13:17:31.361178700 +0100 +@@ -1708,7 +1708,9 @@ /// Various toolchain components used during linking are used from rustc distribution /// instead of being found somewhere on the host system. /// We only provide such support for a very limited number of targets. +#[allow(warnings)] - fn self_contained(sess: &Session, crate_type: CrateType) -> bool { -+ return false; -+ - if let Some(self_contained) = sess.opts.cg.link_self_contained.explicitly_set { - if sess.target.link_self_contained == LinkSelfContainedDefault::False { - sess.emit_err(errors::UnsupportedLinkSelfContained); + fn self_contained_components(sess: &Session, crate_type: CrateType) -> LinkSelfContainedComponents { ++ return LinkSelfContainedComponents::empty(); + // Turn the backwards compatible bool values for `self_contained` into fully inferred + // `LinkSelfContainedComponents`. + let self_contained = diff --git a/mingw-w64-rust/PKGBUILD b/mingw-w64-rust/PKGBUILD index 6b6c1faacb..826ae5e255 100644 --- a/mingw-w64-rust/PKGBUILD +++ b/mingw-w64-rust/PKGBUILD @@ -12,7 +12,7 @@ _realname=rust pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-rust-docs") -pkgver=1.74.1 +pkgver=1.75.0 pkgrel=1 pkgdesc="Systems programming language focused on safety, speed and concurrency (mingw-w64)" arch=('any') @@ -43,12 +43,12 @@ source=("https://static.rust-lang.org/dist/${_realname}c-${pkgver}-src.tar.gz"{, "0008-disable-self-contained.patch" "0011-disable-uac-for-installer.patch") noextract=(${_realname}c-${pkgver}-src.tar.gz) -sha256sums=('67db3e22fc9921c885baae5953ba144fc474cde29ec69ab56d43ce764206231d' +sha256sums=('5b739f45bc9d341e2d1c570d65d2375591e22c2d23ef5b8a37711a0386abc088' 'SKIP' '7cb1773c288ffb1c1e751edc49b1890c84bf9c362742bc5225d19d474edb73a0' '7d1c4e49524b835a8eadc961b39f5594b12a522a1e24368999be2c7e85399e4e' - '3388c413fffeeaa84f775a176b1653b360ffba7b0c0a6f5baa0c3a95aec8827a' - '18cec22c596b0a30b96d0bcb078f2c1e5eaf995a002dbfdbe073ec1a2400dbb7' + 'e60f5ef0d96502ae1e9348172d348b2ca20bde017e37a9ad6e9f5899872d02b7' + '7a3b5722ff576b0661f36796f088dee4ce318b5dbc3fdcd65b48972de68a0edf' 'e7c13f738c670f3d5ce1742eff71e15bb6675ebe86a58dee44d6a58541bdd5a8') validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE' # Rust Language (Tag and Release Signing Key) '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard