# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
pkgname=gitaly
pkgver=17.0.4
pkgrel=0
pkgdesc="A Git RPC service for handling all the git calls made by GitLab"
url="https://gitlab.com/gitlab-org/gitaly/"
arch="all"
# GPL-2.0-only WITH GCC-exception-2.0: bundled libgit2
license="MIT AND GPL-2.0-only WITH GCC-exception-2.0"
depends="
	git>=2.42
	"
makedepends="
	bash
	cmake
	go
	icu-dev
	libssh2-dev
	libxml2-dev
	libxslt-dev
	"
subpackages="
	$pkgname-backup
	$pkgname-blackbox
	$pkgname-praefect
	$pkgname-openrc
	"
source="https://gitlab.com/gitlab-org/gitaly/-/archive/v$pkgver/gitaly-v$pkgver.tar.gz
	config.patch
	$pkgname.initd
	"
builddir="$srcdir/$pkgname-v$pkgver"
options="!check"

build() {
	make V=1 BUILD_TAGS="tracer_static tracer_static_jaeger"
}

package() {
	## Go part

	make install DESTDIR="$pkgdir" PREFIX=/usr

	# Not very useful for us.
	rm "$pkgdir"/usr/bin/gitaly-debug
	rm "$pkgdir"/usr/bin/gitaly-wrapper

	install -m644 -D config.toml.example "$pkgdir"/etc/gitlab/gitaly.toml
	install -m644 -D config.praefect.toml.example "$pkgdir"/etc/gitlab/praefect.toml
	install -m644 -D cmd/gitaly-blackbox/config.toml.example "$pkgdir"/etc/gitlab/gitaly-blackbox.toml

	install -m755 -D "$srcdir"/gitaly.initd "$pkgdir"/etc/init.d/gitlab.gitaly
}

backup() {
	pkgdesc="Utility used by the backup Rake task to create/restore repository backups from Gitaly"
	depends=""

	amove usr/bin/gitaly-backup
}

# TODO: Add init script.
blackbox() {
	pkgdesc="Prometheus exporter that measures GitLab server performance by performing a Git HTTP clone"
	depends=""

	amove etc/gitlab/gitaly-blackbox.toml
	amove usr/bin/gitaly-blackbox
}

# TODO: Add init script.
praefect() {
	pkgdesc="A reverse-proxy for Gitaly to manage a cluster of Gitaly nodes for HA"
	depends=""

	amove etc/gitlab/praefect.toml
	amove usr/bin/praefect
}

sha512sums="
2d06498c519c20804dd592cac3214cf8124ece1dda0d15342f8ccc6d9c9d2715dad24f9940e4d87b824320483c9882004bcef3747a8de347c1d48ec983a9f5cb  gitaly-v17.0.4.tar.gz
7685330e637c3a34db941c9e6b8776d0611ec16297e8be998a3eb4716c455d9f015d433a4d27720c24e520d489dd56bdab7c0e4264f2852b4b0bfd6ecaa7f773  config.patch
c32105d921be16eaf559cf21d6840bc346cd92b5e37974cedecdb5a2d2ca1eb5e8fbb144f5fc8a1289bf9415102b313cf2d61ee510c80f08ab33a799f5ac7122  gitaly.initd
"
