diff --git a/community/pgcli/APKBUILD b/community/pgcli/APKBUILD
index 74272ab332db990f84994f8658773a9b3ddc248a..01b818f03532d0462ab370f7dcc378371c909c63 100644
--- a/community/pgcli/APKBUILD
+++ b/community/pgcli/APKBUILD
@@ -13,6 +13,7 @@ depends="python3
 	py3-click
 	py3-configobj
 	py3-humanize
+	py3-gpep517
 	py3-pendulum
 	py3-pgspecial
 	py3-prompt_toolkit>2.0.0
@@ -21,22 +22,29 @@ depends="python3
 	py3-setproctitle
 	py3-setuptools
 	py3-sqlparse<0.5.0
-	py3-wcwidth"
+	py3-wcwidth
+	py3-wheel
+	"
 checkdepends="pytest py3-mock"
 makedepends="python3-dev"
 subpackages="$pkgname-pyc"
 source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/p/pgcli/pgcli-$pkgver.tar.gz"
 
-check() {
-	python3 -m pytest tests
+build() {
+	gpep517 build-wheel \
+		--wheel-dir .dist \
+		--output-fd 3 3>&1 >&2
 }
 
-build() {
-	python3 setup.py build
+check() {
+	python3 -m venv --clear --without-pip --system-site-packages .testenv
+	.testenv/bin/python3 -m installer .dist/*.whl
+	.testenv/bin/python3 -m pytest
 }
 
 package() {
-	python3 setup.py install --skip-build --root="$pkgdir"
+	python3 -m installer -d "$pkgdir" \
+		.dist/*.whl
 }
 
 sha512sums="