# Maintainer: Morgan <morganamilo@archlinux.org>

pkgname=paru-git
_pkgname=${pkgname%-git}
pkgver=2.1.0.r67.g9ac3578
pkgrel=1
pkgdesc="Feature packed AUR helper"
url="https://github.com/morganamilo/${_pkgname}"
source=("git+${url}.git")
backup=("etc/${_pkgname}.conf")
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64')
license=('GPL-3.0-or-later')
makedepends=('cargo' 'clang')
depends=('git' 'pacman')
optdepends=('bat: colored pkgbuild printing' 'devtools: build in chroot and downloading pkgbuilds')
conflicts=("${_pkgname}")
provides=("${_pkgname}")
sha256sums=('SKIP')

pkgver() {
	cd "${_pkgname}/"
	git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
	cd "${_pkgname}/"
	cargo fetch --locked --target "$(rustc -vV | sed -n 's|host: ||p')"
}

build() {
	cd "${_pkgname}/"

	if pacman -T pacman-git >/dev/null; then
		_features+="git,"
	fi

	if [[ $CARCH != x86_64 ]]; then
		export CARGO_PROFILE_RELEASE_LTO=off
	fi

	if [[ $CARCH = aarch64 ]]; then
		_features+="generate,"
	fi

	PARU_VERSION=${pkgver} cargo build --frozen --features "${_features:-}" --release --target-dir target
	./scripts/mkmo locale/
}

package() {
	cd "${_pkgname}/"

	install -Dm755 target/release/paru -t "${pkgdir}/usr/bin/"
	install -Dm644 paru.conf -t "${pkgdir}/etc/"

	install -Dm644 man/paru.8 -t "${pkgdir}/usr/share/man/man8/"
	install -Dm644 man/paru.conf.5 -t "${pkgdir}/usr/share/man/man5/"

	install -Dm644 completions/bash "${pkgdir}/usr/share/bash-completion/completions/paru.bash"
	install -Dm644 completions/fish "${pkgdir}/usr/share/fish/vendor_completions.d/paru.fish"
	install -Dm644 completions/zsh "${pkgdir}/usr/share/zsh/site-functions/_paru"

	install -d "${pkgdir}/usr/share/"
	cp -r locale "${pkgdir}/usr/share/"
}
