maintainer="Hoang Nguyen <folliekazetani@protonmail.com>"
pkgname=buildkit
pkgver=0.21.1
pkgrel=0
pkgdesc="Concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit"
url="https://github.com/moby/buildkit"
arch="all"
license="Apache-2.0"
depends="containerd"
makedepends="go"
subpackages="$pkgname-openrc $pkgname-doc buildctl"
source="$pkgname-$pkgver.tar.gz::https://github.com/moby/buildkit/archive/refs/tags/v$pkgver.tar.gz
	buildkitd.initd
	buildkitd.confd
	"
options="!check" # needs to mount various things as root

# secfixes:
#   0.12.5-r0:
#     - CVE-2024-23650
#     - CVE-2024-23651
#     - CVE-2024-23652
#     - CVE-2024-23653

export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"

build() {
	mkdir -p out
	go build -v \
		-ldflags="
		-X github.com/moby/buildkit/version.Version=v$pkgver \
		-X github.com/moby/buildkit/version.Revision=alpine \
		" \
		-o out/ \
		./cmd/...

	# The file's content is just the output of 'buildctl build --help'
	rm -r docs/reference

}

package() {
	install -Dm755 ./out/* \
		-t "$pkgdir"/usr/bin/
	install -Dm755 "$srcdir"/buildkitd.initd \
		"$pkgdir"/etc/init.d/buildkitd
	install -Dm644 "$srcdir"/buildkitd.confd \
		"$pkgdir"/etc/conf.d/buildkitd

	install -Dm644 docs/*.md -t "$pkgdir"/usr/share/doc/$pkgname/
	cp -r docs/attestations docs/dev "$pkgdir"/usr/share/doc/$pkgname/
}

buildctl() {
	pkgdesc="$pkgdesc (cli frontend)"
	amove usr/bin/buildctl
}

sha512sums="
97180d056a16cc81eba181a7b4491cf0d2c99559a7fde1bdfc8e285eeef89d873df48c9704f3287e8d5adbd0cca801179b3802e2b738e62b0d6b58ea120ff2a9  buildkit-0.21.1.tar.gz
01007221e6aab7a9f9565b48d2a338b2a72508234c7874a4aeaf9fd9181a19ffebe6374560bbae0262b009643b1fb49fb51b0f8006540355ae0f42fbaad5dd59  buildkitd.initd
44efad35c5867266a84246cf49afd2c4d775a530409397c817c8026873c75686432388325cd7654d939e8bfeceeada9112f3dd814ae5d95d4470373c3aa6dc3e  buildkitd.confd
"
