# Maintainer: Joachim Schlöffel <joachim.schloeffel@financial-service-plus.de>
pkgname=lavinmq
pkgver=2.10.0
pkgrel=1
pkgdesc="High-performance AMQP and MQTT message queue server"
url="https://github.com/cloudamqp/lavinmq"
arch="x86_64"
license="Apache-2.0"
depends="ca-certificates /bin/sh"
makedepends="
	crystal=1.21.0-r0
	gc-dev
	help2man
	libevent-dev
	lz4-dev
	make
	openssl
	openssl-dev
	pcre2-dev
	shards
	tar
	yaml-dev
	"
install="$pkgname.pre-install"
pkgusers="lavinmq"
pkggroups="lavinmq"
subpackages="
	$pkgname-doc
	$pkgname-openrc:_openrc:noarch
	"
source="
	$pkgname-$pkgver.tar.gz::https://github.com/cloudamqp/lavinmq/archive/refs/tags/v$pkgver.tar.gz
	$pkgname-$pkgver-shards.tar.gz
	$pkgname-$pkgver-assets.tar.gz
	lavinmq.confd
	lavinmq.initd
	use-vendored-build-inputs.patch
	"

prepare() {
	default_prepare
	tar -xzf "$srcdir/$pkgname-$pkgver-shards.tar.gz" -C "$builddir"
	mkdir -p "$builddir/.alpine-assets"
	tar -xzf "$srcdir/$pkgname-$pkgver-assets.tar.gz" -C "$builddir/.alpine-assets"
}

build() {
	crystal --version
	make
	make man
}

check() {
	crystal spec spec/config_spec.cr
}

package() {
	make DESTDIR="$pkgdir" install
	rm -r "$pkgdir"/lib/systemd "$pkgdir"/usr/lib/sysusers.d
	rmdir "$pkgdir"/lib "$pkgdir"/usr/lib
	install -d -m 0750 -o lavinmq -g lavinmq "$pkgdir"/var/lib/lavinmq
}

_openrc() {
	pkgdesc="$pkgdesc (OpenRC service)"
	depends="$pkgname=$pkgver-r$pkgrel openrc"

	install -Dm755 "$srcdir"/lavinmq.initd \
		"$subpkgdir"/etc/init.d/lavinmq
	install -Dm644 "$srcdir"/lavinmq.confd \
		"$subpkgdir"/etc/conf.d/lavinmq
}

sha512sums="
b494892dada6eb713025bc3245e16035a63265805d77c537b4530226195f00dacab1fb14de5bf4c999165faa6bf2f7ef7c6b8ffb4c6f4a921977f1c13a4f1545  lavinmq-2.10.0.tar.gz
d0dfdd5c0e474024f57deb9e31c76e3f176e798c8d21dea53d3aea1b05436bd03fa34e69ccddf322bc89adedce5f379df5a316cddbbdfe12520e5bf672ad8228  lavinmq-2.10.0-shards.tar.gz
ae3cea2534b211abbcbd1e4fcb6da73dfaf383a19aef1c45f367cba77492cc20a7ce8283fc42f26c0a023149114c369bed307fb8cde0b8f27fba61165092e986  lavinmq-2.10.0-assets.tar.gz
62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110  lavinmq.confd
1853196e70297b5c4a2207fde50df735620cf6d99c4994644fd676bffaf863d67300ad7ae771c4bbb86fce1a0485c2a7968cf912c5f5bb878e08b15e5a28ba1b  lavinmq.initd
e7617099f745ecbf2f0686830d0a1b28044741ebd543798505b5b3c08f1be96b6cc478eb18f6785af49b100c2f49d837775f0721ac27519ddf3f081e681c581c  use-vendored-build-inputs.patch
"
