# Contributor: Dirk Stolle

_realname='croc'
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=11.5.3
pkgrel=1
pkgdesc='Easily and securely send things from one computer to another. (mingw-w64)'
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://getcroc.com/'
msys2_repository_url='https://github.com/schollz/croc'
msys2_references=(
  'anitya: 350834'
  'archlinux: croc'
  'gentoo: net-misc/croc'
  'purl: pkg:golang/github.com/schollz/croc/v10'
)
license=('spdx:MIT')
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-go"
)
source=("${_realname}-${pkgver}.tar.gz::https://github.com/schollz/croc/releases/download/v${pkgver}/${_realname}_v${pkgver}_src.tar.gz")
sha256sums=('252fd08e662a8770806d99f606cf1c6c1241047d983a9e60fa7b459a1239c93d')

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

  # set Go flags
  export CC='cc'
  export GOOS='windows'
  export GOROOT="${MINGW_PREFIX}/lib/go"
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS='-trimpath -ldflags=-linkmode=external -mod=vendor -modcacherw -buildvcs=false'

  case "${CARCH}" in
    i686|x86_64)
      GOFLAGS+=" -buildmode=pie"
      ;;
  esac

  go build -v -o croc.exe .
}

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

  go test -v ./...
}

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

  install -Dm755 croc.exe -t "${pkgdir}${MINGW_PREFIX}/bin"

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