# Maintainer: Carl Smedstad pkgbase=minijinja pkgname=( minijinja-cli python-minijinja ) pkgver=2.0.1 _commit=c89b5da9e5d6e52ce7447ec1591af5404ce1b70c pkgrel=1 pkgdesc="A powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2" url="https://github.com/mitsuhiko/minijinja" arch=(x86_64) license=(Apache-2.0) makedepends=( cargo git python-build python-installer python-markupsafe python-maturin python-wheel ) checkdepends=(python-pytest) source=("git+$url.git#commit=$_commit") sha256sums=('1b92ab0f86f262380b3edf551b425f4982a1ede237662b5eec44d5ca2102339a') _archive="$pkgbase" pkgver() { cd "$_archive" git describe --tags } prepare() { cd "$_archive" export RUSTUP_TOOLCHAIN=stable cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')" } build() { cd "$_archive" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target cargo build --frozen --release --all-features --package minijinja-cli cd minijinja-py python -m build --wheel --no-isolation --skip-dependency-check } check() { cd "$_archive" export RUSTUP_TOOLCHAIN=stable cargo test --frozen --all-features cd minijinja-py rm -rf tmp_install python -m installer --destdir=tmp_install dist/*.whl local site_packages=$(python -c "import site; print(site.getsitepackages()[0])") export PYTHONPATH="$PWD/tmp_install/$site_packages" pytest } package_minijinja-cli() { pkgdesc+=" (CLI utility)" depends=( gcc-libs glibc ) cd "$_archive" install -Dm755 -t "$pkgdir/usr/bin" target/release/minijinja-cli install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" ./*.md } package_python-minijinja() { pkgdesc+=" (Python bindings)" depends=( gcc-libs glibc python python-markupsafe ) cd "$_archive/minijinja-py" python -m installer --destdir="$pkgdir" dist/*.whl }