diff --git a/community/clasp/APKBUILD b/community/clasp/APKBUILD
index 1e666b154b9f624cadf65e6f1242bcad338454a0..1fd91a7a64d3058506cefdc5a4811203c48d8ff4 100644
--- a/community/clasp/APKBUILD
+++ b/community/clasp/APKBUILD
@@ -1,38 +1,36 @@
 # Contributor: Anil Madhavapeddy <anil@recoil.org>
 # Maintainer:
 pkgname=clasp
-pkgver=3.3.7
+pkgver=3.3.9
 pkgrel=0
 pkgdesc="Answer set solver for (extended) normal logic programs"
 url="https://potassco.org/"
 arch="all"
 license="MIT"
-makedepends="cmake"
+makedepends="cmake samurai"
 source="https://github.com/potassco/clasp/releases/download/v$pkgver/clasp-$pkgver-source.tar.gz"
 
 build() {
 	if [ "$CBUILD" != "$CHOST" ]; then
 		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
 	fi
-	cmake \
+	cmake -B build -G Ninja \
 		-DCMAKE_BUILD_TYPE=MinSizeRel \
 		-DCMAKE_INSTALL_PREFIX=/usr \
 		-DCLASP_BUILD_APP=ON \
 		-DCLASP_BUILD_TESTS=ON \
-		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-		-DCMAKE_C_FLAGS="$CFLAGS" \
-		$CMAKE_CROSSOPTS .
-	make
+		$CMAKE_CROSSOPTS
+	cmake --build build
 }
 
 check() {
-	make test CTEST_OUTPUT_ON_FAILURE=1
+	CTEST_OUTPUT_ON_FAILURE=1 ninja -C build test
 }
 
 package() {
-	make DESTDIR="$pkgdir" install
+	DESTDIR="$pkgdir" cmake --install build
 }
 
 sha512sums="
-09b6ed2ac4112261b706444122a88403d70b4714efaca04bb3c6510fb40b7bdd00b23fda10d94457d1a7f97d471516d6f6de9d46cf8ac9d2c23d7c4f97c83475  clasp-3.3.7-source.tar.gz
+36cf171dfe825deae2f0ecaa1cae11a84d7cf1711f3e568ae001473f3aeb9fa28006ee66eb09cbfb56c2b040ae816d9b836d84c3842fea1155259fca9b2ad698  clasp-3.3.9-source.tar.gz
 "