# 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.50.0
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=("libgcc")
makedepends=("cargo")
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/casey/${pkgname}/archive/${pkgver}.tar.gz"
        "blake3.patch")
sha256sums=('cca015e07739a1c26c6fc459f7d46e1e36ce0f7613114eddedd8cd3af55a10b7'
            'e19b0813cd44be5878e1752f717e5e6250654a9746ca11d735dbed089c7e11ca')

prepare() {
  cd "${pkgname}-${pkgver}"
  # https://github.com/BLAKE3-team/BLAKE3/issues/550
  patch -Np1 -i "${srcdir}/blake3.patch"
  cargo fetch --locked --target "$(rustc --print host-tuple)"
  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}"
}
