# Maintainer: Porous3247 # Contributor: Asuka Minato pkgname="llm" pkgver=0.1.1 pkgrel=5 epoch= pkgdesc="Run inference for Large Language Models on CPU, with Rust 🦀🚀🦙" arch=(any) url="https://github.com/rustformers/${pkgname}" license=('Apache-2.0 OR MIT') depends=(glibc gcc-libs) makedepends=(git cargo) provides=(llm) conflicts=(llm) source=("git+${url}#tag=v${pkgver}" "git+https://github.com/ggerganov/ggml" ) sha256sums=('SKIP' 'SKIP') options+=('!lto') prepare() { cd "${srcdir}/${pkgname}" git submodule init git config submodule.crates/ggml/sys/ggml.url "${srcdir}/ggml" git -c protocol.file.allow=always submodule update cat LICENSE-* > LICENSE export RUSTUP_TOOLCHAIN=stable cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" } build() { cd "${srcdir}/${pkgname}" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target cargo build --frozen --release } check() { cd "${srcdir}/${pkgname}" export RUSTUP_TOOLCHAIN=stable cargo test --frozen --all-features } package() { cd "${srcdir}/${pkgname}" install -Dm755 target/release/llm -t "${pkgdir}/usr/bin/" install -Dm644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}/" install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" }