# Maintainer: Makoto Sato <makoto.sato@atmark-techno.com>
pkgname=abos-web
pkgver=1.10.2
pkgrel=0
pkgdesc="ABOS web interface"
pkgusers="abos-web-admin"
pkggroups="abos-web-admin"
url="https://armadillo.atmark-techno.com/"
arch="all"
license="MIT AND BSD-3-Clause AND Apache-2.0 AND Unicode-DFS-2016"
depends="doas abos-base"
install="$pkgname.pre-install"
makedepends="
	cargo
	openssl-dev
	"
options="net"
source="abos-web-1.10.2.tar.gz"
subpackages="$pkgname-openrc"

prepare() {
	default_prepare
	# disable internal libgit2 implementation as that consumes too much
	# memory under qemu-user
	# https://users.rust-lang.org/t/cargo-uses-too-much-memory-being-run-in-qemu/76531/2
	export CARGO_NET_GIT_FETCH_WITH_CLI=true
	cargo fetch --target="$CTARGET" --locked
}

build() {
	cargo build --frozen --release --features tls-openssl
}

check() {
	cargo test --frozen --features tls-openssl
}

package() {
	install -m755 -D -t "$pkgdir/usr/bin/" \
		"$builddir/target/release/abos-web"

	install -m755 -D -t "$pkgdir/etc/init.d/" \
		"$builddir/etc/init.d/abos-web"
	install -m644 -D -t "$pkgdir/etc/conf.d/" \
		"$builddir/etc/conf.d/abos-web"
	install -m644 -D -t "$pkgdir/etc/doas.d/" \
		"$builddir/etc/doas.d/abos_web.conf"
	install -m755 -D -t "$pkgdir/usr/libexec/abos-web/" \
		"$builddir/scripts/"*.sh
	install -m755 -D -t "$pkgdir/usr/libexec/abos-web/openvpn/" \
		"$builddir/scripts/openvpn/"*.sh

	# use cp to follow symlinks for static directory
	mkdir -p "$pkgdir/usr/share/abos-web/static"
	cp -rL "$builddir/static/." "$pkgdir/usr/share/abos-web/static/"

	# cp variant files
	mkdir -p "$pkgdir/usr/share/abos-web/variant"
	cp -rL "$builddir/variant/." "$pkgdir/usr/share/abos-web/variant/"
}

sha512sums="
d64f43da139037addc59e99f5494df6efa9be583ad245b8819a10a77c877818b50ab7ae61807de142549f53e5bdcca930ee3faf8d126542167d1f175a7b687f2  abos-web-1.10.2.tar.gz
"
