maintainer="leso-kn <info@lesosoftware.com>"
pkgname=baikal
pkgver=0.10.1
pkgrel=1
pkgdesc="Baïkal is a Calendar+Contacts server"
url="https://sabre.io/baikal"
arch="noarch"
license="GPL-3.0-only"
_phpv=84
_php=php$_phpv
_composer="$_php -d memory_limit=512M /usr/bin/composer.phar"
_phpstan="$_php -d memory_limit=512M vendor/phpstan/phpstan/phpstan.phar"
makedepends="
	$_php
	$_php-phar
	composer
	rsync
	"
depends="
	$_php-curl
	$_php-dom
	$_php-iconv
	$_php-openssl
	$_php-pdo
	$_php-session
	$_php-simplexml
	$_php-tokenizer
	$_php-xmlreader
	$_php-xmlwriter
	"
subpackages="
	$pkgname-mysql
	$pkgname-pgsql
	$pkgname-sqlite
	"
install="$pkgname-sqlite.post-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/sabre-io/baikal/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir"/Baikal-$pkgver
_grp_www="www-data"

build() {
	mkdir -p build/baikal/Specific/db build/baikal/config
	rsync -av \
		Core html LICENSE README.md composer.json \
		--exclude="*.swp" \
		build/baikal
	$_composer install --no-interaction --no-dev -d build/baikal
}

check() {
	$_composer remove --dev friendsofphp/php-cs-fixer
	$_phpstan analyse Core html
}

package() {
	mkdir -p "$pkgdir"/usr/share/webapps

	cp -r build/baikal "$pkgdir"/usr/share/webapps

	ln -s html "$pkgdir"/usr/share/webapps/baikal/htm

	chgrp $_grp_www "$pkgdir"/usr/share/webapps/baikal/config \
		"$pkgdir"/usr/share/webapps/baikal/Specific/db
	chmod 775 "$pkgdir"/usr/share/webapps/baikal/config \
		"$pkgdir"/usr/share/webapps/baikal/Specific/db
}

mysql() {
	depends="$pkgname $_php-pdo_mysql"
	pkgdesc="$pkgdesc (MySQL backend)"

	mkdir -p "$subpkgdir"
}

pgsql() {
	depends="$pkgname $_php-pdo_pgsql"
	pkgdesc="$pkgdesc (PostgreSQL backend)"

	mkdir -p "$subpkgdir"
}

sqlite() {
	depends="$pkgname $_php-pdo_sqlite"
	pkgdesc="$pkgdesc (SQLite backend)"

	mkdir -p "$subpkgdir"
}

sha512sums="
b4cedd3e8f24293fb17cfa5381b902f8fed865d4dea7d457146a84396e1d0641c317ca1f4f537187b40b57d3117e6da552fb6d1c22575bfd06a489a057132454  baikal-0.10.1.tar.gz
"
