diff --git a/testing/xonsh/APKBUILD b/testing/xonsh/APKBUILD
index 9e94d70bb13ba92f7a58c2826a2cddfc3dd3ba8d..3d74516d6c4c7054b334efe56d8413cfb2080eeb 100644
--- a/testing/xonsh/APKBUILD
+++ b/testing/xonsh/APKBUILD
@@ -1,31 +1,59 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
 # Contributor: vinnie <fz12345@gmail.com>
 # Maintainer: vinnie <fz12345@gmail.com>
 pkgname=xonsh
-pkgver=0.11.0
+pkgver=0.13.1
 pkgrel=0
 pkgdesc="Python-powered, cross-platform, Unix-gazing shell"
 url="https://xon.sh"
 arch="noarch"
 license="BSD-2-Clause"
-options="!check"  #flake8-docstrings missing, maybe later
 depends="
-	py3-pygments>=2.2
-	py3-prompt_toolkit>=3.0
 	py3-distro
-	py3-setproctitle
+	py3-prompt_toolkit>=3.0
+	py3-pygments>=2.2
+	py3-pyperclip
+	py3-ujson
+	"
+makedepends="py3-setuptools py3-build py3-installer py3-wheel"
+checkdepends="
+	bash
+	git
+	man-db
+	util-linux-misc
+	py3-pip
+	py3-pyte
+	py3-pytest
+	py3-pytest-mock
+	py3-pytest-rerunfailures
+	py3-pytest-subprocess
+	py3-pytest-timeout
+	py3-virtualenv
 	"
-makedepends="py3-setuptools"
 source="$pkgname-$pkgver.tar.gz::https://github.com/xonsh/xonsh/archive/$pkgver.tar.gz"
 
 build() {
-	python3 setup.py build
+	python3 -m build --no-isolation --wheel
 }
 
+check() {
+	# tests/test_integrations.py: TypeError: expected str, bytes or os.PathLike object, not NoneType
+	# tests/test_ptk_shell.py: AttributeError: __enter__
+	# tests/test_pipelines.py, tests/completers/test_bash_completer.py, tests/procs/test_specs.py: AssertionError with hiddent output of `echo -n`, `ls` and `dd` subprocesses
+	# tests/completers/test_bash_completer.py: AssertionError: assert <class 'subprocess.Popen'> is PopenThread (`pwd` command)
+	python3 -m pytest \
+		--ignore=tests/test_integrations.py \
+		--ignore=tests/test_pipelines.py \
+		--ignore=tests/test_ptk_shell.py \
+		--ignore=tests/completers/test_bash_completer.py \
+		--ignore=tests/procs/test_specs.py
+}
 
 package() {
-	python3 setup.py install --prefix=/usr --root="$pkgdir"
+	python3 -m installer -d "$pkgdir" \
+		dist/$pkgname-$pkgver-*none-any.whl
 }
 
 sha512sums="
-e79c6b0ef78c8775f077d2e9a191144a5f37f42adda7305c40164231eff4bf2f54824cf7fb6baef038f91ada2b9901a6ebe32ecee93ffe5425c608f06f679227  xonsh-0.11.0.tar.gz
+fa8e5f84f32aa7ba12794c1200db8ae7faae5204de849c806dfede487c0784c38bbf24f55c80fdf53419eb068fe22f4b8374b932bd3b7d10db1f052fbe967fdc  xonsh-0.13.1.tar.gz
 "
diff --git a/testing/xonsh/xonsh.post-install b/testing/xonsh/xonsh.post-install
new file mode 100644
index 0000000000000000000000000000000000000000..253465b2ac5af374b37e32f4b15c387723383e63
--- /dev/null
+++ b/testing/xonsh/xonsh.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+add-shell '/usr/bin/xonsh'
+exit 0
diff --git a/testing/xonsh/xonsh.post-upgrade b/testing/xonsh/xonsh.post-upgrade
new file mode 120000
index 0000000000000000000000000000000000000000..043e81e0c338636b08a7ea43be905e097a345409
--- /dev/null
+++ b/testing/xonsh/xonsh.post-upgrade
@@ -0,0 +1 @@
+xonsh.post-install
\ No newline at end of file
diff --git a/testing/xonsh/xonsh.pre-deinstall b/testing/xonsh/xonsh.pre-deinstall
new file mode 100644
index 0000000000000000000000000000000000000000..c2d7870a5df3f6e3359792f60875f9f80a62cb63
--- /dev/null
+++ b/testing/xonsh/xonsh.pre-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+remove-shell '/usr/bin/xonsh'
+exit 0