# Contributor: Dirk Stolle

_realname=croc
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=10.2.7
pkgrel=1
pkgdesc='Easily and securely send things from one computer to another.'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
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=('MIT')
makedepends=("${MINGW_PACKAGE_PREFIX}-go" "${MINGW_PACKAGE_PREFIX}-cc")
source=("$pkgname-v$pkgver.tar.gz::$url/releases/download/v$pkgver/${_realname}_v${pkgver}_src.tar.gz")
sha256sums=('5fd559897653852a63d18d78038d62c88ff6919e81e5e3ff1fd1be48b14ba7a5')

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}"

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

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