Date: Friday, January 27, 2023 @ 16:53:52
  Author: heftig
Revision: 467446

1.67.0-2: fix mesa build, fix debug symbols, reformat

Added:
  rust/trunk/0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch
Modified:
  rust/trunk/PKGBUILD

---------------------------------------------------------------+
 0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch |   26 ++
 PKGBUILD                                                      |   90 ++++++++--
 2 files changed, 101 insertions(+), 15 deletions(-)

Added: 0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch
===================================================================
--- 0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch               
                (rev 0)
+++ 0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch       
2023-01-27 16:53:52 UTC (rev 467446)
@@ -0,0 +1,26 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: bjorn3 <[email protected]>
+Date: Fri, 27 Jan 2023 11:48:36 +0000
+Subject: [PATCH] Revert back to LlvmArchiveBuilder on all platforms
+
+ArArchiveBuilder doesn't support reading thin archives, causing a
+regression.
+---
+ compiler/rustc_codegen_llvm/src/back/archive.rs | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/compiler/rustc_codegen_llvm/src/back/archive.rs 
b/compiler/rustc_codegen_llvm/src/back/archive.rs
+index 0aee1a1439b9..2cf2f585f214 100644
+--- a/compiler/rustc_codegen_llvm/src/back/archive.rs
++++ b/compiler/rustc_codegen_llvm/src/back/archive.rs
+@@ -108,7 +108,9 @@ fn build(mut self: Box<Self>, output: &Path) -> bool {
+ 
+ impl ArchiveBuilderBuilder for LlvmArchiveBuilderBuilder {
+     fn new_archive_builder<'a>(&self, sess: &'a Session) -> Box<dyn 
ArchiveBuilder<'a> + 'a> {
+-        if sess.target.arch == "wasm32" || sess.target.arch == "wasm64" {
++        // FIXME use ArArchiveBuilder on most targets again once reading thin 
archives is
++        // implemented
++        if true || sess.target.arch == "wasm32" || sess.target.arch == 
"wasm64" {
+             Box::new(LlvmArchiveBuilder { sess, additions: Vec::new() })
+         } else {
+             Box::new(ArArchiveBuilder::new(sess, get_llvm_object_symbols))

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-01-27 15:17:40 UTC (rev 467445)
+++ PKGBUILD    2023-01-27 16:53:52 UTC (rev 467446)
@@ -8,16 +8,41 @@
 pkgname=(rust lib32-rust-libs rust-musl rust-wasm rust-src)
 epoch=1
 pkgver=1.67.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Systems programming language focused on safety, speed and concurrency"
 url=https://www.rust-lang.org/
 arch=(x86_64)
 license=(MIT Apache)
-options=(!emptydirs !lto)
-depends=(gcc-libs llvm-libs curl libssh2 gcc)
-makedepends=(rust llvm libffi lib32-gcc-libs perl python cmake musl ninja
-             wasi-libc lld)
-checkdepends=(procps-ng gdb)
+options=(
+  !debug
+  !emptydirs
+  !lto
+  !strip
+)
+depends=(
+  curl
+  gcc
+  gcc-libs
+  libssh2
+  llvm-libs
+)
+makedepends=(
+  cmake
+  lib32-gcc-libs
+  libffi
+  lld
+  llvm
+  musl
+  ninja
+  perl
+  python
+  rust
+  wasi-libc
+)
+checkdepends=(
+  gdb
+  procps-ng
+)
 source=(
   "https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz"{,.asc}
   0001-cargo-Change-libexec-dir.patch
@@ -24,6 +49,7 @@
   0001-bootstrap-Change-libexec-dir.patch
   0002-compiler-Change-LLVM-targets.patch
   0003-compiler-Use-wasm-ld-for-wasm-targets.patch
+  0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch
 )
 sha256sums=('d029f14fce45a2ec7a9a605d2a0a40aae4739cb2fdae29ee9f7a6e9025a7fde4'
             'SKIP'
@@ -30,7 +56,8 @@
             'b2ef8c3bca5d72ed58ff8930e69947602f875a639c2b01de5943b1ecb1b5c3c3'
             '6a4e09671cd96a854cf0fc9a1f43651ac5a0fdc8dca571730131ae272b630cfe'
             'e32fd355330e6c1ca4f0c630a3e254d261c48516128243a5d5d49f612cd217ed'
-            'f83bf98daee94d3e592fd2d96eecc25dc92b6b20575a3e3df7841a90a5b9f965')
+            'f83bf98daee94d3e592fd2d96eecc25dc92b6b20575a3e3df7841a90a5b9f965'
+            '307c1ea2a7394ee166bc48fe3ba3d9e940dbd38d33d56824300407518df011cf')
 validpgpkeys=(108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE  # Rust Language (Tag 
and Release Signing Key) <[email protected]>
               474E22316ABF4785A88C6E8EA2C794A986419D8A) # Tom Stellard 
<[email protected]>
 
@@ -48,6 +75,11 @@
   # Use our wasm-ld
   patch -Np1 -i ../0003-compiler-Use-wasm-ld-for-wasm-targets.patch
 
+  # Fix mesa build
+  # https://github.com/rust-lang/rust/issues/107334
+  # https://github.com/rust-lang/rust/pull/107360
+  patch -Np1 -i 
../0004-Revert-back-to-LlvmArchiveBuilder-on-all-platforms.patch
+
   cat >config.toml <<END
 changelog-seen = 2
 profile = "user"
@@ -68,7 +100,15 @@
 rustfmt = "/usr/bin/rustfmt"
 locked-deps = true
 vendor = true
-tools = ["cargo", "rls", "clippy", "rustfmt", "analysis", "src", 
"rust-demangler"]
+tools = [
+  "cargo",
+  "rls",
+  "clippy",
+  "rustfmt",
+  "analysis",
+  "src",
+  "rust-demangler",
+]
 sanitizers = true
 profiler = true
 
@@ -169,11 +209,25 @@
 }
 
 package_rust() {
-  optdepends=('lldb: rust-lldb script'
-              'gdb: rust-gdb script')
-  provides=(cargo rustfmt)
-  conflicts=(cargo rustfmt 'rust-docs<1:1.56.1-3')
-  replaces=(cargo rustfmt cargo-tree 'rust-docs<1:1.56.1-3')
+  optdepends=(
+    'gdb: rust-gdb script'
+    'lldb: rust-lldb script'
+  )
+  provides=(
+    cargo
+    rustfmt
+  )
+  conflicts=(
+    cargo
+    'rust-docs<1:1.56.1-3'
+    rustfmt
+  )
+  replaces=(
+    cargo
+    cargo-tree
+    'rust-docs<1:1.56.1-3'
+    rustfmt
+  )
 
   cp -a dest-rust/* "$pkgdir"
 }
@@ -180,7 +234,10 @@
 
 package_lib32-rust-libs() {
   pkgdesc="32-bit target and libraries for Rust"
-  depends=(rust lib32-gcc-libs)
+  depends=(
+    lib32-gcc-libs
+    rust
+  )
   provides=(lib32-rust)
   conflicts=(lib32-rust)
   replaces=(lib32-rust)
@@ -203,7 +260,10 @@
 
 package_rust-wasm() {
   pkgdesc="WebAssembly targets for Rust"
-  depends=(rust lld)
+  depends=(
+    lld
+    rust
+  )
 
   cp -a dest-wasm/* "$pkgdir"
 

Reply via email to