# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>

_realname=minidump-stackwalk
_projectname=rust-minidump
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.20.0
pkgrel=1
pkgdesc="Provides both machine-readable and human-readable digests of a minidump, with backtraces and symbolication (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://github.com/rust-minidump/rust-minidump/tree/main/minidump-stackwalk'
msys2_references=(
  'aur: minidump-stackwalk'
)
license=('spdx:MIT')
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-rust"
)
source=("https://github.com/rust-minidump/rust-minidump/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz")
sha256sums=('a303e3267c5b9aaf717950b7d4887c35def92c6b92aa03f3143f6983491adabf')

prepare() {
  cp -r "${_projectname}-${pkgver}" "build-${MSYSTEM}"
  cd "build-${MSYSTEM}/minidump-stackwalk"

  local _target="${CARCH}-pc-windows-gnu"
  if [[ $MINGW_PACKAGE_PREFIX == *-clang-aarch64 ]]; then
    _target="${CARCH}-pc-windows-gnullvm"
  fi
  cargo fetch \
    --locked \
    --target "${_target}" \
    --manifest-path "../Cargo.toml"
}

build() {
  cd "build-${MSYSTEM}/minidump-stackwalk"

  cargo build \
    --release \
    --frozen \
    --manifest-path "../Cargo.toml"
}

package() {
  cd "build-${MSYSTEM}/minidump-stackwalk"

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