# Maintainer: Atte Lautanala <atte@lautana.la>
# Contributor: Trevor Mosey <trevor dot mosey at gmail dot com>

pkgname=flyctl
pkgver=0.4.80
pkgrel=1
pkgdesc="Command line tools for fly.io services"
arch=('x86_64' 'aarch64' 'riscv64')
url="https://github.com/superfly/${pkgname}"
license=("Apache-2.0")
makedepends=('go')
checkdepends=('ruby-rake')
source=("${url}/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
sha256sums=('dbe02eae3c06392b16fd862d4489c40753cfa42a3ce828235d5e475d781d0e58')

prepare() {
	cd "${pkgname}-${pkgver}/"
	export GOPATH="${srcdir}"
	go mod download -modcacherw
}

build() {
	cd "${pkgname}-${pkgver}/"
	export CGO_CPPFLAGS="${CPPFLAGS}"
	export CGO_CFLAGS="${CFLAGS}"
	export CGO_CXXFLAGS="${CXXFLAGS}"
	export CGO_LDFLAGS="${LDFLAGS}"
	export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
	go build -o bin/flyctl
}

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

package() {
	install -Dm755 "${pkgname}-${pkgver}/bin/flyctl" -t "${pkgdir}/usr/bin/"
	ln -s "/usr/bin/${pkgname}" "${pkgdir}/usr/bin/fly"
}
