diff --git a/testing/ocaml-re/APKBUILD b/testing/ocaml-re/APKBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..40bc4282515688eddeccc0725b8c4a0fef8b9684
--- /dev/null
+++ b/testing/ocaml-re/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer:
+pkgname=ocaml-re
+_pkgname=re
+pkgver=1.10.4
+pkgrel=0
+pkgdesc="Pure OCaml regular expressions, with support for Perl and POSIX-style strings"
+url="https://github.com/ocaml/ocaml-re"
+arch="all !riscv64"  # limited by ocaml aport
+license="LGPL-2.1-or-later"
+depends="ocaml-runtime"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+checkdepends="ocaml-ounit-dev"
+options="!check"
+makedepends="dune ocaml ocaml-findlib ocamlbuild ocaml-seq-dev"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/ocaml/ocaml-re/releases/download/$pkgver/re-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+	arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+	export OCAMLPATH=/usr/lib/ocaml
+	dune build @install
+}
+
+check() {
+	dune runtest
+}
+
+package() {
+	dune install \
+		--destdir="$pkgdir" \
+		--prefix=/usr \
+		--libdir=/usr/lib/ocaml
+
+	# There's just a readme and changelog.
+	rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+	default_dev
+
+	cd "$pkgdir"
+
+	local path; for path in $(find usr/lib/ocaml \( \
+			-name '*.cmt' -o \
+			-name '*.cmti' -o \
+			-name '*.cmx' -o \
+			-name '*.cmxa' -o \
+			-name '*.ml' -o \
+			-name '*.mli' \
+		\))
+	do
+		amove "$path"
+	done
+}
+
+sha512sums="
+92b05cf92c389fa8c753f2acca837b15dd05a4a2e8e2bec7a269d2e14c35b1a786d394258376648f80b4b99250ba1900cfe68230b8385aeac153149d9ce56099  ocaml-re-1.10.4.tar.bz2
+"
diff --git a/unmaintained/ocaml-re/APKBUILD b/unmaintained/ocaml-re/APKBUILD
deleted file mode 100644
index c11711bc4d16fe4f0ab946db9e6fb5a9c2e8d8a4..0000000000000000000000000000000000000000
--- a/unmaintained/ocaml-re/APKBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=ocaml-re
-pkgver=1.7.3
-pkgrel=1
-pkgdesc="Pure OCaml regular expressions, with support for Perl and POSIX-style strings"
-url="https://github.com/ocaml/ocaml-re"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64"  # limited by ocaml aport
-license="LGPL-2.1-or-later"
-depends="ocaml-runtime"
-depends_dev="$pkgname=$pkgver-r$pkgrel"
-checkdepends="ocaml-ounit-dev"
-makedepends="dune ocaml ocaml-findlib ocamlbuild opam"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/$pkgname/archive/$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
-
-build() {
-	cd "$builddir"
-	jbuilder build @install
-}
-
-check() {
-	cd "$builddir"
-	jbuilder runtest
-}
-
-package() {
-	cd "$builddir"
-
-	mkdir -p "$pkgdir"/usr/lib/ocaml
-	jbuilder install \
-		--destdir="$pkgdir"/usr \
-		--libdir="$pkgdir"/usr/lib/ocaml
-
-	cd "$pkgdir"
-
-	# There's just a readme and changelog.
-	rm -Rf usr/doc
-
-	# Remove annotation files and sources.
-	find usr/lib/ocaml \( \
-		-name '*.cmt' -o \
-		-name '*.cmti' -o \
-		-name '*.ml' \) -delete
-}
-
-dev() {
-	default_dev
-
-	cd "$pkgdir"
-
-	local path; for path in $(find usr/lib/ocaml/re \
-		-name '*.cmx' -o \
-		-name '*.cmxa' -o \
-		-name '*.mli')
-	do
-		mkdir -p "${path%/*}"
-		mv "$path" "$subpkgdir"/${path%/*}/
-	done
-
-}
-
-sha512sums="3d161cb46fa0e855bfbae29b5b769f0054b51e4021f8a66ff8d6a9eee257ba4b02ab7202337d35c4ed2a033560a7b69676525f32cb18406881bed2e68db2ca55  ocaml-re-1.7.3.tar.gz"