# Maintainer: techknowlogick <techknowlogick at gitea dot io>

pkgname=ignite
pkgver=0.10.0
pkgrel=1
pkgdesc="Utilise Firecracker microVMs with Docker/OCI images to unify containers & VMs"
arch=('x86_64')
url="https://github.com/weaveworks/ignite"
depends=('containerd' 'cni-plugins' 'firecracker')
makedepends=('go' 'git')
optdepends=(
  'containerd: for container runtime'
  'docker: for container runtime'
  'git: for ignite gitops functionality'
  'openssh: for ignite ssh functionality'
)
license=('Apache')
install="$pkgname.install"
source=(
  "$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
  'systemd.service'
  'tmpfiles.conf'
)
b2sums=('aea336f3aa0ab805e68435f52c0c7ede869d379e23e78e93156aa062ca3baaf0f127c409fbdbd0c7dbbc79d9dde9fa6a1ece5196a29a4070ae96295abbf8029a'
        'e95f5c26d8f03d84a219e850ebecbc2b737012bd8a17b29431a8e89cd1ffaa2b84d58808f077df54d49523ec41c81047861052dd5a1632e98b57f92f59a9b0bb'
        '104333c65008ce9311b0a539525b9308b389d177abfa1e332ce28c11f1d72d86cbc1de3eece6d37c78150dad051d7c453c9026d6a2e91795f55d31f51a224be7')

prepare() {
  cd "$pkgname-$pkgver"
  mkdir build
  go mod vendor
}

build() {
	cd "$pkgname-$pkgver"
	# build assumes git repo, but we're building from tarball, so we need to set state to clean
	go build -v \
    -mod=vendor \
    -ldflags "$(IGNITE_GIT_VERSION=v${pkgver} ./hack/ldflags.sh)" \
    -o build ./cmd/...
}

package() {
  # systemd integration
 	install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/ignited.service"
  install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"

  # binaries
  cd "$pkgname-$pkgver"
  install -vDm755 -t "$pkgdir/usr/bin" build/*
}