#!/bin/mkpkg # description: Rust programming language # url: https://www.rust-lang.org/ name=rust version=1.94.1 _bootstrap=1.93.0 _date=2026-01-22 release=1 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 ) sha256sums=( "174fce10ce012317ca995810296d8af199318838180b03d68a853e0f02d4b571" "874658d2ced1ed2b9bf66c148b78a2e10cad475d0a4db32e68a08900905b89b8" "24a59e5c6807b07202d4c8021f505d46aa6504897d0c8e7ecba2b5f0f221afd8" "1eee0f6752a31430dc7cf16718de55ef7ad45882cc4c05fa97f1ef280af61135" "fdfd2b449aacd417921359db8bb3eb66944313485c72fde0a942230f2b19f55e" "8b7d3beb08cc22a4477b238eff22d91b249ea4c5344911f6fc3c279342538e35" ) extract() { cp system.diff $SRC/ cp musl-no-crt-static.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/ } build() { cd rustc-$version-src # Remove musl self-contained CRT handling and musl-root requirement # (adapted from arachsys: use system CRT objects directly) patch -p1 -i $SRC/system.diff patch -p1 -i $SRC/musl-no-crt-static.patch cat > bootstrap.toml <