blob: 6de018badc51ef6b1d0f0967b8809ebd34f49d85 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#!/bin/mkpkg
# description: Rust programming language
# url: https://www.rust-lang.org/
# https://releases.rs/docs/1.98.0/
name=rust
version=1.98.1
_bootstrap=1.97.1
_date=2026-07-16
release=2
depends=(llvm)
makedeps=(cmake ninja python3 gcc-compat)
source=(
https://static.rust-lang.org/dist/rustc-$version-src.tar.xz
https://static.rust-lang.org/dist/$_date/rust-std-$_bootstrap-x86_64-unknown-linux-musl.tar.xz
https://static.rust-lang.org/dist/$_date/rustc-$_bootstrap-x86_64-unknown-linux-musl.tar.xz
https://static.rust-lang.org/dist/$_date/cargo-$_bootstrap-x86_64-unknown-linux-musl.tar.xz
system.diff
musl-no-crt-static.patch
libressl-openssl-sys.patch
)
sha256sums=(
"be1816e7f6c40abb90245ad6e024bed2a7e88d7dda4561e4d5470207df616b9f"
"51d83178680556f73a5fa8ad865b76a1ff541867445c00fc65dc67246bc2de66"
"1b1f926d3b5bf8036c858180dbc9518c6c317154718ee5c5460bb23d23bacf5d"
"623a1315bdbddc5e7a807aaf7e1911d1435a294758e170b8758f49fc57a3e67c"
"c812b442131f53a6a614cba20bcd007ab0eee8583bd423d75038b90ebc87f323"
"8b7d3beb08cc22a4477b238eff22d91b249ea4c5344911f6fc3c279342538e35"
"0e5cd25e3680e75494b9d58783106723a97ef74bf70c9237bbb088fbc948a5d2"
)
extract() {
cp system.diff $SRC/
cp musl-no-crt-static.patch $SRC/
cp libressl-openssl-sys.patch $SRC/
tar -xf $PKGMK_SOURCE_DIR/rustc-$version-src.tar.xz -C $SRC
mkdir -p $SRC/rustc-$version-src/build/cache/$_date
cp rust-std-$_bootstrap-x86_64-unknown-linux-musl.tar.xz $SRC/rustc-$version-src/build/cache/$_date/
cp rustc-$_bootstrap-x86_64-unknown-linux-musl.tar.xz $SRC/rustc-$version-src/build/cache/$_date/
cp cargo-$_bootstrap-x86_64-unknown-linux-musl.tar.xz $SRC/rustc-$version-src/build/cache/$_date/
}
patch() {
cd rustc-$version-src
patch -p1 -i $SRC/system.diff
patch -p1 -i $SRC/musl-no-crt-static.patch
patch -p1 -i $SRC/libressl-openssl-sys.patch
# LLVM 23 dropped X86 FeatureAMXTF32 (Intel removed AMX-TF32 from the ISA).
# rustc 1.98 still probes it via LLVMRustHasFeature(), now fatal, and
# core_arch still defines the intrinsics. Fixed upstream in
# rust-lang/rust#159310, landing in 1.99.0.
sed -i '/"amx-tf32"/d' compiler/rustc_target/src/target_features.rs
sed -i '/amx.tf32/Id' library/std_detect/src/detect/arch/x86.rs
sed -i '/amx_tf32/d' library/std_detect/src/detect/os/x86.rs
sed -i '/amx-tf32/d' library/std_detect/tests/x86-specific.rs
sed -i '\%^/// Perform matrix multiplication of two tiles a and b, containing packed single precision%,/^}$/d' \
library/stdarch/crates/core_arch/src/x86_64/amx.rs
sed -i '/llvm\.x86\.tmmultf32ps/,+1d' \
library/stdarch/crates/core_arch/src/x86_64/amx.rs
}
build() {
cd rustc-$version-src
cat > bootstrap.toml <<EOF
change-id = "ignore"
[llvm]
link-shared = true
use-libcxx = true
static-libstdcpp = false
[build]
build = "x86_64-unknown-linux-musl"
host = ["x86_64-unknown-linux-musl"]
target = ["x86_64-unknown-linux-musl"]
docs = false
extended = true
tools = ["cargo", "rustfmt", "clippy", "rust-analyzer"]
vendor = true
[install]
prefix = "/usr"
[rust]
channel = "stable"
codegen-units = 1
lto = "off"
llvm-libunwind = "system"
[target.x86_64-unknown-linux-musl]
llvm-config = "/usr/bin/llvm-config"
crt-static = false
cc = "clang"
cxx = "clang++"
ar = "llvm-ar"
ranlib = "llvm-ranlib"
linker = "clang"
rustflags = ["-C", "link-arg=-lunwind"]
EOF
python3 x.py build
DESTDIR=$PKG python3 x.py install
rm -rf $PKG/usr/share/doc
rm -f $PKG/usr/lib/rustlib/install.log
rm -f $PKG/usr/lib/rustlib/uninstall.sh
rm -f $PKG/usr/lib/rustlib/manifest-*
rm -f $PKG/usr/lib/rustlib/components
rm -f $PKG/usr/lib/rustlib/rust-installer-version
}
signify() {
untrusted comment: public key
RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
}
# vim: filetype=sh
|