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

_realname=dotslash
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.5.9
pkgrel=1
pkgdesc="Simplified executable deployment (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://github.com/facebook/dotslash'
msys2_repository_url='https://github.com/facebook/dotslash'
license=('spdx:Apache-2.0 OR MIT')
depends=("${MINGW_PACKAGE_PREFIX}-bzip2" "${MINGW_PACKAGE_PREFIX}-zstd")
makedepends=("${MINGW_PACKAGE_PREFIX}-rust"
             "${MINGW_PACKAGE_PREFIX}-pkgconf"
             "${MINGW_PACKAGE_PREFIX}-git")
options=('!strip')
source=("${url}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
        "bzip2-sys.tar.gz::https://crates.io/api/v1/crates/bzip2-sys/0.1.13+1.0.8/download"
        "zstd-sys.tar.gz::https://crates.io/api/v1/crates/zstd-sys/2.0.16+zstd.1.5.7/download"
        "bzip2-sys-use-pkgconfig.patch"
        "zstd-sys-remove-statik.patch")
sha256sums=('28cc3b27598d3a776d3c54c2132a8d533a130d80db9deff3c1883b63224dcd41'
            '225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14'
            '91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748'
            'f73309fb98b89b2085bccee6ffb66820082628d096bc989922b25d33a1f5f378'
            '48f4900ceb02d3aaf9a1020f33d56629156e96759f456c0e7ca18bfcf910767b')

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

  patch -d "../bzip2-sys-0.1.13+1.0.8" -i "../bzip2-sys-use-pkgconfig.patch"
  patch -d "../zstd-sys-2.0.16+zstd.1.5.7" -i "../zstd-sys-remove-statik.patch"
  cat >> Cargo.toml <<END

[patch.crates-io]
bzip2-sys.path = "../bzip2-sys-0.1.13+1.0.8"
zstd-sys.path = "../zstd-sys-2.0.16+zstd.1.5.7"
END

  cargo update -p bzip2-sys -p zstd-sys --config='net.git-fetch-with-cli=true'
  cargo fetch --locked --target "${RUST_CHOST}"
}

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

  export ZSTD_SYS_USE_PKG_CONFIG=1
  export RUSTFLAGS="${RUSTFLAGS/+crt-static/-crt-static}"
  cargo build --release --frozen
}

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

  export ZSTD_SYS_USE_PKG_CONFIG=1
  export RUSTFLAGS="${RUSTFLAGS/+crt-static/-crt-static}"
  cargo test --release --frozen
}

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

  export ZSTD_SYS_USE_PKG_CONFIG=1
  export RUSTFLAGS="${RUSTFLAGS/+crt-static/-crt-static}"
  cargo install \
    --offline \
    --no-track \
    --frozen \
    --path . \
    --root "${pkgdir}${MINGW_PREFIX}"

  install -Dm644 LICENSE-{APACHE,MIT} -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/"
}
