File PKGBUILD of Package rust
# Maintainer: Yukari Chiba <[email protected]> pkgbase=rust pkgname=(rust rust-src) pkgver=1.86.0 pkgrel=2 pkgdesc="Systems programming language focused on safety, speed and concurrency" arch=(x86_64 aarch64 riscv64 loongarch64) url='https://www.rust-lang.org/' license=(MIT Apache) options=(!lto) source=( https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz config.toml.tpl 0001-musl-static.patch 0002-disable-no-default-libraries.patch 0003-drop-latomic-for-riscv-targets.patch ) sha256sums=('022a27286df67900a044d227d9db69d4732ec3d833e4ffc259c4425ed71eed80' 'd5879bb6d754707d75791c2c7fd80aeeffbac3e0ac8d79495b2cb5edb2a368b2' '35a15feca59b93afd27590ba91b657c0ac2ef21d9da8e3d6eb9bc7f04bad29f0' 'f9340dde4ba5ed44b21f36de3605994fc32fbeaf24234a1036b162c1ee94b58d' '623d6c35fac21a18bd95a40e6cda51aa5890ae0432f3dadf569c0914c814e52d') depends=(musl llvm-libs musl-static curl libssh2 openssl) makedepends=(rust llvm-devel libffi perl python cmake ninja llvm19-bootstrap) prepare() { _patch_ ${pkgbase}c-$pkgver-src } build() { sed -i "s@%RUSTVER%@$pkgver@g" config.toml.tpl case $CARCH in riscv64) sed -i "s@%RUSTTARGET%@riscv64gc-unknown-linux-musl@g" config.toml.tpl ;; *) sed -i "s@%RUSTTARGET%@${CARCH}-unknown-linux-musl@g" config.toml.tpl ;; esac cp config.toml.tpl ${pkgbase}c-$pkgver-src/config.toml export RUST_BACKTRACE=1 cd $srcdir/${pkgbase}c-${pkgver}-src DESTDIR="$srcdir/install" python ./x.py install -j "$(nproc)" cd $srcdir/install _pick_ rust-src usr/lib/rustlib/src } package_rust() { provides=(cargo rustfmt) cp -r $srcdir/install/* "$pkgdir" rm $pkgdir/usr/lib/rustlib/{components,install.log,rust-installer-version,uninstall.sh} rm $pkgdir/usr/lib/rustlib/manifest-* install -d $pkgdir/usr/share/bash-completion install -d $pkgdir/usr/share/licenses/rust mv -t $pkgdir/usr/share/licenses/rust $pkgdir/usr/share/doc/rustc/COPYRIGHT* } package_rust-src() { pkgdesc="Source code for the Rust standard library" depends=(rust) cp -a pkgs/rust-src/* "$pkgdir" }