Skip to content

Commit

Permalink
rust: update to 1.77.1 (#20397)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
filnet and jeremyd2019 committed Apr 3, 2024
1 parent e8701c3 commit e1c807c
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 29 deletions.
3 changes: 2 additions & 1 deletion mingw-w64-libc++/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ _version=18.1.2
_rc=""
_tag=llvmorg-${_version}${_rc}
pkgver=${_version}${_rc/-/}
pkgrel=1
pkgrel=2
arch=(any)
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://libcxx.llvm.org/"
Expand Down Expand Up @@ -119,6 +119,7 @@ build() {
-DLIBCXXABI_ENABLE_SHARED=OFF \
-DLIBCXXABI_ENABLE_STATIC=ON \
-DLIBCXXABI_HAS_WIN32_THREAD_API=ON \
-DLIBUNWIND_ENABLE_FRAME_APIS=ON \
-DLIBUNWIND_ENABLE_SHARED=ON \
-DLIBUNWIND_ENABLE_STATIC=ON \
"${_extra_config[@]}" \
Expand Down
24 changes: 12 additions & 12 deletions mingw-w64-rust/0011-disable-uac-for-installer.patch
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
diff -urN rustc-1.72.0-src/Cargo.lock.orig rustc-1.72.0-src/Cargo.lock
--- rustc-1.72.0-src/Cargo.lock.orig 2023-08-21 16:57:17.000000000 +0200
+++ rustc-1.72.0-src/Cargo.lock 2023-08-23 14:37:30.805984900 +0200
@@ -323,6 +323,7 @@
version = "0.1.0"
dependencies = [
"anyhow",
+ "embed-manifest",
"flate2",
"hex",
"rayon",
@@ -986,6 +987,12 @@
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]]
Expand All @@ -22,6 +14,14 @@ diff -urN rustc-1.72.0-src/Cargo.lock.orig rustc-1.72.0-src/Cargo.lock
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
Expand Down
5 changes: 5 additions & 0 deletions mingw-w64-rust/0012-vendor-embed-manifest.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
diff -Nur rustc-1.77.0-src/vendor.orig/embed-manifest/.cargo-checksum.json rustc-1.77.0-src/vendor/embed-manifest/.cargo-checksum.json
--- rustc-1.77.0-src/vendor.orig/embed-manifest/.cargo-checksum.json 1969-12-31 16:00:00.000000000 -0800
+++ rustc-1.77.0-src/vendor/embed-manifest/.cargo-checksum.json 2024-03-25 11:10:27.791701600 -0700
@@ -0,0 +1 @@
+{"files":{"CHANGELOG.md":"3b9d90277c0bb06de10a31110f3c7eea58802f2d090266631e32161f2d9c8562","Cargo.toml":"56b4fc99ece4667fd2eb8fe971070e2dc9774efa4221a9d63ffe98a7ee74642e","LICENSE":"d041a5a86caaf9cc7720f3637d689252083a664d9ccd946a36d1c7c708d204cb","README.md":"8cf8a7b20cfb7fa43c4ee9585bf92ea6c5a5c4ca3ef700974edb02025d5146c8","rustfmt.toml":"d364003c8da50e2707b7c01140c170098bac682b3f94ff98057f4ce74a18e62a","sample.exe.manifest":"01e80ef76de2b628d452c7e80022654b9e0c8aee72ec64ee522c7083d835f4df","src/embed/coff.rs":"0ea7bfb9f5135843221912078bfd83a4f424a13cf5a610b25c4275a400484fcc","src/embed/error.rs":"aecb4928e70b02b784557352608f6d4fb9b88b44ae3297a33969a0f2219c416c","src/embed/mod.rs":"0c2df4c80a4b9818f4de8e54074098d195eea19bcdd0858097416e67c733c4d9","src/embed/test.rs":"d527b7ce78bd9672057f2f9e2e268b48ffa40ad909fd6ffd119650d5244cf4a9","src/lib.rs":"ff1e87d48bb9549764e5322c54184934da08127f5187ede0db7f138544b00711","src/manifest/mod.rs":"432f4bbf330fe7c5d57876ba38cd789b6a1cd55f5c1cf408674ed153db8293a5","src/manifest/xml.rs":"1bce12120e17a49da43eabbd1b04f712b3f6ece7fcbca9186319e301890e20c5"},"package":"40ff574b0b0a794f8995383bb83f21f8f99214422cae791cb48d66da524b00f7"}

0 comments on commit e1c807c

Please sign in to comment.