# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>

_realname=b3sum
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.5.1
pkgrel=1
pkgdesc="Command line implementation of the BLAKE3 hash function (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://github.com/BLAKE3-team/BLAKE3'
msys2_repository_url='https://github.com/BLAKE3-team/BLAKE3/tree/master/b3sum'
license=('spdx:CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exception')
makedepends=("${MINGW_PACKAGE_PREFIX}-rust")
source=("${url}/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        "support-gnullvm.patch::https://github.com/BLAKE3-team/BLAKE3/pull/399.patch")
_pkgfn="BLAKE3-${pkgver}/${_realname}"
sha256sums=('822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37'
            'd51541aa9ab6355a49c154ec96ef29afff2386c45a5c9d6437ec679ccfc850d4')

prepare() {
  cd "BLAKE3-${pkgver}"
  patch -Np1 -i "${srcdir}/support-gnullvm.patch"

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

build() {
  cd "${_pkgfn}"

  WINAPI_NO_BUNDLED_LIBRARIES=1 \
    cargo build --release --frozen
}

check() {
  cd "${_pkgfn}"

  WINAPI_NO_BUNDLED_LIBRARIES=1 \
    cargo test --release --frozen
}

package() {
  cd "${_pkgfn}"

  WINAPI_NO_BUNDLED_LIBRARIES=1 \
    cargo install \
      --offline \
      --no-track \
      --frozen \
      --path . \
      --root "${pkgdir}${MINGW_PREFIX}"

  install -Dm644 ../LICENSE -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/"
}
