61 lines
1.5 KiB
Plaintext

# Contributor: S.M Mukarram Nainar <theone@sm2n.ca>
# Maintainer: team/rust <alpine@ptrcnull.me>
pkgname=rust-analyzer
pkgver=2025.02.24
_pkgver=${pkgver//./-}
pkgrel=0
pkgdesc="Rust compiler front-end for IDEs"
url="https://github.com/rust-lang/rust-analyzer"
# armhf, armv7, x86: some tests fail, not supported by upstream
# riscv64, s390x: blocked by cargo/rust
arch="aarch64 ppc64le x86_64 loongarch64"
license="MIT OR Apache-2.0"
depends="rust-src"
makedepends="cargo mimalloc2-dev cargo-auditable"
checkdepends="rustfmt"
source="https://github.com/rust-lang/rust-analyzer/archive/$_pkgver/rust-analyzer-$pkgver.tar.gz"
builddir="$srcdir/$pkgname-$_pkgver"
# requires rustup toolchain to run rustup rustfmt for sourcegen
options="net !check"
# crashes otherwise
export CARGO_PROFILE_RELEASE_PANIC="unwind"
prepare() {
default_prepare
# rust target triple.
local target=$(rustc -vV | sed -n 's/host: //p')
# build against system-provided mimalloc.
# newline because file doesn't end in newline..
cat >> .cargo/config.toml <<-EOF
[target.$target]
mimalloc = { rustc-link-lib = ["mimalloc"] }
EOF
cargo fetch --target="$CTARGET" --locked
}
build() {
CFG_RELEASE="$pkgver" \
cargo auditable build \
--frozen \
--release \
--features="mimalloc"
}
check() {
cargo test --frozen
}
package() {
install -Dm755 target/release/rust-analyzer -t "$pkgdir"/usr/bin/
}
sha512sums="
b2f017eaca8ab0c75a44565d0c3d171e504ec0ed83a6f7c708fa0c77bc4dcc8ef9e89e6427c0dab2fd4085ebf47ef51acd2687d2cc3b2facbe5225ef28d84eca rust-analyzer-2025.02.24.tar.gz
"