# Maintainer: Joachim Schlöffel <me@joachim-schloeffel.com>
pkgname=lavinmq
pkgver=2.9.1
pkgrel=0
pkgdesc="High-performance AMQP and MQTT message queue server"
url="https://github.com/cloudamqp/lavinmq"
arch="x86_64 aarch64"
license="Apache-2.0"
depends="ca-certificates /bin/sh"
makedepends="
	crystal>=1.20.1
	curl
	gc-dev
	help2man
	libevent-dev
	lz4-dev
	make
	openssl
	openssl-dev
	pcre2-dev
	shards
	tar
	yaml-dev
	"
install="$pkgname.pre-install"
subpackages="
	$pkgname-doc
	$pkgname-openrc:_openrc:noarch
	"
options="net"
source="
	$pkgname-$pkgver.tar.gz::https://github.com/cloudamqp/lavinmq/archive/refs/tags/v$pkgver.tar.gz
	lavinmq.confd
	lavinmq.initd
	"

export CRYSTAL_CACHE_DIR="${CRYSTAL_CACHE_DIR:-$srcdir/crystal-cache}"
export SHARDS_CACHE_PATH="${SHARDS_CACHE_PATH:-$srcdir/shards-cache}"

build() {
	make
	make man
}

check() {
	bin/lavinmq -v
	bin/lavinmqctl --version
	bin/lavinmqperf --version
}

package() {
	make DESTDIR="$pkgdir" install
	rm -r "$pkgdir"/lib/systemd "$pkgdir"/usr/lib/sysusers.d
}

_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="
5f88de7a1e093b1f6e2ead5c340140bd489a99ca8adfa9f40052148490d0bdf8ff1e2dad67727e9799ad1f942755df01525e63d24b0901684a743f43c42110b9  lavinmq-2.9.1.tar.gz
62a609d50f28db960098c4c84ce4f1dad78413366a9a9aca18fe321114d687be3bf7b71924d4ace69bd74383c5ac40d2ee09ae0eef9c1bfe653b97448e42e110  lavinmq.confd
76fbfa1b14c58631e92f817e689584239eb644e68460c091decdcabe7661aeb210f9128545262add2fb07eeee155c8734f1e612fc59ebb897d3c67e95a56350f  lavinmq.initd
"
