diff --git a/community/erlang/APKBUILD b/community/erlang26/APKBUILD
similarity index 84%
rename from community/erlang/APKBUILD
rename to community/erlang26/APKBUILD
index dea90bb488f950ba402b16e566ed1407b00c6c12..24a0b71b846838a5e9085adf0b8667ee5d3dd05e 100644
--- a/community/erlang/APKBUILD
+++ b/community/erlang26/APKBUILD
@@ -1,6 +1,7 @@
 # NOTE: Please do NOT upgrade to X.0 releases of Erlang, as they tend
 # to have breaking changes which require the rest of the ecosystem to
 # catch up with.  If in doubt, do a test rebuild of community/elixir.
+_pkgname=erlang
 
 # Contributor: Michael Mason <ms13sp@gmail.com>
 # Contributor: Gabriele Santomaggio <g.santomaggio@gmail.com>
@@ -8,10 +9,12 @@
 # Contributor: Daniel Isaksen <d@duniel.no>
 # Maintainer: Celeste <cielesti@protonmail.com>
 maintainer="Celeste <cielesti@protonmail.com>"
-pkgname=erlang
 pkgver=26.2.5.9
-pkgrel=0
-pkgdesc="General-purpose programming language and runtime environment"
+pkgrel=1
+_majorver=${pkgver%%.*}
+_prevmajorver=$((_majorver - 1))
+pkgname=$_pkgname$_majorver
+pkgdesc="General-purpose programming language and runtime environment, version $_majorver"
 url="https://www.erlang.org/"
 license="Apache-2.0"
 arch="all"
@@ -26,7 +29,8 @@ makedepends="
 	wxwidgets-dev
 	zlib-dev
 	"
-subpackages="$pkgname-dev
+subpackages="
+	$pkgname-dev
 	$pkgname-doc
 	$pkgname-debugger:_mv_erlang_lib
 	$pkgname-dialyzer:_mv_erlang_lib
@@ -41,8 +45,19 @@ source="https://github.com/erlang/otp/releases/download/OTP-$pkgver/otp_src_$pkg
 
 builddir="$srcdir/otp_src_$pkgver"
 
-# Disable Java support (jinterface) on architectures that lack OpenJDK
-case "$CTARGET_ARCH" in
+# Whether this package provides "erlang" without the version suffix.
+_default_erlang="yes"
+
+if [ "$_default_erlang" = yes ]; then
+	provides="erlang=$pkgver-r$pkgrel"
+	replaces="erlang"
+fi
+
+# explicit override for previous version as well
+replaces="erlang$_prevmajorver"
+
+# Disable Java support (jinterface) on architectures that lack OpenJDK 8
+case "$CARCH" in
 	x86|armhf|armv7|x86_64|aarch64|ppc64le|s390x)
 		makedepends="$makedepends openjdk8"
 		export PATH="/usr/lib/jvm/java-1.8-openjdk/bin:$PATH"
@@ -97,8 +112,12 @@ package() {
 }
 
 _mv_erlang_lib() {
-	local lib=$(echo ${subpkgname#"$pkgname-"} | tr '-' '_')
+	_default_provide
+
 	depends="$pkgname=$pkgver-r$pkgrel"
+
+	local lib=${subpkgname#"$pkgname-"}
+	lib=${lib//-/_}
 	case "$lib" in
 		debugger)	depends="$pkgname-wx=$pkgver-r$pkgrel";;
 		dialyzer)	depends="$pkgname-wx=$pkgver-r$pkgrel";;
@@ -106,7 +125,7 @@ _mv_erlang_lib() {
 		megaco)		depends="$pkgname-debugger=$pkgver-r$pkgrel $pkgname-et=$pkgver-r$pkgrel";;
 		observer)	depends="$pkgname-et=$pkgver-r$pkgrel $pkgname-wx=$pkgver-r$pkgrel";;
 		reltool)	depends="$pkgname-wx=$pkgver-r$pkgrel";;
-		wx)		depends="$pkgname=$pkgver-r$pkgrel xauth terminus-font";;
+		wx)		depends="$pkgname=$pkgver-r$pkgrel xauth font-terminus";;
 	esac
 
 	mkdir -p "$subpkgdir"/usr/lib/erlang/lib
@@ -115,6 +134,8 @@ _mv_erlang_lib() {
 }
 
 dev() {
+	_default_provide
+
 	set -x
 	local i=''
 	depends="$pkgname=$pkgver-r$pkgrel $depends_dev"
@@ -152,6 +173,8 @@ dev() {
 
 doc() {
 	default_doc
+	_default_provide
+
 	pkgdesc="$pkgdesc (documentation chunks and man pages)"
 
 	amove usr/lib/erlang/*/info \
@@ -179,6 +202,13 @@ verifydeps() {
 	done
 }
 
+_default_provide() {
+	if [ "$_default_erlang" = yes ]; then
+		provides="erlang${subpkgname#"$pkgname"}=$pkgver-r$pkgrel"
+		replaces="erlang${subpkgname#"$pkgname"} erlang${_prevmajorver}${subpkgname#"$pkgname"}"
+	fi
+}
+
 sha512sums="
 941752b85c0d8535df73c1c17fe8e9db1125d61aa0c8669e4e5105e221206274415f6b3b5ffaaa43a78f26cf47ce3d20dd3c896a80d80f97d4c31c738eab257a  otp_src_26.2.5.9.tar.gz
 "