* update rust to 1:1.83.0-1

This commit is contained in:
Alexander Baldeck 2025-01-03 16:59:58 +01:00
parent 01ae0e8df5
commit ac80295a10
4 changed files with 112 additions and 30 deletions

View File

@ -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

View File

@ -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,

View File

@ -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) <rust-key@rust-lang.org>
)
@ -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 <<END
profile = "user"
change-id = 123711
# see src/bootstrap/defaults/
profile = "dist"
# see src/bootstrap/src/utils/change_tracker.rs
change-id = 131075
[llvm]
download-ci-llvm = false
link-shared = true
[build]
target = [
${_rust_target}
${_rust_target},
"wasm32-wasi",
"wasm32-wasip1",
"wasm32-wasip1-threads",
"wasm32-wasip2",
]
cargo = "/usr/bin/cargo"
rustc = "/usr/bin/rustc"
@ -156,6 +172,55 @@ cxx = "/usr/bin/g++"
ar = "/usr/bin/gcc-ar"
ranlib = "/usr/bin/gcc-ranlib"
llvm-config = "/usr/bin/llvm-config"
[target.wasm32-unknown-unknown]
cc = "/usr/bin/clang"
cxx = "/usr/bin/clang++"
ar = "/usr/bin/llvm-ar"
ranlib = "/usr/bin/llvm-ranlib"
linker = "/usr/bin/wasm-ld"
sanitizers = false
profiler = false
[target.wasm32-wasi]
cc = "/usr/bin/clang"
cxx = "/usr/bin/clang++"
ar = "/usr/bin/llvm-ar"
ranlib = "/usr/bin/llvm-ranlib"
linker = "/usr/bin/wasm-ld"
sanitizers = false
profiler = false
wasi-root = "/usr/share/wasi-sysroot"
[target.wasm32-wasip1]
cc = "/usr/bin/clang"
cxx = "/usr/bin/clang++"
ar = "/usr/bin/llvm-ar"
ranlib = "/usr/bin/llvm-ranlib"
linker = "/usr/bin/wasm-ld"
sanitizers = false
profiler = false
wasi-root = "/usr/share/wasi-sysroot"
[target.wasm32-wasip1-threads]
cc = "/usr/bin/clang"
cxx = "/usr/bin/clang++"
ar = "/usr/bin/llvm-ar"
ranlib = "/usr/bin/llvm-ranlib"
linker = "/usr/bin/wasm-ld"
sanitizers = false
profiler = false
wasi-root = "/usr/share/wasi-sysroot"
[target.wasm32-wasip2]
cc = "/usr/bin/clang"
cxx = "/usr/bin/clang++"
ar = "/usr/bin/llvm-ar"
ranlib = "/usr/bin/llvm-ranlib"
linker = "/usr/bin/wasm-ld"
sanitizers = false
profiler = false
wasi-root = "/usr/share/wasi-sysroot"
END
}
@ -196,6 +261,7 @@ build() {
done
_pick dest-src usr/lib/rustlib/src
_pick dest-wasm usr/lib/rustlib/wasm32-*
}
package_rust() {
@ -222,6 +288,20 @@ package_rust() {
cp -a dest-rust/* "$pkgdir"
}
package_rust-wasm() {
pkgdesc="WebAssembly targets for Rust"
depends=(
lld
rust
wasm-component-ld
)
cp -a dest-wasm/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 \
rustc-$pkgver-src/{COPYRIGHT,LICENSE-MIT}
}
package_rust-src() {
pkgdesc="Source code for the Rust standard library"
depends=(rust)

View File

@ -1,18 +1,11 @@
--- rustc-1.66.0-src/compiler/rustc_target/src/abi/call/powerpc64.rs.orig 2023-01-17 15:34:17.094202392 +0100
+++ rustc-1.66.0-src/compiler/rustc_target/src/abi/call/powerpc64.rs 2023-01-17 15:35:49.820776341 +0100
@@ -119,14 +119,7 @@
Ty: TyAbiInterface<'a, C> + 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,
}
};