diff --git a/testing/vieb/APKBUILD b/testing/vieb/APKBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..038d2d3bdf052b6bb12b8d55517c6f1f1d1d7cf5
--- /dev/null
+++ b/testing/vieb/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Grigory Kirillov <txgk@bk.ru>
+pkgname=vieb
+pkgver=8.1.0
+pkgrel=0
+pkgdesc="Vim Inspired Electron Browser"
+url="https://vieb.dev"
+arch="aarch64 x86_64" # same as electron
+license="GPL-3.0-or-later"
+options="!check" # there is no test suite
+depends="electron p7zip"
+makedepends="nodejs-dev npm"
+source="https://github.com/Jelmerro/Vieb/archive/$pkgver/vieb-$pkgver.tar.gz
+	vieb
+	vieb.desktop"
+builddir="$srcdir/Vieb-$pkgver"
+
+build() {
+	npm ci --omit=dev
+	mkdir vieb
+	mv app node_modules package.json vieb
+
+	# Remove junk files.
+	find vieb -name '*.test.js' -delete
+	find vieb/node_modules -iname 'readme*' -delete
+	rm -rf vieb/node_modules/7zip-bin/linux
+	rm -rf vieb/node_modules/7zip-bin/mac
+	rm -rf vieb/node_modules/7zip-bin/win
+	sed -i s/bash/sh/ vieb/node_modules/7zip-bin/7x.sh
+	rm -rf vieb/app/defaultapp # Windows-specific
+	mv vieb/app/img/icons . # We'll need it later
+
+	npm install --package-lock=false asar
+	npx asar pack vieb app.asar --unpack-dir "{app/examples,node_modules/7zip-bin}"
+}
+
+package() {
+	install -Dm644 app.asar -t "$pkgdir"/usr/lib/vieb
+	cp -r app.asar.unpacked "$pkgdir"/usr/lib/vieb
+	install -Dm755 "$srcdir"/../vieb -t "$pkgdir"/usr/bin
+	install -Dm644 "$srcdir"/../vieb.desktop -t "$pkgdir"/usr/share/applications
+
+	for icon in icons/*; do
+		icon_base="$(basename "$icon")"
+		icon_res="${icon_base%%.*}"
+		icon_ext="${icon_base##*.}"
+		install -Dm644 "$icon" "$pkgdir/usr/share/icons/hicolor/$icon_res/apps/vieb.$icon_ext"
+	done
+}
+
+sha512sums="
+42b8f1cf11518f0a528609a89d81b43f68043af2c396b58d6ae96815720b06ac1026b3792ede0615cfa7a8865ef88f3cdfe5f590ba8ec5bba737154c850fd183  vieb-8.1.0.tar.gz
+2ab5a09674b94e9218430019799b35e3d82e888fb082ca390b8fa382be85bc8275a83480645c3232d60672c9ae7bde460d9e7b44f6fe3b9308cbc2c3bffce248  vieb
+7b27c7eac6ec06afde2d2855ecfc6d63bfd9aee2e6f0dd1a7a855a61d6eac991dc5dc3502bef0cf19ef1e62be69ac2dbfe8106d8fef2fffc7439ed3cf21aa66d  vieb.desktop
+"
diff --git a/testing/vieb/vieb b/testing/vieb/vieb
new file mode 100755
index 0000000000000000000000000000000000000000..e95cbb26a1b62b24ae97ff90cdfcd7568b75f27a
--- /dev/null
+++ b/testing/vieb/vieb
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec env USE_SYSTEM_7ZA=true electron /usr/lib/vieb/app.asar "$@"
diff --git a/testing/vieb/vieb.desktop b/testing/vieb/vieb.desktop
new file mode 100644
index 0000000000000000000000000000000000000000..8eb2eae172e94a817a75bb8e7100a89931349a1a
--- /dev/null
+++ b/testing/vieb/vieb.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Vieb
+Exec=/usr/bin/vieb %U
+Terminal=false
+Type=Application
+Icon=vieb
+StartupWMClass=Vieb
+Comment=Vim Inspired Electron Browser
+MimeType=x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https;
+Categories=Network;WebBrowser;