diff options
| author | rawnix ports <ports@rawnix.org> | 2026-09-26 18:19:05 +0000 |
|---|---|---|
| committer | rawnix ports <ports@rawnix.org> | 2026-09-26 18:19:05 +0000 |
| commit | c82e88dd00d1b0b7fcfb4e5628d99611388cef6f (patch) | |
| tree | 56d864b5a5c6c145edd96178ae219a8f90e191a6 /devel/rust/MAKEPKG | |
| download | ports-c82e88dd00d1b0b7fcfb4e5628d99611388cef6f.tar.gz | |
sync 2026-09-26 18:19 UTC
1672 files changed, 151396 insertions(+)
Diffstat (limited to 'devel/rust/MAKEPKG')
| -rw-r--r-- | devel/rust/MAKEPKG | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/devel/rust/MAKEPKG b/devel/rust/MAKEPKG new file mode 100644 index 0000000..6de018b --- /dev/null +++ b/devel/rust/MAKEPKG @@ -0,0 +1,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 |
