# Maintainer: George Rawlinson <george@rawlinson.net.nz>

pkgname=nextcloud-app-client-push
_pkgname=notify_push
pkgver=0.2.1
pkgrel=1
pkgdesc="Push update support for Nextcloud clients"
arch=('x86_64')
url="https://github.com/nextcloud/notify_push"
license=('AGPL')
depends=('nextcloud' 'gcc-libs')
makedepends=('cargo')
optdepends=('redis: use a local redis server')
install="$pkgname.install"
source=(
  "$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
	"$pkgname.hook"
	"$pkgname.service"
)
b2sums=('ebc6f1480e4e4c51ec9c0d48735b56dfa8643831f58f711e90edce98f4cf8c9bb88347461ec1793e92b7312c0c050ad65b97668bc732885c6d29700fd43c84a5'
        '1dd7720beba1482e1759f7dea8e9c07ae32f2107fc45fe94388993e66ad9a442771209af086b36e0cc50ab36e7a3990c6f3a120e24a525292f906e0d1a3434cd'
        '28f2c102b1370ef7d9bc5bc736f71ccb4708e50285a1f6592535efe2ad0c301e99707021bdc4fe2be131082b1589329334b30ad0ad1e6a6764c189fb4f287170')

prepare() {
	# kludgy workaround to specify target architecture
	sed -i "s/ARCH/$CARCH/" "$pkgname.service"
}

build() {
	cd "$_pkgname-$pkgver"
	cargo build --release --locked --all-features
}

check() {
	cd "$_pkgname-$pkgver"
	cargo test --release --locked --all-features
}

package() {
	local _appdir="$pkgdir/usr/share/webapps/nextcloud/apps/$_pkgname"
	cd "$_pkgname-$pkgver"

	# documentation
	install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" \
		README.md \
		"$srcdir/$pkgname.hook"

	# app files
	install -d "$_appdir"
	cp -a . "$_appdir"

	# binary
	install -Dm755 -t "$_appdir/bin/$CARCH" "target/release/$_pkgname"

	# systemd integration
	install -Dm644 -t "$pkgdir/usr/lib/systemd/system" "$srcdir/$pkgname.service"

	# cleanup
	cd "$_appdir"
	rm .dockerignore
	cat .nextcloudignore | xargs echo rm -rf | sh
}