# Maintainer: David Macek <david.macek.0@gmail.com>

_realname=nimble
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.20.1
pkgrel=1
pkgdesc='Package manager for the Nim programming language (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64')
url='https://github.com/nim-lang/nimble'
license=('spdx:BSD-3-Clause')
depends=("${MINGW_PACKAGE_PREFIX}-libwinpthread"
         "${MINGW_PACKAGE_PREFIX}-openssl")
makedepends=("${MINGW_PACKAGE_PREFIX}-nim"
             "${MINGW_PACKAGE_PREFIX}-cc"
             "git")
_nimver=2.2.6
_checksumsver=8ee781a713184dcf66ea0235aad865fa65b5c7ff
_satver=f344ca2dc852f62c812e6c203f85cdc14c768561
_zippyver=9ab82da84edfd6483d273dfcf8a921309945861e
source=("https://github.com/nim-lang/nimble/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
        "https://github.com/nim-lang/Nim/archive/v${_nimver}/nim-${_nimver}.tar.gz"
        "git+https://github.com/nim-lang/checksums.git#commit=${_checksumsver}"
        "git+https://github.com/nim-lang/sat.git#commit=${_satver}"
        "git+https://github.com/guzba/zippy.git#commit=${_zippyver}")
sha256sums=('98f013689bfaddbc61c23b5451e5e2529b6d7607cb7942fcd0d4fbc96c33832e'
            '4a691f3a5351540ca493ffe1f812cb3151cea9ab540d5001b54865d253229072'
            '115895e453ab7b791329ce1e515fa1d4e1a2975637aacedc78410bab4e0d42ec'
            'f28106cacb75b200b37fb91be6a084332908f51251741156be41eeb50425f32e'
            'c7719678c3924b2f3cf39d846a61845f61d65c290821d752e03847dcc4dec4fc')

prepare() {
  for _dir in checksums sat zippy; do
    cp -r ${_dir}/* ${_realname}-${pkgver}/vendor/${_dir}/
  done
  _srcdir=$(cygpath -m ${srcdir})
  sed -i "s|from \"\$nim\" / compiler/nimblecmd|from \"${_srcdir}/Nim-${_nimver}\"/compiler/nimblecmd|g" ${_realname}-${pkgver}/src/nimblepkg/tools.nim
  sed -i "s|import ../dist/checksums/src/checksums/sha1|import \"${_srcdir}\"/checksums/src/checksums/sha1|g" Nim-${_nimver}/compiler/nimblecmd.nim
}

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

  nim c -d:release src/nimble.nim
}

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

  install -Dm 755 "src/nimble.exe" -t "${pkgdir}${MINGW_PREFIX}/bin/"
  install -Dm 644  "license.txt" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}
