diff --git a/testing/ocaml-ppx_sexp_conv/APKBUILD b/testing/ocaml-ppx_sexp_conv/APKBUILD
index 78cb7670c5aab6e5e2012d5e9226611e49f281f7..febe91be430e4ca825283a37e9d0b42a7832331f 100644
--- a/testing/ocaml-ppx_sexp_conv/APKBUILD
+++ b/testing/ocaml-ppx_sexp_conv/APKBUILD
@@ -2,8 +2,8 @@
 # Maintainer: Celeste <cielesti@protonmail.com>
 pkgname=ocaml-ppx_sexp_conv
 _pkgname=ppx_sexp_conv
-pkgver=0.15.1
-pkgrel=2
+pkgver=0.16.0
+pkgrel=0
 pkgdesc="[@@deriving] plugin to generate S-expression conversion functions"
 url="https://github.com/janestreet/ppx_sexp_conv"
 arch="all !riscv64"  # limited by ocaml aport
@@ -16,8 +16,8 @@ depends_dev="
 	"
 makedepends="$depends_dev dune ocaml"
 subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/janestreet/ppx_sexp_conv/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
+source="https://ocaml.janestreet.com/ocaml-core/v${pkgver%.*}/files/ppx_sexp_conv-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver"
 _ocamldir=usr/lib/ocaml
 
 # 32-bit archs
@@ -30,7 +30,7 @@ build() {
 }
 
 check() {
-	dune runtest --verbose
+	dune runtest --build-dir=.testenv --verbose
 }
 
 package() {
@@ -78,5 +78,5 @@ scan_python3_dependency() {
 }
 
 sha512sums="
-f2b669e7c7bbbc8dd4978b47b73662dd0195ae85cdd71596485211cb5ab4daedcae9be4b33796674320e0d324b7ee9f90d3b219212be98ed792e3a89ccf8c41b  ocaml-ppx_sexp_conv-0.15.1.tar.gz
+898549b8fdac328bf4583b3ee744b7fed59bb22ebcf9d5afe4268985c60f5d7b04881a7e77fc2940776afb21669e96411a244b5e4902af737c673f0cce63bb55  ppx_sexp_conv-v0.16.0.tar.gz
 "