# Template file for 'synapse'
pkgname=synapse
version=1.69.0
revision=1
build_style=python3-pep517
build_helper=rust
make_check_target=tests
make_install_target="matrix_synapse-${version}-*-*-*.whl"
hostmakedepends="python3-poetry-core python3-setuptools-rust cargo"
depends="python3-jsonschema python3-frozendict python3-canonicaljson
 python3-signedjson python3-pynacl python3-service_identity python3-Twisted
 python3-openssl python3-yaml python3-pyasn1 python3-pyasn1-modules
 python3-bcrypt python3-Pillow python3-psutil python3-msgpack
 python3-phonenumbers python3-prometheus_client python3-attrs python3-netaddr
 python3-setuptools python3-bleach python3-Jinja2 python3-psycopg2 python3-lxml
 python3-saml2 python3-treq python3-macaroons python3-sortedcontainers
 python3-typing_extensions python3-ijson python3-matrix-common
 python3-packaging python3-pydantic"
checkdepends="$depends python3-parameterized unzip"
short_desc="Matrix reference homeserver"
maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
license="Apache-2.0"
homepage="https://github.com/matrix-org/synapse"
changelog="https://raw.githubusercontent.com/matrix-org/synapse/develop/CHANGES.md"
distfiles="https://github.com/matrix-org/synapse/archive/v${version}.tar.gz"
checksum=6954fdee1b5ec27083ecafdbb8719133c147885348ceb7f7a081d4f97cee0026

if [ "$CROSS_BUILD" ]; then
	makedepends+=" rust-std"
fi

system_accounts="synapse"
synapse_homedir="/var/lib/synapse"

make_dirs="
	/var/lib/synapse 0700 synapse synapse
	/etc/synapse 755 synapse synapse
	/var/log/synapse 0755 synapse synapse"

pre_check() {
	unzip ${make_install_target} "*.dist-info/*"
	[ -d build/lib* ] && cp -r tests build/lib*
}

do_check() {
	PYTHONPATH="$(cd build/lib* && pwd):." trial3 ${makejobs} tests
}

post_check() {
	rm -r build/lib*/tests
}

post_install() {
	vsv synapse

	vsconf docs/sample_config.yaml homeserver.yaml
	vsconf docs/sample_log_config.yaml log.yaml
}
