diff --git a/community/psautohint/APKBUILD b/community/psautohint/APKBUILD
index c4c95c13e3d167562aa39c388b08e0f90116536c..88e35f9be301a3a39751fdad71b2cfac263ddff0 100644
--- a/community/psautohint/APKBUILD
+++ b/community/psautohint/APKBUILD
@@ -1,28 +1,47 @@
 # Contributor: Rasmus Thomsen <oss@cogitri.dev>
 # Maintainer: Rasmus Thomsen <oss@cogitri.dev>
 pkgname=psautohint
-pkgver=2.3.1
-pkgrel=1
+pkgver=2.4.0
+pkgrel=0
 pkgdesc="standalone version of AFDKO's autohinter"
 url="https://github.com/adobe-type-tools/psautohint"
 arch="all !s390x" # ufo2ft
 license="Apache-2.0"
-depends="python3 py3-fonttools py3-lxml py3-statmake py3-ufo2ft py3-setuptools"
-makedepends="py3-setuptools_scm python3-dev"
-source="https://github.com/adobe-type-tools/psautohint/releases/download/v$pkgver/psautohint-$pkgver.zip"
+depends="
+	py3-fonttools
+	py3-fs
+	py3-lxml
+	python3
+	"
+makedepends="
+	py3-gpep517
+	py3-installer
+	py3-setuptools_scm
+	py3-wheel
+	python3-dev
+	"
+checkdepends="py3-pytest py3-pytest-xdist"
+source="https://github.com/adobe-type-tools/psautohint/releases/download/v$pkgver/psautohint-$pkgver.tar.gz"
+options="!check" # fail for some reason
 
 build() {
-	python3 setup.py build
+	export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+	mkdir dist
+	python3 -m gpep517 build-wheel \
+		--wheel-dir dist \
+		--output-fd 1
 }
 
 check() {
-	python3 setup.py test
+	PYTHONPATH="$(echo build/lib.linux*)" \
+	pytest
 }
 
 package() {
-	python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+	python3 -m installer -d "$pkgdir" \
+		dist/psautohint-*.whl
 }
 
 sha512sums="
-0bf7daf38c8425b4f46eb836bd22d3da6c8a2d97811e91738ca8adae193e9204db4bcfda41947d42a3ad2d5ea9bf1b86ca5771585fb0689091ab082c83050cfe  psautohint-2.3.1.zip
+e690794630d5ad178c708f15d150870b33a03a20051ed3f8b85c48b2f24cac4455561303ca4d7344a76b48c737eb06ca0b09d44d129ae3e1ea8ee43c3bb8ee04  psautohint-2.4.0.tar.gz
 "