maintainer="Bart Ribbers <bribbers@disroot.org>"
pkgname=py3-ovos-utils
pkgver=0.5.4
pkgrel=0
pkgdesc="Collection of simple utilities for use across the MyCroft ecosystem"
url="https://github.com/OpenVoiceOS/ovos_utils"
arch="noarch"
license="Apache-2.0"
depends="
	py3-json-database
	py3-kthread
	py3-langcodes
	py3-orjson
	py3-pexpect
	py3-pyee
	py3-rapidfuzz
	py3-requests
	py3-watchdog
	"
makedepends="
	py3-gpep517
	py3-setuptools
	py3-wheel
	"
checkdepends="
	py3-dateutil
	py3-pytest
	"
subpackages="$pkgname-pyc"
source="https://github.com/OpenVoiceOS/ovos_utils/archive/$pkgver/ovos_utils-$pkgver.tar.gz"
builddir="$srcdir/ovos-utils-$pkgver"

build() {
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2
}

check() {
	python3 -m venv --clear --without-pip --system-site-packages .testenv
	.testenv/bin/python3 -m installer .dist/*.whl
	# Ignored tests cause circular dependencies on py3-ovos-config, ovos-messagebus and py3-ovos-bus-client
	.testenv/bin/python3 -m pytest -k 'not test_event_scheduler_interface and not test_get_source_message' \
		--ignore test/unittests/test_gui.py \
		--ignore test/unittests/test_skills.py \
		--ignore test/unittests/test_time.py \
		--ignore test/unittests/test_events.py \
		--ignore test/unittests/test_audio_utils.py \
		--ignore test/unittests/test_event_scheduler.py \
		--ignore test/unittests/test_lock.py \
		--deselect test/unittests/test_audio_utils.py::TestPlaySounds \
		--deselect test/unittests/test_device_input.py \
		--deselect test/unittests/test_log.py
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/*.whl
}

sha512sums="
6008f867363cf22b8847e784f745eb3d3c383dce0f29bbd2c9ff289a46290d3b4b5aa7b8c55c0f3d34d843d2958f8ba5810557a25d679d834d21bb767a453d79  ovos_utils-0.5.4.tar.gz
"
