diff --git a/mingw-w64-rust/0013-update-psm.patch b/mingw-w64-rust/0013-update-psm.patch deleted file mode 100644 index f0bedddb7cad0..0000000000000 --- a/mingw-w64-rust/0013-update-psm.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- rustc-1.83.0-src/Cargo.lock -+++ rustc-1.83.0-src/Cargo.lock -@@ -2842,9 +2842,9 @@ - - [[package]] - name = "psm" --version = "0.1.23" -+version = "0.1.24" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" -+checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" - dependencies = [ - "cc", - ] -diff -Nur rustc-1.83.0-src/vendor.orig/psm-0.1.24/.cargo-checksum.json rustc-1.83.0-src/vendor/psm-0.1.24/.cargo-checksum.json ---- rustc-1.83.0-src/vendor.orig/psm-0.1.24/.cargo-checksum.json 1969-12-31 16:00:00.000000000 -0800 -+++ rustc-1.83.0-src/vendor/psm-0.1.24/.cargo-checksum.json 2024-11-28 12:28:36.691597400 -0800 -@@ -0,0 +1 @@ -+{"files":{"Cargo.lock":"95e1fd3017cdd638fd822db04eb307c79d83baf3d129f8381806e69d5ed689db","Cargo.toml":"10c9340de427df36ae4c8cdeeb8b8a320f710f52c5150ea2d52de6ff8e5cb5f1","LICENSE-APACHE":"965a63a81d9a2fbeb5f9096954dabb49690f9dffcdac9825f675b25c807252a2","LICENSE-MIT":"3e3714aa69bd874601741fd7d7ad5298740cece37778e279fc1ab4451c5a11af","README.mkd":"973e82d1604900e47b087c81511d021c68ca296ba9ca92a3211b048482bac502","build.rs":"312beb17f9279b0ea8302fa1974f47cc9aaaa423bf4a027e80dea94da206c11d","examples/info.rs":"8ffb89912304ecbf3d714dcc094f42e86fdd0738625b2e76be2e7d59ab0736cf","examples/on_stack_fibo.rs":"287f0a08b177a97366a5da39e24e33e1f4bbe30a1f2473956721c8a9d93926a4","examples/on_stack_fibo_alloc_each_frame.rs":"e084041bbb81d51b195a4db539a765409272916df29c83a62213a93de4b6fca3","examples/panics.rs":"6791fe0dda9456b3becf989cbc89bc45ae27302e633572a57bbf10a57b830076","examples/replace_stack_1.rs":"374a28881f5e5dbf9db9b9e34929fb7a7e6f3910d782a6718f53ac269807b990","examples/thread.rs":"3cf92882aff96151608584d63535701cc8e5ae953d7ecf706d77371180bff025","src/arch/aarch64_armasm.asm":"1c737338287f3de981fbae97f104ac5e49425ba7fbcb4f7d80120afae47a86d5","src/arch/aarch_aapcs64.s":"fa3988af9f7466e263482c3fda872c82cea9a3a935c2d5f7c6d3807db5958094","src/arch/arm_aapcs.s":"4ada635e8528279bd0326654f5203b6bdc94dd68c94fdef5de551384ba1b1747","src/arch/arm_armasm.asm":"e3b514169f19368b0b49374412de38bd9f50576e7b93b64d685a0f84fa8f4c91","src/arch/loongarch64.s":"8bcdca0741c0cfd164e4541e0eaf00c80ca156479cd8a9c617bd388797551d5e","src/arch/mips64_eabi.s":"4e6f95f89ba72fc4dd1a9a547920764f66d98251d236941cee4d227010484520","src/arch/mips_eabi.s":"8b7927fd63660eb276e2951f28df6b11920f04be4dc17a16b66ad386da12c4c3","src/arch/powerpc32.s":"0b508a65dec7254ba2e0dc65a2c9e86c21069fe62f5d7c41f5190415a4885912","src/arch/powerpc64.s":"c1602d09d12ba1df48fc96af0f827f8679fc93cee728813527fb1b817a788911","src/arch/powerpc64_aix.s":"79af120692de207ea9e78efca92127ed1b522dcac62f6d17ed48f88458203a01","src/arch/powerpc64_openpower.s":"421b11cc7381427d1e2acb4e681c9836ccfea0b79930492f0a99ec4d27495e58","src/arch/psm.h":"2cebda3740aa73b167b8ec18e3d2202ca46e400a081a46329b86051abd1a872a","src/arch/riscv.s":"81a40bd95f7e93990725c5872dbef90d4844af05b15b910dde05787bdcf8482b","src/arch/riscv64.s":"5a60ac5df014152cb7630121bf97b143075211a738717993c17a70ea9519ac49","src/arch/sparc64.s":"6250acbd938aea2e440061663a79fbb2dac0592b3a193f027b6b910e2a8e3af1","src/arch/sparc_sysv.s":"c2da7576e1fbe2234cc8a5cf937f7676e125435295f8c32089bfa0b0f27fde5e","src/arch/wasm32.o":"d7279f419cb7e169cae2af2463507652e0393b801c2f4580244de70d3def58b6","src/arch/wasm32.s":"1ebdc90de48f13e6474ee17c406578fc090ff61e57c1f560ecf6e6b75c7ef10a","src/arch/x86.s":"1919a4af1474895f904ed4281a4a8fcdd0428dab257bff4ea262db83ed63b445","src/arch/x86_64.s":"656090fce2301392350d19fb36d6bcee893d637400c7dd4ac42e154b815361b8","src/arch/x86_64_msvc.asm":"85683bc65a03371ea7d8d79dcbe487f690cc2460c359817fc63c30d575ad8957","src/arch/x86_64_windows_gnu.s":"44637034e094ec0ad76dbe1232e97271c8155eb93bcb1dd86fe825acd05978a0","src/arch/x86_msvc.asm":"1735d4b19f8e46d0699fc9538baa7ab0885d27531ef7d9960e2027ad8137769b","src/arch/x86_windows_gnu.s":"b94d907a86f230c5c8ca1c708ede173f73c5269496f3959e08e4a92155e160d7","src/arch/zseries_linux.s":"5c3379a76e31bf13abf240efda12596fabce108cf63f60f9d0495e82ab8f1717","src/lib.rs":"0a9aa69a3b47cf2f572f9fe46f247e5db011e43f8960a3e6695a324ccf32287b","tests/stack_direction.rs":"77d8f9dee196e99e70d569f59fef82bc2f88a8ec17bfe07ebe2f005fcb815c8b","tests/stack_direction_2.rs":"f9191394de5b6381af6ba8223e7717230059dc335f639238c0ddbc7eb87bfc0e"},"package":"200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810"} -\ No newline at end of file diff --git a/mingw-w64-rust/0014-update-cc.patch b/mingw-w64-rust/0014-update-cc.patch deleted file mode 100644 index 3778e72b3ac07..0000000000000 --- a/mingw-w64-rust/0014-update-cc.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- a/library/Cargo.lock -+++ b/library/Cargo.lock -@@ -42,9 +42,9 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - - [[package]] - name = "cc" --version = "1.1.22" -+version = "1.2.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" -+checksum = "1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8" - dependencies = [ - "shlex", - ] -diff --git a/library/profiler_builtins/Cargo.toml b/library/profiler_builtins/Cargo.toml -index f94ea9a6cda28..9aadefce3b39e 100644 ---- a/library/profiler_builtins/Cargo.toml -+++ b/library/profiler_builtins/Cargo.toml -@@ -13,5 +13,4 @@ core = { path = "../core" } - compiler_builtins = { version = "0.1.0", features = ['rustc-dep-of-std'] } - - [build-dependencies] --# FIXME: Pinned due to build error when bumped (#132556) --cc = "=1.1.22" -+cc = "1.2" ---- a/src/bootstrap/Cargo.lock -+++ b/src/bootstrap/Cargo.lock -@@ -84,9 +84,9 @@ - - [[package]] - name = "cc" --version = "1.1.22" -+version = "1.2.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" -+checksum = "1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8" - dependencies = [ - "shlex", - ] ---- a/src/bootstrap/Cargo.toml -+++ b/src/bootstrap/Cargo.toml -@@ -37,7 +37,7 @@ - # Most of the time updating these dependencies requires modifications to the - # bootstrap codebase(e.g., https://github.com/rust-lang/rust/issues/124565); - # otherwise, some targets will fail. That's why these dependencies are explicitly pinned. --cc = "=1.1.22" -+cc = "=1.2.0" - cmake = "=0.1.48" - - build_helper = { path = "../build_helper" } ---- rustc-1.84.0-src/vendor.orig/cc-1.2.0/.cargo-checksum.json -+++ rustc-1.84.0-src/vendor/cc-1.2.0/.cargo-checksum.json -@@ -0,0 +1 @@ -+{"files":{"CHANGELOG.md":"fb0a3bcb34301d2578bef86feabe93057068cb1906a7f10b584f58ff6123e8c6","Cargo.lock":"b661254fadca74408d53742755b371f7ae29e501e851aeae13bcd14a51883321","Cargo.toml":"50debe1b2fc050e8b305bdd514509d98cdbc59e96e5f10888df4b6fca19d3a75","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"b766a70e39b8ea7bb57afd288bcac205a23f6a26ac5619cb1d5b10f70c5dfdea","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/lib.rs":"221ba9475100303b5c694b2a02e5353452ee08a29e4e4d4d67ea8fcbd87605df","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"018a01cb00182270bbcb68e31e7a7c5c621a95f086e4c68cfa2bf557ac24e5f2","src/parallel/mod.rs":"bd9c1334d17d138c281961c690b8d8118a2d6295a7d6cd7296826255436fa063","src/parallel/stderr.rs":"74384d41198740a6fce0877f144262db09fb091225fa8fbfa771314bb11487c6","src/target.rs":"7313240db078ad85c1209a42a5fa96c3692b5d6e5093c7f366a1b99677247109","src/target/apple.rs":"6afbecac9f66aa72db55694413532f80b2753f28466a6213d1aa901a03c78bcd","src/target/generated.rs":"af067e1c291e895ddb591f92534eed0c48977cdb2b58f8239423e07c6de31cd3","src/target/llvm.rs":"e1db4a7fb8b905ee9853781f2fcc64a9d3b48154e4c8b6cb12f5373c5935da6e","src/target/parser.rs":"4f2129a24273d62bf8ab339098e7f758e4e42b0df369dd2b0eb1b20726be91f8","src/tempfile.rs":"ebafb5b0e5d08b0706916ed911d4245240e60c3e2d0c9a1630c520842988a2b3","src/tool.rs":"2e6550062e021f2b394388172bbb01e86fe6a94d2395bcb3c85a9e86690da1a9","src/utilities.rs":"52b30b24a1c31cdefb105309ee5220cfc9fca76eaf4e6d6509c3e19f431448fe","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"0ff410bd71f08ee88e99609c15be5f1bc16ad7bd07a83918d13a70c8465642e2","src/windows/mod.rs":"34cfa201cfbcac7ccaa3ea5295d3e4200439af3cc5c6433baf81502596040a89","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"946527cf8fd32c3472f6a2884dcdec290763101097334c7478f9c24c3950db6b","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"e2714c8307bfa083b9745eb0e46cadd7f98d7b88abf45a7637172019324e34b8","src/windows/windows_targets.rs":"5b4648ebc22b028caca9f4b4bf8881fe2d094b7bec217264ba2e6e2c49d1ccee"},"package":"1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8"} -\ No newline at end of file diff --git a/mingw-w64-rust/PKGBUILD b/mingw-w64-rust/PKGBUILD index 21f5c16d8697e..289c1fe805979 100644 --- a/mingw-w64-rust/PKGBUILD +++ b/mingw-w64-rust/PKGBUILD @@ -9,14 +9,15 @@ if [[ $MINGW_PACKAGE_PREFIX == *-clang-* ]]; then fi rust_dist_server=https://static.rust-lang.org/dist -#rust_dist_server=https://dev-static.rust-lang.org/dist/2025-01-07 +#rust_dist_server=https://dev-static.rust-lang.org/dist/2025-02-17 _realname=rust pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" - $([[ ${CARCH} == i686 ]] || echo "${MINGW_PACKAGE_PREFIX}-rust-wasm") - "${MINGW_PACKAGE_PREFIX}-rust-src") -pkgver=1.84.1 + $([[ ${CARCH} == i686 ]] || echo \ + "${MINGW_PACKAGE_PREFIX}-rust-wasm" \ + "${MINGW_PACKAGE_PREFIX}-rust-src")) +pkgver=1.85.0 pkgrel=1 pkgdesc="Systems programming language focused on safety, speed and concurrency (mingw-w64)" arch=('any') @@ -43,26 +44,17 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-zstd" "${MINGW_PACKAGE_PREFIX}-zlib") source=("${rust_dist_server}/${_realname}c-${pkgver}-src.tar.gz"{,.asc} - "cc-1.2.0.tar.gz::https://crates.io/api/v1/crates/cc/1.2.0/download" - "psm-0.1.24.tar.gz::https://crates.io/api/v1/crates/psm/0.1.24/download" "config.toml" "0001-rustc-llvm-fix-libs.patch" "0004-compiler-Use-wasm-ld-for-wasm-targets.patch" - "0008-disable-self-contained-for-gnu-targets.patch" - # remove after 1.85.0 update - "0013-update-psm.patch" - "0014-update-cc.patch") + "0008-disable-self-contained-for-gnu-targets.patch") noextract=(${_realname}c-${pkgver}-src.tar.gz) -sha256sums=('5e2fb5d49628a549f7671b2ccf9855ab379fd442831a7c2af16e0cdcc31bb375' +sha256sums=('2f4f3142ffb7c8402139cfa0796e24baaac8b9fd3f96b2deec3b94b4045c6a8a' 'SKIP' - '1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8' - '200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810' - '9ae64f78af216795bfa31acb8f9a8c2e9ed0e66f61f6565a8b89b58a8dab93b8' + '13b35c27aeaddb7a4105c26f9386d19650806b86ea4da546c29767402ca4cfa0' '7cb1773c288ffb1c1e751edc49b1890c84bf9c362742bc5225d19d474edb73a0' '56882f1a0f1404c10c7726d6cc37444f2b343e72b969badfcb43760f80db0f32' - '98bc3f2bd7371a5b8d14fd7b03bf05574e206d1d9e52bcfbe66d71398504da3c' - '602481687fa580eb426c619f673128702c800e91d4f476fcbaf48b86a7a1b963' - '482bf5599150faba207dfb389e8d1c4a6a6b2b7574e1ec0c2239563b7e2b0c35') + '98bc3f2bd7371a5b8d14fd7b03bf05574e206d1d9e52bcfbe66d71398504da3c') validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE' # Rust Language (Tag and Release Signing Key) '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg @@ -90,33 +82,23 @@ apply_patch_with_msg() { } # =========================================== # +# Make sure the duplication in rust-wasm is found +COMPRESSZST+=(--long) + prepare() { plain "Extracting ${_realname}c-${pkgver}-src.tar.gz" tar -xzf ${_realname}c-${pkgver}-src.tar.gz || true - # use latest version of psm to fix arm64 build - rm -r ${_realname}c-${pkgver}-src/vendor/psm-0.1.23 - mv psm-0.1.24 ${_realname}c-${pkgver}-src/vendor/psm-0.1.24 - # use more fresh version of cc to fix `wasm32v1-none` build - mv cc-1.2.0 ${_realname}c-${pkgver}-src/vendor/cc-1.2.0 - # 0008-disable-self-contained-for-gnu-targets.patch allows self-contained for non-windows-gnu targets cd ${_realname}c-${pkgver}-src apply_patch_with_msg \ 0001-rustc-llvm-fix-libs.patch \ 0008-disable-self-contained-for-gnu-targets.patch - apply_patch_with_msg \ - 0013-update-psm.patch - if [[ ${CARCH} != i686 ]]; then apply_patch_with_msg \ 0004-compiler-Use-wasm-ld-for-wasm-targets.patch fi - - # update cc dependency for library and bootstrap to fix compilation for `wasm32v1-none` target - apply_patch_with_msg \ - 0014-update-cc.patch } build() { @@ -179,11 +161,6 @@ build() { sed -i '/target = \[/a\ "wasm32-unknown-unknown", "wasm32v1-none", "wasm32-wasip1", "wasm32-wasip1-threads", "wasm32-wasip2",' config.toml fi - # Enable CFGuard for gnullvm - if [[ $MINGW_PACKAGE_PREFIX == *-clang-* ]]; then - sed -i "s/^#control-flow-guard/control-flow-guard/g" config.toml - fi - local -a _rust_build=() _rust_build+=("--stage" "2") #_rust_build+=("--verbose") @@ -244,12 +221,17 @@ package_rust-wasm() { depends=("${MINGW_PACKAGE_PREFIX}-lld" "${MINGW_PACKAGE_PREFIX}-rust" "${MINGW_PACKAGE_PREFIX}-wasm-component-ld") - # object files provided for wasm32-* targets can't be stripped with MSYS2 toolchain + # strip wasm object files manually due to binutils' lack of support options=('!strip') cd "${_realname}c-${pkgver}-src/build-${MSYSTEM}" cp -a dest-wasm/* "${pkgdir}" + + pushd "${pkgdir}${MINGW_PREFIX}"/lib/rustlib + llvm-strip --strip-debug wasm32*/lib/*.rlib + popd + install -Dm644 ../LICENSE-{APACHE,MIT} -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}-wasm" } diff --git a/mingw-w64-rust/config.toml b/mingw-w64-rust/config.toml index b3ae767530777..030e5113dfe98 100644 --- a/mingw-w64-rust/config.toml +++ b/mingw-w64-rust/config.toml @@ -2,7 +2,7 @@ profile = "dist" # see src/bootstrap/src/utils/change_tracker.rs -change-id = 133207 +change-id = 134650 [build] #cargo = "$MINGW_PREFIX/bin/cargo.exe" @@ -51,9 +51,9 @@ llvm-tools = false codegen-tests = false deny-warnings = false backtrace-on-ice = true -# FIXME: CFG can be enabled only for MSVC and LLVM targets as for -# https://github.com/rust-lang/rust/pull/74103 and https://github.com/rust-lang/rust/pull/132965 -#control-flow-guard = true +# FIXME: Control Flow Guard works only on gnullvm targets, in other cases it's ignored +# https://github.com/rust-lang/rust/pull/132965 +control-flow-guard = true [dist] compression-formats = ["gz"] @@ -66,6 +66,7 @@ cxx = "$MINGW_PREFIX/bin/c++.exe" ar = "$MINGW_PREFIX/bin/ar.exe" ranlib = "$MINGW_PREFIX/bin/ranlib.exe" llvm-config = "$MINGW_PREFIX/bin/llvm-config.exe" +crt-static = true [target.wasm32-unknown-unknown] cc = "$MINGW_PREFIX/bin/clang.exe"