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

_realname=age
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=1.3.1
pkgrel=1
pkgdesc='A simple, modern and secure file encryption tool (mingw-w64)'
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
arch=('any')
url="https://github.com/FiloSottile/age"
license=("spdx:BSD-3-Clause")
depends=()
options=('!strip')
makedepends=("${MINGW_PACKAGE_PREFIX}-go")
source=("${_realname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz")
sha256sums=('396007bc0bc53de253391493bda1252757ba63af1a19db86cfb60a35cb9d290a')

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 GO_LDFLAGS="-s -w"
  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 . ./...
}

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

package() {
  cd "${_realname}-${pkgver}"
  for b in age age-keygen age-plugin-batchpass age-inspect; do
    install -Dm755 -t "${pkgdir}${MINGW_PREFIX}/bin/" "${b}.exe"
    install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/" "doc/${b}.1"
  done

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