# Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
# Maintainer: Caleb Maclennan <caleb@alerque.com>
# Contributor: Fredy García <frealgagu at gmail dot com>

pkgname=just
pkgver=1.43.1
pkgrel=1
pkgdesc="A handy way to save and run project-specific commands"
arch=("x86_64" "aarch64")
url="https://github.com/casey/just"
license=("custom:CC0")
depends=("gcc-libs")
makedepends=("cargo")
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/casey/${pkgname}/archive/${pkgver}.tar.gz")
sha256sums=('741b5c6743501dc4dbd23050dd798f571d873d042b67bcea113d622b0c37d180')

prepare() {
  cd "${pkgname}-${pkgver}"
  # Stupid workaround for ``ld.lld: error: undefined symbol: blake3_hash_many_neon``
  if [ "$CARCH" = "aarch64" ]; then
    cargo add blake3 -F no_neon
  fi
  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
  mkdir -p man completions
}

build() {
  cd "${pkgname}-${pkgver}"
  cargo build --frozen --release
  local just="cargo run --frozen --release --"
  $just --man > "man/${pkgname}.1"
}

check() {
  cd "${pkgname}-${pkgver}"
  cargo check --frozen --release
}

package() {
  cd "${pkgname}-${pkgver}"
  install -Dm755 -t "${pkgdir}/usr/bin/" "target/release/${pkgname}"
  install -Dm644 -t "${pkgdir}/usr/share/man/man1/" "man/${pkgname}.1"
  install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}/" "LICENSE"
  install -Dm644 "completions/${pkgname}.bash" "${pkgdir}/usr/share/bash-completion/completions/${pkgname}"
  install -Dm644 "completions/${pkgname}.elvish" "${pkgdir}/usr/share/elvish/lib/${pkgname}.elv"
  install -Dm644 -t "${pkgdir}/usr/share/fish/vendor_completions.d/" "completions/${pkgname}.fish"
  install -Dm644 "completions/${pkgname}.zsh" "${pkgdir}/usr/share/zsh/site-functions/_${pkgname}"
}
