# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=pre-commit
pkgver=4.2.0
pkgrel=0
pkgdesc="framework for managing and maintaining multi-language pre-commit hooks"
url="https://pre-commit.com"
arch="noarch"
license="MIT"
depends="
	python3
	py3-cfgv
	py3-identify
	py3-nodeenv
	py3-yaml
	py3-toml
	py3-virtualenv
	py3-platformdirs
	"
makedepends="
	py3-gpep517
	py3-setuptools
	py3-wheel
	"
checkdepends="
	git
	py3-distlib
	py3-pytest
	py3-pytest-env
	py3-re-assert
	"
options="net"
subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/pre-commit/pre-commit/archive/refs/tags/v$pkgver.tar.gz"

prepare() {
	default_prepare
	# setup for some of the integration tests
	git init
	git config user.email "test@alpinelinux.org"
	git config user.name "Alpine Linux"
}

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

check() {
	export PYTHONPATH="."

	export GIT_AUTHOR_NAME="Alpine Linux"
	export GIT_COMMITTER_NAME="Alpine Linux"
	export GIT_AUTHOR_EMAIL="test@alpinelinux.org"
	export GIT_COMMITTER_EMAIL="test@alpinelinux.org"
	export PRE_COMMIT_NO_CONCURRENCY=1

	python3 -m venv --clear --without-pip --system-site-packages .testenv
	.testenv/bin/python3 -m installer .dist/*.whl

	PATH="$PATH:$PWD/testenv/bin" \
		.testenv/bin/python3 -m pytest -v \
		--ignore tests/languages
}

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

sha512sums="
6843c56ae06c8c2cabb23e72217a1a8696ede4e4ddf2d4fae28c43076438e47e6f9d73642377b529ce629f184ece4c0076df613afff233ca1e28c5aa672f3b4a  pre-commit-4.2.0.tar.gz
"
