# Maintainer: @naveen521kk on Github, Naveen M K <naveen521kk@gmail.com>

_realname=delta
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=0.17.0
pkgrel=2
pkgdesc='A syntax-highlighting pager for git and diff output (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/dandavison/delta"
msys2_references=(
  'archlinux: git-delta'
  'aur'
  'cygwin'
)
license=('spdx:MIT')
depends=("${MINGW_PACKAGE_PREFIX}-libgit2" "${MINGW_PACKAGE_PREFIX}-oniguruma" 'git')
makedepends=("${MINGW_PACKAGE_PREFIX}-rust" "${MINGW_PACKAGE_PREFIX}-pkgconf")
source=("https://github.com/dandavison/delta/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
        "ntapi-link-ntdll-arm64.patch")
sha256sums=('1abd21587bcc1f2ef0cd342784ce990da9978bc345578e45506419e0952de714'
            '9d55cf0896e0dd3001d3bf1e0bf210eaea5b35af4ee44770ba03a433a38e80df')

prepare() {
  cd "${srcdir}/${_realname}-${pkgver}"

  export LIBZ_SYS_STATIC=0
  export LIBGIT2_NO_VENDOR=1
  export RUSTONIG_DYNAMIC_LIBONIG=1
  cargo vendor \
    --locked \
    --versioned-dirs
  mkdir -p .cargo
  cat >> .cargo/config.toml <<END

[source.crates-io]
replace-with = "vendored-sources"

[source.vendored-sources]
directory = "vendor"
END

  patch -d vendor/ntapi-0.4.1 -Np1 -i "${srcdir}/ntapi-link-ntdll-arm64.patch"
}

build() {
  cd "${srcdir}/${_realname}-${pkgver}"

  export WINAPI_NO_BUNDLED_LIBRARIES=1
  ${MINGW_PREFIX}/bin/cargo build \
	--release \
	--frozen
}

check() {
  cd "${srcdir}/${_realname}-${pkgver}"

  export WINAPI_NO_BUNDLED_LIBRARIES=1
  ${MINGW_PREFIX}/bin/cargo test \
	--release \
	--frozen
}

package() {
  cd "${srcdir}/${_realname}-${pkgver}"

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

  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
  install -Dm644 etc/completion/completion.bash "${pkgdir}${MINGW_PREFIX}/share/bash-completion/completions/${_realname}"
  install -Dm644 etc/completion/completion.zsh  "${pkgdir}${MINGW_PREFIX}/share/zsh/site-functions/_${_realname}"
  install -Dm644 etc/completion/completion.fish "${pkgdir}${MINGW_PREFIX}/share/fish/vendor_completions.d/${_realname}.fish"
}
