# Maintainer: Wu Zhenyu <wuzy01@qq.com>

_realname=scc
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=3.2.0
pkgrel=1
pkgdesc='Sloc, Cloc and Code: a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go (mingw-w64)'
arch=(any)
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
msys2_references=(
  'aur: scc'
)
url="https://github.com/boyter/scc"
license=('spdx:MIT OR Unlicense')
makedepends=(
  "$MINGW_PACKAGE_PREFIX-go"
  "$MINGW_PACKAGE_PREFIX-gcc"
)
options=('!strip')
source=("${_realname}-${pkgver}.tar.gz::https://github.com/boyter/scc/archive/refs/tags/v${pkgver}.tar.gz"
        https://github.com/boyter/scc/commit/e1519e0a9feb11b92012f29736a7feb81ea066f5.patch)
noextract=("${_realname}-${pkgver}.tar.gz")
sha256sums=('69cce0b57e66c736169bd07943cdbe70891bc2ff3ada1f4482acbd1335adbfad'
            '10eaecd3e32e9cb4b145351f2c7e77d200ed0ea710bd8d35686a7791e23ef83d')

prepare(){
  tar -xf "${_realname}-${pkgver}.tar.gz" || true
  cd "$_realname-$pkgver"
  patch -p1 -i "${srcdir}/e1519e0a9feb11b92012f29736a7feb81ea066f5.patch"
  mkdir -p build/
}

build() {
  cd "$_realname-$pkgver"
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS="-trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
  case "${CARCH}" in
    i686|x86_64)
      GOFLAGS+=" -buildmode=pie"
      ;;
  esac

  go build -o build ./...
}

check() {
  cd "$_realname-$pkgver"
  go test ./...
}

package() {
  cd "$_realname-$pkgver"
  install -Dm755 build/$_realname "$pkgdir$MINGW_PREFIX/bin/$_realname"
  install -Dm644 LICENSE "$pkgdir$MINGW_PREFIX/share/licenses/$_realname/LICENSE"
}
