diff --git a/main/acf-lib/APKBUILD b/main/acf-lib/APKBUILD
index 457ea511986fbf04c71bf6aa5889c124ed9c29a5..2aec2ebe3595d10891de0876b0a73fe65dbaaf96 100644
--- a/main/acf-lib/APKBUILD
+++ b/main/acf-lib/APKBUILD
@@ -11,7 +11,7 @@ license="GPL-2.0-only"
 options="!check" # no test suite
 depends="lua-subprocess"
 for _i in $_luaversions; do
-	subpackages="$subpackages acf-lib-lua$_i:split_${_i/./_}"
+	subpackages="$subpackages acf-lib-lua$_i:_split"
 done
 source="https://gitlab.alpinelinux.org/acf/acf-lib/-/archive/v$pkgver/acf-lib-v$pkgver.tar.gz"
 builddir="$srcdir/$pkgname-v$pkgver"
@@ -26,17 +26,13 @@ package() {
 }
 
 _split() {
-	local _ver=$1
+	local _ver=${subpkgname#acf-lib-lua}
 	pkgdesc="Lua $_ver libraries for ACF"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	replaces="$pkgname"
 	depends=""
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="
 7ad8cfe6475f7febaaf0ed8774d78d4e53a4ebfa0de9d65249b0c4c1ef316211c4d3e5339dc502f8c8d27906f6c8b3e54a74e3b5d00b8b5cf26e6b01861b2aef  acf-lib-v0.11.1.tar.gz
 "
diff --git a/main/haserl/APKBUILD b/main/haserl/APKBUILD
index 37f858a157073f64562668be262d6726fa32c1f5..931154c0c093a3b1fa623622818172f2aabe1fd1 100644
--- a/main/haserl/APKBUILD
+++ b/main/haserl/APKBUILD
@@ -13,7 +13,7 @@ subpackages="$pkgname-doc"
 for _i in $_luaversions; do
 	depends="$depends haserl-lua$_i"
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages haserl-lua$_i:split_${_i/./_}"
+	subpackages="$subpackages haserl-lua$_i:_split"
 done
 options="suid !check" # no test suite
 source="https://downloads.sourceforge.net/haserl/haserl-$pkgver.tar.gz"
@@ -58,7 +58,7 @@ package() {
 }
 
 _split() {
-	local _ver=$1
+	local _ver=${subpkgname#haserl-lua}
 	pkgdesc="Html And Shell Embedded Report Language with Lua $_ver support"
 	replaces="$pkgname"
 	depends=
@@ -66,8 +66,4 @@ _split() {
 	amove usr/bin/haserl-lua$_ver
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="727c6b4cf26bb7fd9d55c328dcca47dc0093b2836cd4874ad28a9c07d9ad4c82c22b899f64df33bad37325f66ce1af8aec1fe0a90e42b9f6cc06b01afe3062d9  haserl-0.9.36.tar.gz"
diff --git a/main/lua-alt-getopt/APKBUILD b/main/lua-alt-getopt/APKBUILD
index 881b0e293f8c197c09bc653253246840ddb27cb6..d3920e13406c94f290130ae1d9117b77a888b4f1 100644
--- a/main/lua-alt-getopt/APKBUILD
+++ b/main/lua-alt-getopt/APKBUILD
@@ -14,7 +14,7 @@ options="!check"
 _luaversions="5.1 5.2 5.3 5.4"
 for _v in $_luaversions; do
 	makedepends="$makedepends lua$_v-dev"
-	subpackages="$subpackages lua$_v-alt-getopt:split_${_v/./_}"
+	subpackages="$subpackages lua$_v-alt-getopt:_split"
 done
 
 package() {
@@ -26,7 +26,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
@@ -38,8 +39,4 @@ _split() {
 	done
 }
 
-for _v in $_luaversions; do
-	eval "split_${_v/./_}() { _split $_v; }"
-done
-
 sha512sums="1c0768e98793ee060a8a70bc47355abf5feac3b51d9844a26816267c0901df9f30c9ef3280766dec2c5b754123ca548c8f49cb294bf4f04c378c62ea377e09de  lua-alt-getopt-0.8.0.tar.gz"
diff --git a/main/lua-discount/APKBUILD b/main/lua-discount/APKBUILD
index a2a709131230fcea97d7a6e34f317cafdad70426..71153cd572d2815d9be68a90e458db71512d31d3 100644
--- a/main/lua-discount/APKBUILD
+++ b/main/lua-discount/APKBUILD
@@ -11,7 +11,7 @@ license="custom" # BSD-based custom license
 subpackages="$pkgname-doc"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-discount:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-discount:_split"
 done
 source="https://dev.alpinelinux.org/archive/lua-discount/lua-discount-$pkgver.tar.gz"
 options="!check"
@@ -34,7 +34,8 @@ package() {
 }
 
 _split() {
-	local _ver=$1
+	local _ver=$1 _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=""
@@ -42,10 +43,6 @@ _split() {
 	mv "$pkgdir"/usr/lib/lua/$_ver "$subpkgdir"/usr/lib/lua/
 }
 
-for _v in $_luaversions; do
-	eval "split_${_v/./_}() { _split $_v; }"
-done
-
 sha512sums="
 84c26a19d97ca085c785d1916b05bc0c78a2b5a0965d7feeef9a545c4b69c71627791c5d560bcb529c9ed414ed2ebe99f253879d6eae593a5b6f93291d66d5b1  lua-discount-1.2.10.1.tar.gz
 "
diff --git a/main/lua-expat/APKBUILD b/main/lua-expat/APKBUILD
index 5489269f3bb9cd4658eaa0a274081c58d348b7c8..07740b9efdcdd27c00a5b0dfec10938ae611c017 100644
--- a/main/lua-expat/APKBUILD
+++ b/main/lua-expat/APKBUILD
@@ -12,7 +12,7 @@ license="MIT"
 makedepends="expat-dev"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-$_name:_split${_i/./}"
+	subpackages="$subpackages lua$_i-$_name:_split"
 done
 
 source="$pkgname-$pkgver.tar.gz::https://github.com/lunarmodules/luaexpat/archive/refs/tags/$pkgver.tar.gz"
@@ -35,7 +35,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
@@ -47,10 +48,6 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "_split${_i/./}() { _split $_i; }"
-done
-
 sha512sums="
 45834b02d863a65c6de2ad3c5c671935ae512dd906233a647269438aeeb37c7bbd6e7166aefd8da72480b33e1aa79a86ed070ed8800a8e0f303ccc74918f3bb8  lua-expat-1.5.1.tar.gz
 "
diff --git a/main/lua-iconv/APKBUILD b/main/lua-iconv/APKBUILD
index 00697ce5a64f4f2be7f5f7f7d3be8819f3885518..6908bd147c7c5f9c74557c319ed8aec0bdd9e400 100644
--- a/main/lua-iconv/APKBUILD
+++ b/main/lua-iconv/APKBUILD
@@ -9,7 +9,7 @@ arch="all"
 license="MIT"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-iconv:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-iconv:_split"
 done
 source="$pkgname-$pkgver-2.tar.gz::https://github.com/ittner/lua-iconv/archive/refs/tags/lua-iconv-$pkgver.tar.gz
 	0001-lua-iconv-make-close-available-from-lua.patch
@@ -41,18 +41,15 @@ package() {
 }
 
 _split() {
-	local d=usr/lib/lua _ver=$1
+	local d=usr/lib/lua _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
 	mkdir -p "$subpkgdir/$d"
-	mv "$pkgdir/$d/$1" "$subpkgdir/$d"
+	mv "$pkgdir/$d/$_ver" "$subpkgdir/$d"
 }
 
-for _v in $_luaversions; do
-	eval "split_${_v/./_}() { _split $_v; }"
-done
-
 sha512sums="
 7fae8be68878747a6bcb559d1548f7d0b330d519cdf306f6ec8250cb914ed971ba1a86fef20771a5add728d796c613c32544c20ba4f8b4315d20ee8ac39a607f  lua-iconv-7-2.tar.gz
 472e6611638d57c6c99fcfe53defa9766d89c45f6eec5fb4dd31bd63a119901a99fa2219d38d66644d00c0fcfd006418ccb3ee5c0496f2397d3d76d05ae0cee9  0001-lua-iconv-make-close-available-from-lua.patch
diff --git a/main/lua-lzlib/APKBUILD b/main/lua-lzlib/APKBUILD
index b75c64198b457728075bd1df978e818abbca350a..26b7b977b778ab0a6b6b3afa26e6ad7bc59cebd1 100644
--- a/main/lua-lzlib/APKBUILD
+++ b/main/lua-lzlib/APKBUILD
@@ -13,7 +13,7 @@ license="MIT"
 makedepends="zlib-dev"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-lzlib:_zlib_${_i/./_}"
+	subpackages="$subpackages lua$_i-lzlib:_split"
 done
 source="$pkgname-$pkgver.tar.gz::https://github.com/LuaDist/$_name/archive/$pkgver.tar.gz"
 
@@ -42,8 +42,9 @@ package() {
 	mkdir -p "$pkgdir"
 }
 
-_split_zlib() {
-	local _ver=$1
+_split() {
+	local _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=""
@@ -53,8 +54,4 @@ _split_zlib() {
 	install -Dm644 gzip.lua "$subpkgdir"/usr/share/lua/$_ver/gzip.lua
 }
 
-for _i in $_luaversions; do
-	eval "_zlib_${_i/./_}() { _split_zlib $_i; }"
-done
-
 sha512sums="7f90533091ed4917019a26c1a944101dffbaaeac8c6608d9a9e078e624f8598f46e8fee939680dcea95317d752ca6bb85b21fb611f003ddbae362fa36e05e9c3  lua-lzlib-0.4.3.tar.gz"
diff --git a/main/lua-maxminddb/APKBUILD b/main/lua-maxminddb/APKBUILD
index f96555b754b68f3c782d97cfa1015e76c725a9a2..ef021ec92bbcdb2b1c33ff076218fd170b092f18 100644
--- a/main/lua-maxminddb/APKBUILD
+++ b/main/lua-maxminddb/APKBUILD
@@ -12,7 +12,7 @@ makedepends="libmaxminddb-dev"
 for _i in $_luaversions; do
 	depends="$depends lua$_i-maxminddb"
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-maxminddb:_maxminddb_${_i/./_}"
+	subpackages="$subpackages lua$_i-maxminddb:_split"
 done
 source="$pkgname-$pkgver.tar.gz::https://github.com/fabled/lua-maxminddb/archive/v$pkgver.tar.gz"
 options="!check"
@@ -38,8 +38,9 @@ package() {
 	mkdir -p "$pkgdir"
 }
 
-_split_maxminddb() {
-	local _ver=$1
+_split() {
+	local _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=""
@@ -48,8 +49,4 @@ _split_maxminddb() {
 	make install LUA_PKG="lua$_ver" DESTDIR="$subpkgdir"
 }
 
-for _i in $_luaversions; do
-	eval "_maxminddb_${_i/./_}() { _split_maxminddb $_i; }"
-done
-
 sha512sums="37fb3e37e24dd6188a1d38945056acd8444d0963af5c53b3c3af51f02130d0eeeb2d32428fae9e75f55db49b7caefe557389f93e27208729222b1a91e63dff0a  lua-maxminddb-0.1.tar.gz"
diff --git a/main/lua-md5/APKBUILD b/main/lua-md5/APKBUILD
index 595c1c63bb40548eccef5b4a5bae9cf2b9d5874f..eeddec80d246a2f176e487bec779a48d3f351cd3 100644
--- a/main/lua-md5/APKBUILD
+++ b/main/lua-md5/APKBUILD
@@ -10,7 +10,7 @@ arch="all"
 license="MIT"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-md5:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-md5:_split"
 done
 source="lua-md5-$pkgver.tar.gz::https://github.com/keplerproject/md5/archive/$pkgver.tar.gz
 	create-libdir.patch
@@ -45,7 +45,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="Basic cryptographic facilities for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
@@ -57,9 +58,5 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="eda222b89432228a03c603237a787d55b6d0251f53ee3da11aaf0369ff26e3497ed8479a295b659e02b3fee85c636cd5f8cc9fd68367bf4ed2d3edcbbc373903  lua-md5-1.3.tar.gz
 85d267a648f2aa764841a131082952a8605a7892f491e271ed83f0413c8a7fa9fa30d89928da63d89883eecddb89e67473b37daed7036f8a535a557d4e3f27d8  create-libdir.patch"
diff --git a/main/lua-microlight/APKBUILD b/main/lua-microlight/APKBUILD
index a17dbc979b8bbea8c05f78000d7eb6791148ccdf..c8b279e312a86653747b3b6dbd6f051143e6f72e 100644
--- a/main/lua-microlight/APKBUILD
+++ b/main/lua-microlight/APKBUILD
@@ -10,7 +10,7 @@ arch="noarch"
 license="MIT"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-microlight:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-microlight:_split"
 done
 source="lua-microlight-$pkgver.tar.gz::https://github.com/stevedonovan/Microlight/archive/$pkgver.tar.gz
 	fix-lua-5.3.patch
@@ -31,7 +31,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="a really compact set of general functions for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
@@ -43,10 +44,6 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="
 debffab0c599754cb70852e82b2cb76af16dcefa7c1c4c54be1a0949d3f24312a72c9e9accd512a2f7d230259b7b7d18bc5919dbaff5458953236f9752582a45  lua-microlight-1.1.1.tar.gz
 c32722c5900e3851e542fbd4e0628dff160cd0de260e94287843c6155eee17a9c217ca52e7fffd375a6d2f66440f871fafa86ec4cb65f51f5c2d569d51139b0e  fix-lua-5.3.patch
diff --git a/main/lua-openrc/APKBUILD b/main/lua-openrc/APKBUILD
index c8ac0e75eb5bfa9ad7f22fef9a25596d7b8f316e..288a68dd541db2c30a2803f97cbe23814cb81c7f 100644
--- a/main/lua-openrc/APKBUILD
+++ b/main/lua-openrc/APKBUILD
@@ -10,7 +10,7 @@ license="GPL-2.0-only"
 makedepends="openrc-dev bsd-compat-headers"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-openrc:split_${_i/./_}:$CARCH"
+	subpackages="$subpackages lua$_i-openrc:_split:$CARCH"
 done
 source="lua-openrc-$pkgver.tar.gz::https://github.com/ncopa/lua-openrc/archive/v$pkgver.tar.gz
 	0001-build-fix-for-openrc-0.14.patch
@@ -39,7 +39,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="Lua $_ver module for OpenRC"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
@@ -51,9 +52,5 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="f560cbef63d7d1565dacd9ec2f8dc91d4c08397dfcd546dd446d3834caef8d545cab6d0b7ea5a095090e3069935eb9adfa35e75414d7dcfa2ae8951186221970  lua-openrc-0.2.tar.gz
 d195d39ffdcb6334b885288ba501138b4c63db2387ea8e8c041919a858274647be0f71855eb9c3d4ffeeaf07b18862e7ff865fe11b23e16995935c17f547511f  0001-build-fix-for-openrc-0.14.patch"
diff --git a/main/lua-pc/APKBUILD b/main/lua-pc/APKBUILD
index c4108d8564f7d0cdd953c0a9fe9671f0d4689f00..ee8eb8cfa7566a0df7bf09f4d7c39847017a0b16 100644
--- a/main/lua-pc/APKBUILD
+++ b/main/lua-pc/APKBUILD
@@ -17,7 +17,7 @@ source="https://dev.alpinelinux.org/archive/lpc/lpc-$pkgver.tar.gz
 
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-pc:_pc_${_i/./_}"
+	subpackages="$subpackages lua$_i-pc:_split"
 done
 
 builddir="$srcdir/$_name-$pkgver"
@@ -42,8 +42,9 @@ package() {
 	mkdir -p "$pkgdir"
 }
 
-_split_pc() {
-	local _ver=$1
+_split() {
+	local _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=""
@@ -53,9 +54,5 @@ _split_pc() {
 	make install LUA_PKGCONF="lua$_ver" DESTDIR="$subpkgdir"
 }
 
-for _i in $_luaversions; do
-	eval "_pc_${_i/./_}() { _split_pc $_i; }"
-done
-
 sha512sums="a955f802b9ea7c4615b8b22b1f4ab540d41e4ddb0edb5e1b77f2f2e1472c49248cb276f8bfec6b929d23ef01681a0018db6cbd401ade1cc1eb366b0a6ace9772  lpc-1.0.0.tar.gz
 d98aba2a757cb4dd6ceebefb4b0bebb4b91d8a38360193f6246be727f0dc89fe438154596c22232d16539f86d5589730e13834cdaf5b71965728904fbdea8615  lpc-lua5.2-compat.patch"
diff --git a/main/lua-posix/APKBUILD b/main/lua-posix/APKBUILD
index eca1ce096c284a7ed3f46a852bde7dc8a76cd02d..fc63faf0631f695a0b9307aec179fe6766845ea7 100644
--- a/main/lua-posix/APKBUILD
+++ b/main/lua-posix/APKBUILD
@@ -14,7 +14,7 @@ makedepends="linux-headers lua-bit32"
 
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev lua$_i"
-	subpackages="$subpackages lua$_i-posix:_posix_${_i/./_}"
+	subpackages="$subpackages lua$_i-posix:_split_posix"
 done
 source="luaposix-$pkgver-2.tar.gz::https://github.com/luaposix/luaposix/archive/v$pkgver.tar.gz"
 
@@ -61,16 +61,13 @@ _split() {
 }
 
 _split_posix() {
-	local _ver=$1
+	local _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="POSIX library for Lua $_ver"
 	install_if="lua$_ver lua-posix=$pkgver-r$pkgrel"
 	_split $_ver posix
 }
 
-for _i in $_luaversions; do
-	eval "_posix_${_i/./_}() { _split_posix $_i; }"
-done
-
 sha512sums="
 cd7deeaa9179306f90bafdc6cfb2668cf42d5378e72e5baa09419198f2d42c5eab5d881e5584ac511f317bbfd850f2ad46b8cb743f1ae5e1a96f8153e03599d8  luaposix-36.2.1-2.tar.gz
 "
diff --git a/main/lua-posixtz/APKBUILD b/main/lua-posixtz/APKBUILD
index e5f4a9822232bf8fce46e805ffec93bb693e575c..79a23094af2111458481aab16ed130ec7de2a641 100644
--- a/main/lua-posixtz/APKBUILD
+++ b/main/lua-posixtz/APKBUILD
@@ -10,7 +10,7 @@ arch="all"
 license="GPL-2.0-only"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-posixtz:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-posixtz:_split"
 done
 source="https://dev.alpinelinux.org/archive/posixtz/posixtz-$pkgver.tar.xz
 	fix-implicit-function-decleration.patch
@@ -42,7 +42,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="Lua $_ver module to extract POSIX timezone from tzdata"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	for d in usr/lib/lua usr/share/lua; do
@@ -53,10 +54,6 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="
 68dbaab9f4aef166ac2f2d40b49366527b840bebe17a47599fe38345835e4adb8a767910745ece9c384b57af815a871243c3e261a29f41d71f8054df3061b3fd  posixtz-0.5.tar.xz
 d84684f184d755beb216a37d17640e5f86f1b2b5be0618ab5fb6a4d5938a9257d4325a48108715ed456d8cd721e9cbd79d8d58af6b9efd39774225c48cc837f8  fix-implicit-function-decleration.patch
diff --git a/main/lua-rex/APKBUILD b/main/lua-rex/APKBUILD
index f833a2f87578512452f3c9363b7e57ad6e1cb69c..23fb3306b36660d124c9edd767bf22cae5771082 100644
--- a/main/lua-rex/APKBUILD
+++ b/main/lua-rex/APKBUILD
@@ -15,11 +15,8 @@ subpackages="$pkgname-pcre2:_pcre2 $pkgname-posix:_posix"
 
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev lua$_i"
-	subpackages="$subpackages lua$_i-rex-pcre2:_pcre2_${_i/./_}
-		lua$_i-rex-posix:_posix_${_i/./_}"
-
-	eval "_pcre2_${_i/./_}() { _split $_i pcre2; }"
-	eval "_posix_${_i/./_}() { _split $_i posix; }"
+	subpackages="$subpackages lua$_i-rex-pcre2:_split
+		lua$_i-rex-posix:_split"
 done
 
 source="$pkgname-$pkgver.tar.gz::https://github.com/rrthomas/lrexlib/archive/rel-${pkgver//./-}.tar.gz"
@@ -84,8 +81,9 @@ _posix() {
 }
 
 _split() {
-	local _ver=$1
-	local _lib=$2
+	local _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
+	local _lib=${subpkgname##*-}
 	pkgdesc="Lua $_ver bindings to $_lib regular expressions library"
 	install_if="lua$_ver lua-rex-$_lib=$pkgver-r$pkgrel"
 	depends=
diff --git a/main/lua-socket/APKBUILD b/main/lua-socket/APKBUILD
index 44b2845236ea909be966259ecf74b4eadc8a77c0..c11b53424aaf50fdcd71984145fc248f60e68d81 100644
--- a/main/lua-socket/APKBUILD
+++ b/main/lua-socket/APKBUILD
@@ -11,7 +11,7 @@ arch="all"
 license="MIT"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-socket:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-socket:_split"
 done
 source="$pkgname-$pkgver.tar.gz::https://github.com/lunarmodules/luasocket/archive/refs/tags/v$pkgver.tar.gz
 	lua-cflags.patch
@@ -42,7 +42,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="Networking library for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	for d in usr/lib/lua usr/share/lua; do
@@ -53,9 +54,6 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
 
 sha512sums="
 1e9e98484740ec6538fe3d2b0dab74d31f052956ecf9ee3b60e229f2d0b13fcc6d4aaf74cd2a3e2ee330333dabb316fe6a43c60baaea26f0cc01069b6aa4519b  lua-socket-3.1.0.tar.gz
diff --git a/main/lua-stdlib/APKBUILD b/main/lua-stdlib/APKBUILD
index c357e85f9a276bfe7e70b540833361fb3d65f8aa..4a17d3cb16453557f44361f0e2c7f49599d80698 100644
--- a/main/lua-stdlib/APKBUILD
+++ b/main/lua-stdlib/APKBUILD
@@ -11,7 +11,7 @@ makedepends="autoconf automake"
 subpackages="$pkgname-doc"
 for _v in $_luaversions; do
 	makedepends="$makedepends lua$_v lua$_v-dev"
-	subpackages="$subpackages lua$_v-stdlib:split_${_v/./_}"
+	subpackages="$subpackages lua$_v-stdlib:_split"
 done
 source="$pkgname-$pkgver.tar.gz::https://github.com/lua-stdlib/lua-stdlib/archive/release-v$pkgver.tar.gz"
 builddir="$srcdir"/lua-stdlib-release-v$pkgver
@@ -45,7 +45,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="$pkgdesc for Lua $_ver"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	depends=
@@ -57,8 +58,4 @@ _split() {
 	done
 }
 
-for _v in $_luaversions; do
-	eval "split_${_v/./_}() { _split $_v; }"
-done
-
 sha512sums="b477ff90f2c3e49ad83194b1a67592d786c91dbc9dfe199a701fa68bc84b6ba8c820d37ac2fc74c2ebc3fb7a83aac8bcf0af58041ce14fc1dc6b297f3ae054aa  lua-stdlib-41.2.2.tar.gz"
diff --git a/main/lua-struct/APKBUILD b/main/lua-struct/APKBUILD
index 309e55b21b00b22ff92a2364d40f505f2607cb60..3feab44513c07ba06fc51e327f0b1efafd6ac41f 100644
--- a/main/lua-struct/APKBUILD
+++ b/main/lua-struct/APKBUILD
@@ -14,7 +14,7 @@ source="http://www.inf.puc-rio.br/~roberto/struct/struct-$pkgver.tar.gz
 
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-struct:_split${_i/./}"
+	subpackages="$subpackages lua$_i-struct:_split"
 done
 
 builddir="$srcdir"
@@ -40,7 +40,8 @@ package() {
 }
 
 _split() {
-	local _v=$1
+	local _v=${subpkgname%%-*}
+	_v=${_v#lua}
 	pkgdesc="$pkgdesc - Lua $_v"
 	install_if="lua$_v $pkgname=$pkgver-r$pkgrel"
 	depends=""
@@ -48,9 +49,5 @@ _split() {
 	install "$builddir"/$_v/struct.so "$subpkgdir"/usr/lib/lua/$_v/struct.so
 }
 
-for _i in $_luaversions; do
-	eval "_split${_i/./}() { _split $_i; }"
-done
-
 sha512sums="6fea0bb2c04cdc47d402e0c8604bc78d9a68ec60f6d521ce031e4f9ede42fd2e2081f6732d74f2745883ad13bdef9f08fa4db5c0053fdc3204e2938dc01ea328  struct-0.2.tar.gz
 444ca21864ec92dde759f0f8f5d9990d029e9dbb1df908b092360b2eb9633c64079aff55ae91a4ea4de4c27a89243db195c2f460a03193e8c493c507387a1501  makefile.patch"
diff --git a/main/lua-subprocess/APKBUILD b/main/lua-subprocess/APKBUILD
index 1494838b6623245ce15cc37a3adaa3f073adfebf..616c2f81589eb96539cf563b2848f2fcdf256111 100644
--- a/main/lua-subprocess/APKBUILD
+++ b/main/lua-subprocess/APKBUILD
@@ -12,7 +12,7 @@ license="MIT"
 makedepends="asciidoc"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-subprocess:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-subprocess:_split"
 done
 source="$pkgname-$_gitrev.tar.gz::https://github.com/tdtrask/lua-subprocess/archive/$_gitrev.tar.gz
 	makefile.patch
@@ -44,7 +44,8 @@ package() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="A Lua $_ver module written in C that allows you to create child processes and communicate with them"
 	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
 	for d in usr/lib/lua usr/share/lua; do
@@ -55,10 +56,6 @@ _split() {
 	done
 }
 
-for _i in $_luaversions; do
-	eval "split_${_i/./_}() { _split $_i; }"
-done
-
 sha512sums="
 d6c2cb45225f518748405ae6039ecad5475eac029f1a1f7250a73dcfcc429420298884d00f8d11677b3fffab833232d3b9436a067cfcce8f70585b2a2b31c46e  lua-subprocess-ccd71c90653b39c6745c771af4393c9e76e4105f.tar.gz
 af4e25d8d503e9cb8296a2b8d8b19577e64b412f56607bf38bc828a7c214904ecdf9619fc2541461bc4dda6c6fcd47cbb1051499bd2f132dad76092cf3ae5e9d  makefile.patch
diff --git a/main/sircbot/APKBUILD b/main/sircbot/APKBUILD
index ee3c72709b2846d0e2368f92394834ec155c81f8..6e4800acd3dd2b2ef98a565020af272f2097bf8a 100644
--- a/main/sircbot/APKBUILD
+++ b/main/sircbot/APKBUILD
@@ -12,7 +12,7 @@ pkggroups="sircbot"
 subpackages="lua-sircbot:luamod $pkgname-openrc"
 for _i in $_luaversions; do
 	makedepends="$makedepends lua$_i-dev"
-	subpackages="$subpackages lua$_i-sircbot:split_${_i/./_}"
+	subpackages="$subpackages lua$_i-sircbot:_split"
 done
 install="$pkgname.pre-install"
 source="https://dev.alpinelinux.org/archive/sircbot/sircbot-$pkgver.tar.xz
@@ -46,7 +46,8 @@ luamod() {
 }
 
 _split() {
-	local d= _ver=$1
+	local d= _ver=${subpkgname%%-*}
+	_ver=${_ver#lua}
 	pkgdesc="Sircbot client for Lua $_ver"
 	install_if="lua$_ver lua-sircbot=$pkgver-r$pkgrel"
 	depends=
@@ -59,10 +60,6 @@ _split() {
 	done
 }
 
-for _v in $_luaversions; do
-	eval "split_${_v/./_}() { _split $_v; }"
-done
-
 sha512sums="
 1f91581548dcc2d3f6d0da31591027792271994b86ffce73141de828eff27595a1df8a364988e0c5349996e36ae8879b166c84d6024a194626e61c9dc9e96816  sircbot-0.4.tar.xz
 45cbf2b16374f0fb7746d80ce09a9f65c293e08fd641c174821caf78f27e0614882500e0ced08a611679f26e5b2f8acded9869af6be81bd0966820588612b1e6  0001-add-simple-hack-to-allow-nickserv-identification.patch