# Maintainer: Christoph Reiter <reiter.christoph@gmail.com>

_realname=pinact
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=3.9.2
pkgrel=1
pkgdesc="CLI to pin GitHub Actions and Reusable Workflows to full hashes (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/suzuki-shunsuke/pinact"
license=('spdx:MIT')
makedepends=("${MINGW_PACKAGE_PREFIX}-go"
             "${MINGW_PACKAGE_PREFIX}-cc")
options=('!strip')
source=("${_realname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
sha256sums=('ea47eefa985476b8fe3cafc814d636242fc51897f35328af3809665a0c3841ca')

build() {
  cd "${_realname}-${pkgver}"
  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 -mod=readonly -modcacherw -ldflags=-linkmode=external"
  case "${CARCH}" in
    x86_64)
      GOFLAGS+=" -buildmode=pie"
      ;;
  esac

  go build -ldflags="-X main.version=${pkgver}" -o "${_realname}.exe" ./cmd/pinact

  ./"${_realname}.exe" completion bash | install -Dm644 /dev/stdin bash-completion/completions/${_realname}
  ./"${_realname}.exe" completion zsh | install -Dm644 /dev/stdin zsh/site-functions/_${_realname}
  ./"${_realname}.exe" completion fish | install -Dm644 /dev/stdin fish/vendor_completions.d/${_realname}.fish
}

package() {
  cd "${_realname}-${pkgver}"
  install -Dm755 "${_realname}.exe" "${pkgdir}${MINGW_PREFIX}/bin/${_realname}.exe"
  install -Dm644 bash-completion/completions/${_realname} "${pkgdir}${MINGW_PREFIX}/share/bash-completion/completions/${_realname}"
  install -Dm644 zsh/site-functions/_${_realname} "${pkgdir}${MINGW_PREFIX}/share/zsh/site-functions/_${_realname}"
  install -Dm644 fish/vendor_completions.d/${_realname}.fish "${pkgdir}${MINGW_PREFIX}/share/fish/vendor_completions.d/${_realname}.fish"
  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
  install -Dm644 README.md "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/README.md"
}
