From ac80295a1052d184a06bda14bcafade939beb723 Mon Sep 17 00:00:00 2001 From: kth5 Date: Fri, 3 Jan 2025 16:59:58 +0100 Subject: [PATCH] * update rust to 1:1.83.0-1 --- rust/.SRCINFO | 19 +++- ...ompiler-Use-wasm-ld-for-wasm-targets.patch | 4 +- rust/PKGBUILD | 92 +++++++++++++++++-- ...e-ELFv2-ABI-on-all-powerpc64-targets.patch | 27 ++---- 4 files changed, 112 insertions(+), 30 deletions(-) diff --git a/rust/.SRCINFO b/rust/.SRCINFO index f1e42575bf..a1a2e377e4 100644 --- a/rust/.SRCINFO +++ b/rust/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = rust pkgdesc = Systems programming language focused on safety, speed and concurrency - pkgver = 1.81.0 - pkgrel = 1.1 + pkgver = 1.83.0 + pkgrel = 1 epoch = 1 url = https://www.rust-lang.org/ arch = powerpc64le @@ -20,6 +20,7 @@ pkgbase = rust makedepends = python makedepends = rust makedepends = wasi-libc + makedepends = wasm-component-ld depends = curl depends = gcc depends = gcc-libs @@ -27,18 +28,20 @@ pkgbase = rust depends = llvm-libs options = !emptydirs options = !lto - source = https://static.rust-lang.org/dist/rustc-1.81.0-src.tar.gz - source = https://static.rust-lang.org/dist/rustc-1.81.0-src.tar.gz.asc + source = https://static.rust-lang.org/dist/rustc-1.83.0-src.tar.gz + source = https://static.rust-lang.org/dist/rustc-1.83.0-src.tar.gz.asc source = 0001-bootstrap-Change-libexec-dir.patch source = 0002-bootstrap-Change-bash-completion-dir.patch source = 0003-compiler-Change-LLVM-targets.patch + source = 0004-compiler-Use-wasm-ld-for-wasm-targets.patch source = xxxx-Use-ELFv2-ABI-on-all-powerpc64-targets.patch validpgpkeys = 108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE - b2sums = 0bc0ae9207306458c6721ddaff0bf56280a4ca4918502b44cfdfc200e73c4a5af88c95f9df53c1fe927f94ffe09d855e21dd6a749331041d719704dc209940ba + b2sums = c4b4d5ce55e07c95016c10aece82b6bf35d037f84017ad87d86d7f5a4d965393f11da309daa32b877512f41a8a9c1ff4b462a523c807eb8f8919cb9485c0767c b2sums = SKIP b2sums = ef56a70741bae70a95695b4d05d1a6395f545e671c9d016c7180732f69a09b828ff5e16964ef16f9ebec55dd778a1b50927275cd4c21a7b78ae4959946a0657c b2sums = d20861a8a8e16d4bb0143f00d4beb42e2c52eeb2c1894e9f9c04e3d74ecd750d9bdacf15bb39fd0ade4487b9d3d14da24cf5f25ceab112f096fddcd329320a15 b2sums = 64391cf17e7d801fb263e9d637928c3a2f6aa11aca6afbf115be4e38e9afce42371ed4884929cf11d6c74c2aa497fb26abbba1812d4f31f44dcda38e4978a33f + b2sums = b50e77529edc7640e2e08a434aa48591b5b809b35e61db026010e28b6c4caf61a780131500a5b0f9339d2a98177de7adb13d7589a0b2f084304d059c4de112ee b2sums = a12ab3f62987d3de257ef4bb66220559efe46c92f0d9820390ed36bf404c56f05253619b5c46e37b44dc30386f54ef3c856124a1cc1a8b854b7f6426183b2d6d pkgname = rust @@ -57,3 +60,9 @@ pkgname = rust pkgname = rust-src pkgdesc = Source code for the Rust standard library depends = rust + +pkgname = rust-wasm + pkgdesc = WebAssembly targets for Rust + depends = lld + depends = rust + depends = wasm-component-ld diff --git a/rust/0004-compiler-Use-wasm-ld-for-wasm-targets.patch b/rust/0004-compiler-Use-wasm-ld-for-wasm-targets.patch index 3528899199..6a946af00c 100644 --- a/rust/0004-compiler-Use-wasm-ld-for-wasm-targets.patch +++ b/rust/0004-compiler-Use-wasm-ld-for-wasm-targets.patch @@ -9,10 +9,10 @@ We don't ship rust-lld. 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/rustc_target/src/spec/base/wasm.rs b/compiler/rustc_target/src/spec/base/wasm.rs -index 4b4d2aca26e4..b4918c8fdda2 100644 +index 81b96cd39ffa..550082f1138a 100644 --- a/compiler/rustc_target/src/spec/base/wasm.rs +++ b/compiler/rustc_target/src/spec/base/wasm.rs -@@ -88,8 +88,7 @@ macro_rules! args { +@@ -85,8 +85,7 @@ macro_rules! args { // arguments just yet limit_rdylib_exports: false, diff --git a/rust/PKGBUILD b/rust/PKGBUILD index 561370ff64..bfc73c4e5c 100644 --- a/rust/PKGBUILD +++ b/rust/PKGBUILD @@ -9,9 +9,10 @@ pkgbase=rust pkgname=( rust rust-src + rust-wasm ) epoch=1 -pkgver=1.82.0 +pkgver=1.83.0 pkgrel=1 pkgdesc="Systems programming language focused on safety, speed and concurrency" url=https://www.rust-lang.org/ @@ -30,6 +31,7 @@ depends=( llvm-libs ) makedepends=( + clang cmake libffi lld @@ -39,6 +41,7 @@ makedepends=( python rust wasi-libc + wasm-component-ld ) checkdepends=( gdb @@ -49,14 +52,16 @@ source=( 0001-bootstrap-Change-libexec-dir.patch 0002-bootstrap-Change-bash-completion-dir.patch 0003-compiler-Change-LLVM-targets.patch + 0004-compiler-Use-wasm-ld-for-wasm-targets.patch xxxx-Use-ELFv2-ABI-on-all-powerpc64-targets.patch ) -b2sums=('c95ee180622a7984d03d43bcb3dd2ae16c41f95dde88426f972f32cac6ece904ced00d90967a32829db64d8790ee042192d1102426e7a2c4f6b2ff9d14c7cf70' +b2sums=('c4b4d5ce55e07c95016c10aece82b6bf35d037f84017ad87d86d7f5a4d965393f11da309daa32b877512f41a8a9c1ff4b462a523c807eb8f8919cb9485c0767c' 'SKIP' 'ef56a70741bae70a95695b4d05d1a6395f545e671c9d016c7180732f69a09b828ff5e16964ef16f9ebec55dd778a1b50927275cd4c21a7b78ae4959946a0657c' 'd20861a8a8e16d4bb0143f00d4beb42e2c52eeb2c1894e9f9c04e3d74ecd750d9bdacf15bb39fd0ade4487b9d3d14da24cf5f25ceab112f096fddcd329320a15' '64391cf17e7d801fb263e9d637928c3a2f6aa11aca6afbf115be4e38e9afce42371ed4884929cf11d6c74c2aa497fb26abbba1812d4f31f44dcda38e4978a33f' - 'a12ab3f62987d3de257ef4bb66220559efe46c92f0d9820390ed36bf404c56f05253619b5c46e37b44dc30386f54ef3c856124a1cc1a8b854b7f6426183b2d6d') + 'b50e77529edc7640e2e08a434aa48591b5b809b35e61db026010e28b6c4caf61a780131500a5b0f9339d2a98177de7adb13d7589a0b2f084304d059c4de112ee' + '0ae8cbc0bc1bcfa1349f4fd7bfea6daf441c56f8b4b3cc5663a5407f9696e42df78ab9bc4a7946020ea38f5625ddb9f937d0a6005f0d7049937da00ea6b0c030') validpgpkeys=( 108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE # Rust Language (Tag and Release Signing Key) ) @@ -74,6 +79,9 @@ prepare() { # Use our *-pc-linux-gnu targets, making LTO with clang simpler patch -Np1 -i ../0003-compiler-Change-LLVM-targets.patch + # Use our wasm-ld + patch -Np1 -i ../0004-compiler-Use-wasm-ld-for-wasm-targets.patch + # Ensure powerpc64 uses ELFv2 patch -Np1 -i ../xxxx-Use-ELFv2-ABI-on-all-powerpc64-targets.patch @@ -89,15 +97,23 @@ prepare() { esac cat >config.toml < + Copy, - C: HasDataLayout + HasTargetSpec, - { -- let abi = if cx.target_spec().env == "musl" { -- ELFv2 -- } else { -- match cx.data_layout().endian { +--- rustc-1.76.0-src/compiler/rustc_target/src/abi/call/powerpc64.rs.vanilla 2024-02-20 12:22:13.165372817 +0100 ++++ rustc-1.76.0-src/compiler/rustc_target/src/abi/call/powerpc64.rs 2024-02-20 12:23:04.119367907 +0100 +@@ -131,7 +131,7 @@ + ELFv2 + } else { + match cx.data_layout().endian { - Endian::Big => ELFv1, -- Endian::Little => ELFv2, -- } -- }; -+ let abi = ELFv2; - - if !fn_abi.ret.is_ignore() { - classify_ret(cx, &mut fn_abi.ret, abi); ++ Endian::Big => ELFv2, + Endian::Little => ELFv2, + } + };