# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=tootik
pkgver=0.15.6
pkgrel=1
pkgdesc="Federated nanoblogging service with Gemini frontend"
url="https://github.com/dimkr/tootik"
arch="all"
license="Apache-2.0"
depends_openrc="openssl"
makedepends="go sqlite-dev"
install="$pkgname.pre-install"
pkgusers="tootik"
pkggroups="tootik"
subpackages="$pkgname-openrc"
source="https://github.com/dimkr/tootik/archive/refs/tags/$pkgver/tootik-$pkgver.tar.gz
	tootik.cfg
	tootik.initd
	tootik.confd
	"

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

export CGO_ENABLED=1
export _GOTAGS="libsqlite3 fts5"

build() {
	local _goldflags="
		-X github.com/dimkr/tootik/buildinfo.Version=$pkgver
		"

	go generate -v ./migrations
	go vet -v -tags "$_GOTAGS" ./...
	go build -v -ldflags "$_goldflags" -tags "$_GOTAGS" ./cmd/tootik
}

check() {
	./tootik --version

	# cleanup sqlite database files used by test/register_test.go
	rm -vf /tmp/TestRegister*.sqlite3

	go test -v -tags "$_GOTAGS" -timeout 30m ./...
}

package() {
	install -Dm755 tootik -t "$pkgdir"/usr/bin/
	install -dm750 -o tootik -g tootik "$pkgdir"/var/lib/tootik

	install -dm750 -o tootik -g tootik "$pkgdir"/etc/tootik
	install -Dm640 -o tootik -g tootik "$srcdir"/tootik.cfg \
		-t "$pkgdir"/etc/tootik/

	install -Dm755 "$srcdir"/tootik.initd "$pkgdir"/etc/init.d/tootik
	install -Dm644 "$srcdir"/tootik.confd "$pkgdir"/etc/conf.d/tootik
}

sha512sums="
164e70beb2a88c7803fdc8ffff768ef87ced8ae136d4ee9d7d3a97d057b8ba61700213a917567a64e68a7ddb4b439133cb4382da5a6bbeb3e3aa2b1bc0d0df53  tootik-0.15.6.tar.gz
b5b278062a3c9e6d5d10845da83e4766b4a9d6069831055a3ec92da99f60f0ad5cc3b43e55d9e9b3f93a854c00d810f38936dd9b06527a653906c41fc7040534  tootik.cfg
27e2900591d93829dbde0775cffe8a6098cabb0f4366ebd059902da991229686145650a842adb2c28ccae7f9180bd80c8fd054af9e58799eeb4844a3b53ff503  tootik.initd
11fa51d25baaeb295c80cf3e154eb1eab67f9633e23f01cc0a25c427af368746d536bff17de2153b5be925489e3f84ca5ba492a4a43c32aaf33b8c4d00d14fd6  tootik.confd
"
