summaryrefslogtreecommitdiff
path: root/dev-lua
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lua')
-rw-r--r--dev-lua/Manifest.gzbin7299 -> 8620 bytes
-rw-r--r--dev-lua/basexx/Manifest3
-rw-r--r--dev-lua/basexx/basexx-0.4.1.ebuild33
-rw-r--r--dev-lua/basexx/metadata.xml15
-rw-r--r--dev-lua/binaryheap/Manifest3
-rw-r--r--dev-lua/binaryheap/binaryheap-0.4.ebuild65
-rw-r--r--dev-lua/binaryheap/metadata.xml15
-rw-r--r--dev-lua/compat53/Manifest3
-rw-r--r--dev-lua/compat53/compat53-0.14.3.ebuild69
-rw-r--r--dev-lua/compat53/metadata.xml15
-rw-r--r--dev-lua/cqueues/Manifest5
-rw-r--r--dev-lua/cqueues/cqueues-20200726_p20241204.ebuild142
-rw-r--r--dev-lua/cqueues/files/cqueues-20200726_p20241204-qa-flags.patch39
-rw-r--r--dev-lua/cqueues/files/cqueues-20200726_p20241204-rm-vendor-compat53.patch48
-rw-r--r--dev-lua/cqueues/metadata.xml15
-rw-r--r--dev-lua/fifo/Manifest3
-rw-r--r--dev-lua/fifo/fifo-0.2.ebuild39
-rw-r--r--dev-lua/fifo/metadata.xml15
-rw-r--r--dev-lua/lpeg-patterns/Manifest3
-rw-r--r--dev-lua/lpeg-patterns/lpeg-patterns-0.5.ebuild41
-rw-r--r--dev-lua/lpeg-patterns/metadata.xml15
-rw-r--r--dev-lua/lua-http/Manifest3
-rw-r--r--dev-lua/lua-http/lua-http-0.4_p20240908.ebuild61
-rw-r--r--dev-lua/lua-http/metadata.xml15
-rw-r--r--dev-lua/lua-mmdb/Manifest4
-rw-r--r--dev-lua/lua-mmdb/lua-mmdb-0.2.ebuild60
-rw-r--r--dev-lua/lua-mmdb/metadata.xml15
27 files changed, 744 insertions, 0 deletions
diff --git a/dev-lua/Manifest.gz b/dev-lua/Manifest.gz
index 25f2589e527c..eb217ef2cc9d 100644
--- a/dev-lua/Manifest.gz
+++ b/dev-lua/Manifest.gz
Binary files differ
diff --git a/dev-lua/basexx/Manifest b/dev-lua/basexx/Manifest
new file mode 100644
index 000000000000..086fc414cd2d
--- /dev/null
+++ b/dev-lua/basexx/Manifest
@@ -0,0 +1,3 @@
+DIST basexx-0.4.1.tar.gz 8100 BLAKE2B 9a3e09eb4ddc7c9158096f50d52735711ee63618ada0175af8aac4ba906e95cbf3fe2750f3d0fff821e34b71b4a414f39a13313e9aac0960fc4f06d24c5e0422 SHA512 b52ac9573196129e5af3f6d4fdc69b26d77ed3c114cf95c3dc46aa58e5f288a3212a91e8ee48257609607a71088c24205ca79c5512f077a6e9cef6ad7f136ba0
+EBUILD basexx-0.4.1.ebuild 637 BLAKE2B d981a98c4ab6dbdbcd892a9f5551f790ff2f45fc6736d84004262703ffd0b7c3041b8185843de2193d8e57898a727e2e7075f4ab2d2881930d5ea7009a0ea37c SHA512 eef7578202d0605c5522b9aa4b8a6ad1fcbd33b1c6c0e2b248d879ae0ea797b4413b9e1174f67c15aa0833b8f7531bb9325751ba1d5025f12f00ae29002c6e5f
+MISC metadata.xml 466 BLAKE2B bf1532d7b0b9e70b4e5c2f9caed350f46e023b4b481255853efd29c3e4873b08a28ae30939c7675be78b4998ce71a54910e77f95201361bac29a5165c645aaaf SHA512 ae5c26170a4e9dd22837382b270f2f6e478494d733bec358a12f4330a2d28480c2321a91328eef57e3fc622fae388f7ce2986849538df44a086c3fad7b81a2e4
diff --git a/dev-lua/basexx/basexx-0.4.1.ebuild b/dev-lua/basexx/basexx-0.4.1.ebuild
new file mode 100644
index 000000000000..ffe460be90e8
--- /dev/null
+++ b/dev-lua/basexx/basexx-0.4.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua
+
+DESCRIPTION="A base2, base16, base32, base64 and base85 library for Lua"
+HOMEPAGE="https://github.com/aiq/basexx/"
+SRC_URI="https://github.com/aiq/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+
+lua_enable_tests busted test
+
+lua_src_install() {
+ insinto $(lua_get_lmod_dir)
+ doins lib/${PN}.lua
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ einstalldocs
+}
diff --git a/dev-lua/basexx/metadata.xml b/dev-lua/basexx/metadata.xml
new file mode 100644
index 000000000000..2155ab4925af
--- /dev/null
+++ b/dev-lua/basexx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">aiq/basexx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/binaryheap/Manifest b/dev-lua/binaryheap/Manifest
new file mode 100644
index 000000000000..30eab57e558c
--- /dev/null
+++ b/dev-lua/binaryheap/Manifest
@@ -0,0 +1,3 @@
+DIST binaryheap.lua-version_0v4.tar.gz 13556 BLAKE2B 92b7d7a54b5f1e1988a865842e80600852df0d03e566ca0075f59c521462632bc54dedcf0e67db71f1d6f29c2c932afc44fab4604eb0c386039c9528021276f1 SHA512 2d26108af024f6de5873d9ad2a10dc2fec5b603770c5ff3b3b36289c73261ad6952ed790caad6886bd313a41f9bd42a8257585dd653508d7f1bcd5d1236d2e12
+EBUILD binaryheap-0.4.ebuild 1283 BLAKE2B 72f5aa33073326503cbcb03a859383c8f2d3a61a0fc5b8d3886b99410571b5e24de01ce04e466b0a9dd4b38a5feba7de940486f72f80f4f73d2ccedbc6b79277 SHA512 a800b0d0303147aa2a63ffc41d21186fa65fffbefd7e7f4f879b96656e8f5bb8ae13686f895cee7a792bddb13f1f9acb5ae9160ae58d2e77cb08f81f32e66678
+MISC metadata.xml 477 BLAKE2B eabd8184ac86f607c12cd84207c159e023e111ee17822b879bcc188ccf7fab68e1ed814e1c0eb38df937f72e44b7384001e4e6315fb4ed4dce59da2600e38643 SHA512 b8c88167ccc03fd804001ae09948095a96fc1820ac47760a8244c0eda6a9b277465ae75242f9a8859d8a54f612486e31d228666105dfbc6e005feb626d9e2e2c
diff --git a/dev-lua/binaryheap/binaryheap-0.4.ebuild b/dev-lua/binaryheap/binaryheap-0.4.ebuild
new file mode 100644
index 000000000000..8ac436b21d4d
--- /dev/null
+++ b/dev-lua/binaryheap/binaryheap-0.4.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua
+
+MY_PN="${PN}.lua"
+MY_PV="version_$(ver_rs 1 v)"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Binary heap implementation in pure Lua"
+HOMEPAGE="http://tieske.github.io/binaryheap.lua"
+HOMEPAGE+=" https://github.com/Tieske/binaryheap.lua"
+SRC_URI="https://github.com/Tieske/${MY_PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ dev-lua/busted[${LUA_USEDEP}]
+ dev-lua/luacov[${LUA_USEDEP}]
+ )
+"
+
+src_prepare() {
+ default
+ lua_copy_sources
+}
+
+lua_src_test() {
+ if [[ ${ELUA} == "lua5.3" ]]; then
+ # this test failed only with 5.3
+ rm "${BUILD_DIR}"/spec/dijkstras_algorithm_spec.lua || die
+ fi
+ busted --lua="${ELUA}" --output="plainTerminal" "${BUILD_DIR}"/spec || die "Tests fail with ${ELUA}"
+}
+
+src_test() {
+ lua_foreach_impl lua_src_test
+}
+
+lua_src_install() {
+ insinto $(lua_get_lmod_dir)
+ doins src/${PN}.lua
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ local HTML_DOCS=( docs )
+ dodoc -r "examples"
+ einstalldocs
+}
diff --git a/dev-lua/binaryheap/metadata.xml b/dev-lua/binaryheap/metadata.xml
new file mode 100644
index 000000000000..dbf1929352e9
--- /dev/null
+++ b/dev-lua/binaryheap/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Tieske/binaryheap.lua</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/compat53/Manifest b/dev-lua/compat53/Manifest
new file mode 100644
index 000000000000..d268f2bc37ec
--- /dev/null
+++ b/dev-lua/compat53/Manifest
@@ -0,0 +1,3 @@
+DIST lua-compat-5.3-0.14.3.tar.gz 61873 BLAKE2B 056a6f3ea4239821d616bff50eef12427745a06d0992e0b2abbcfb311eace583ca47312f8a6d3770b2526da09e47ac1a4fb3352c06c49c53b8d205b418f47d9e SHA512 9e355df0d1a165b7bbdc69c39fe49467ae5a7d93e02b875ade5863e2d44ba80955287210376fccbc5f2370970f5552774d84c812a9681d49a78b8eceeab37442
+EBUILD compat53-0.14.3.ebuild 1424 BLAKE2B 87cd71f1576e3131b3a850692e40e47f88eb4e438ae7fece8660b831a48eebf57d8e7ed044013ea5a376c73c4ebb00b57f2be4b42a5ede3c205e5730addba2c3 SHA512 66a7adac69aa7682b0d9caed9760c520360c1cf75273d330fa5e1aef47cb052d8dd148eb633e8a597e99a080abd9dfe62a96948c2270a71885e4e0cb2564b98f
+MISC metadata.xml 483 BLAKE2B 040bc6c5a48aeca4416f21b84a27b26342f6912060d433d0a23a027d5caaac06ffc7dc17ef589d2a16e37bd32361dc87d18d377cd4707e696f97bc7bc3c58069 SHA512 a9eb0ac1b40c9984b670edf3caa5f42502ae510bdbae7c80505338b3e90948bb71641123a30ab39cd99d004330f580dda9b5b9030b977870883206c854b61fee
diff --git a/dev-lua/compat53/compat53-0.14.3.ebuild b/dev-lua/compat53/compat53-0.14.3.ebuild
new file mode 100644
index 000000000000..f5f200a148a9
--- /dev/null
+++ b/dev-lua/compat53/compat53-0.14.3.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit edo lua toolchain-funcs
+
+MY_PN="lua-${PN/53/-5.3}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1"
+HOMEPAGE="https://github.com/lunarmodules/lua-compat-5.3/"
+SRC_URI="https://github.com/lunarmodules/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ # change to name of compat53.'module' calls
+ # this is required, see rockspecs
+ mv lbitlib.c bitlib.c || die
+ mv liolib.c io.c || die
+ mv lstrlib.c string.c || die
+ mv ltablib.c table.c || die
+ mv lutf8lib.c utf8.c || die
+ lua_copy_sources
+}
+
+lua_src_compile() {
+ cd "${BUILD_DIR}" || die
+ local u=""
+ for u in *.c; do
+ edo $(tc-getCC) -shared -fPIC \
+ ${CPPFLAGS} \
+ ${CFLAGS} $(lua_get_CFLAGS) \
+ ${SOFLAGS} \
+ ${LDFLAGS} $(lua_get_LIBS) \
+ -o "${u/.c/.so}" ${u} c-api/compat-5.3.c
+ done
+}
+
+src_compile() {
+ lua_foreach_impl lua_src_compile
+}
+
+lua_src_install() {
+ cd "${BUILD_DIR}" || die
+ insinto $(lua_get_lmod_dir)/${PN}
+ doins compat53/*.lua
+ exeinto $(lua_get_cmod_dir)/${PN}
+ doexe *.so
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ doheader c-api/*
+ einstalldocs
+}
diff --git a/dev-lua/compat53/metadata.xml b/dev-lua/compat53/metadata.xml
new file mode 100644
index 000000000000..5d243d08f4ab
--- /dev/null
+++ b/dev-lua/compat53/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lunarmodules/lua-compat-5.3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/cqueues/Manifest b/dev-lua/cqueues/Manifest
new file mode 100644
index 000000000000..148d1db8b68d
--- /dev/null
+++ b/dev-lua/cqueues/Manifest
@@ -0,0 +1,5 @@
+AUX cqueues-20200726_p20241204-qa-flags.patch 1733 BLAKE2B 69c947d2746e693fe6fdf0768b4a34073a868266e1d878e868530a310b6748e9e17a0df83ae5ed9a83ba9cb689df4de6ba776168e11e524a11d06210f438255d SHA512 330852bbc2c00b148235d64682812b57ea81937bce0fd94144112266391a4fe24094a78b16c3503ff1a4813d92512423371dc644f789ecfafde6d1631fc84007
+AUX cqueues-20200726_p20241204-rm-vendor-compat53.patch 1746 BLAKE2B d0fda0543ae1a19a12d8e64b5e4843eecbf46faaf8b585a34813acaa06714391c6484082d04de4f59c390eb2cc077e82dd71997219d88c20e6f421063166f3d7 SHA512 5fa185c77dde76f0f3ab8b4f3473ccc4d9687d9df463d881899427982346addc1f9a5f8cd08b06f468b09aa9c0bacaba7a1c51f2c1d0b786ef8873560d8efc73
+DIST cqueues-20200726_p20241204.tar.gz 511991 BLAKE2B 13aeb72435fbfd84e3af11f7d79547ca72b2863ffff4d24d1e14115225973f175b19440732c1d9f4f57c22ef454b3abfe503e7b18de145b4c04f44e87297365c SHA512 9e510c3da50ce601d7fde8cf4e3f4262aa9ec1e81099e4411cf233a138338f5098de8eddce5600732ff7ad97329a7eb501f7c51b911b0c3dd82cd4f0220e4c99
+EBUILD cqueues-20200726_p20241204.ebuild 3028 BLAKE2B 87ed30bbde72e3b2a7f3026776ab257f4e328f94dd3b9a0e00ceefecf024a2d8abadfd7a47e213b74c7a8f336465f95fdce745522fee68cab69395c11df88ab4 SHA512 68023a925ec90f034ad769eb6e8bd29e575e98a32867bfc50a57f8e2c9701c602147ff7ee68782d69c50ac9fc4b9378b8f1f0d9ac96070c207717e0589480796
+MISC metadata.xml 470 BLAKE2B 3eca8f608fe761cd0299d87980f46eadb65d4793b2117d3c0caca3ac8dfc56841273fffbac3c5d864a3458ef545930923bec4485d78a92b3eb4c7e18351c618d SHA512 688cffab22678f3d716b50006f408c79d5b8aadc94dc2d67face460d315bc239c731dbb31f29dafc7614965f65ecae02d709eafddf65a508ea7796d37d851609
diff --git a/dev-lua/cqueues/cqueues-20200726_p20241204.ebuild b/dev-lua/cqueues/cqueues-20200726_p20241204.ebuild
new file mode 100644
index 000000000000..09c3e2b459aa
--- /dev/null
+++ b/dev-lua/cqueues/cqueues-20200726_p20241204.ebuild
@@ -0,0 +1,142 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua toolchain-funcs
+
+DESCRIPTION="Stackable Continuation Queues"
+HOMEPAGE="https://github.com/wahern/cqueues"
+HOMEPAGE+=" http://25thandclement.com/~william/projects/cqueues.html"
+EGIT_COMMIT="8c0142577d3cb1f24917879997678bef0d084815"
+SRC_URI="https://github.com/wahern/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+COMMON_DEPEND="
+ ${LUA_DEPS}
+ dev-libs/openssl:0=
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-lua/compat53[${LUA_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/cqueues-20200726_p20241204-qa-flags.patch
+ "${FILESDIR}"/cqueues-20200726_p20241204-rm-vendor-compat53.patch
+)
+
+DOCS=( "doc/." )
+
+lua_src_prepare() {
+ pushd "${BUILD_DIR}" || die
+
+ if [[ ${ELUA} != luajit ]]; then
+ LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
+ # these two tests are forced upstream for luajit only
+ rm "${BUILD_DIR}"/regress/{44-resolvers-gc,51-join-defunct-thread}.lua || die
+ else
+ # Thanks to dev-lua/luaossl for this workaround
+ # This is a workaround for luajit, as it confirms to lua5.1
+ # and the 'GNUmakefile' doesn't understand LuaJITs version.
+ LUA_VERSION="5.1"
+ fi
+
+ if [[ ${LUA_VERSION} != 5.3 ]]; then
+ # this test is forced upstream for lua5-3 only
+ rm "${BUILD_DIR}"/regress/152-thread-integer-passing.lua || die
+ fi
+
+ # install tests for lua_version only
+ sed -e 's:for V in 5.1 5.2 5.3 5.4:for V in '${LUA_VERSION}':' \
+ -i "${BUILD_DIR}"/regress/GNUmakefile || die
+
+ popd || die
+}
+
+src_prepare() {
+ default
+ rm -r vendor || die
+
+ # tests deleted :
+ # 22, 73, 87 = weak/old ssl
+ # 30,62,153 = network required
+ rm regress/22-client-dtls.lua \
+ regress/73-starttls-buffering.lua \
+ regress/87-alpn-disappears.lua \
+ regress/30-starttls-completion.lua \
+ regress/62-noname.lua \
+ regress/153-dns-resolvers.lua || die
+
+ lua_copy_sources
+ lua_foreach_impl lua_src_prepare
+}
+
+lua_src_compile() {
+ pushd "${BUILD_DIR}" || die
+
+ if [[ ${ELUA} != luajit ]]; then
+ LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
+ else
+ LUA_VERSION="5.1"
+ fi
+
+ emake CC=$(tc-getCC) \
+ all${LUA_VERSION}
+
+ popd || die
+}
+
+src_compile() {
+ lua_foreach_impl lua_src_compile
+}
+
+lua_src_test() {
+ pushd "${BUILD_DIR}" || die
+
+ emake CC=$(tc-getCC) check
+
+ popd || die
+}
+
+src_test() {
+ lua_foreach_impl lua_src_test
+}
+
+lua_src_install() {
+ pushd "${BUILD_DIR}" || die
+
+ if [[ ${ELUA} != luajit ]]; then
+ LUA_VERSION="$(ver_cut 1-2 $(lua_get_version))"
+ else
+ LUA_VERSION="5.1"
+ fi
+
+ emake CC=$(tc-getCC) \
+ "DESTDIR=${D}" \
+ "lua${LUA_VERSION/./}cpath=$(lua_get_cmod_dir)" \
+ "lua${LUA_VERSION/./}path=$(lua_get_lmod_dir)" \
+ "prefix=${EPREFIX}/usr" \
+ install${LUA_VERSION}
+
+ popd || die
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+
+ use examples && dodoc -r "examples/."
+ einstalldocs
+}
diff --git a/dev-lua/cqueues/files/cqueues-20200726_p20241204-qa-flags.patch b/dev-lua/cqueues/files/cqueues-20200726_p20241204-qa-flags.patch
new file mode 100644
index 000000000000..a1f654877c04
--- /dev/null
+++ b/dev-lua/cqueues/files/cqueues-20200726_p20241204-qa-flags.patch
@@ -0,0 +1,39 @@
+--- a/GNUmakefile 2024-12-10 19:17:18.107965992 -0000
++++ b/GNUmakefile 2024-12-10 19:17:25.319850369 -0000
+@@ -19,7 +19,6 @@
+ LUAPATH_FN = $(shell env CC='$(subst ',\\',$(CC))' CPPFLAGS='$(subst ',\\',$(CPPFLAGS))' LDFLAGS='$(subst ',\\',$(LDFLAGS))' $(LUAPATH) -krxm3 -I '$(subst ',\\',$(DESTDIR)$(includedir))' -I/usr/include -I/usr/local/include -P '$(subst ',\\',$(DESTDIR)$(bindir))' -P '$(subst ',\\',$(bindir))' -L '$(subst ',\\',$(DESTDIR)$(libdir))' -L '$(subst ',\\',$(libdir))' -v$(1) $(2))
+
+ # check whether luapath can locate Lua $(1) headers
+-HAVE_API_FN = $(and $(filter $(1),$(call LUAPATH_FN,$(1),version)),$(1)$(info enabling Lua $(1)))
+
+ # check whether $(1) in LUA_APIS or $(LUA$(1:.=)_CPPFLAGS) is non-empty
+ WITH_API_FN = $$(and $$(or $$(filter $(1),$$(LUA_APIS)),$$(LUA$(subst .,,$(1))_CPPFLAGS)),$(1))
+@@ -168,18 +167,15 @@
+ ifeq ($(origin ALL_CFLAGS), undefined)
+
+ ifeq ($(VENDOR_CC_$(d)), gcc)
+-ALL_CFLAGS += -O2 -std=gnu99 -fPIC
+-ALL_CFLAGS += -g -Wall -Wextra $(call cc-option, -Wno-missing-field-initializers) $(call cc-option, -Wno-override-init) -Wno-unused
++ALL_CFLAGS += -std=gnu99 -fPIC
+ endif
+
+ ifeq ($(VENDOR_CC_$(d)), clang)
+-ALL_CFLAGS += -O2 -std=gnu99 -fPIC
+-ALL_CFLAGS += -g -Wall -Wextra -Wno-missing-field-initializers -Wno-initializer-overrides -Wno-unused -Wno-dollar-in-identifier-extension
++ALL_CFLAGS += -std=gnu99 -fPIC
+ endif
+
+ ifeq ($(VENDOR_CC_$(d)), sunpro)
+ ALL_CFLAGS += -xcode=pic13
+-ALL_CFLAGS += -g
+ #
+ # Solaris Studio supports anonymous unions just fine; but it complains
+ # incessantly about them.
+@@ -215,7 +211,6 @@
+ #
+ ifeq ($(origin ALL_LDFLAGS), undefined)
+
+-ALL_LDFLAGS += -L$(DESTDIR)$(libdir) -L$(libdir)
+ ALL_LDFLAGS += $(LDFLAGS)
+
+ endif # ALL_LDFLAGS
diff --git a/dev-lua/cqueues/files/cqueues-20200726_p20241204-rm-vendor-compat53.patch b/dev-lua/cqueues/files/cqueues-20200726_p20241204-rm-vendor-compat53.patch
new file mode 100644
index 000000000000..ed25b17ba21a
--- /dev/null
+++ b/dev-lua/cqueues/files/cqueues-20200726_p20241204-rm-vendor-compat53.patch
@@ -0,0 +1,48 @@
+--- a/src/GNUmakefile 2024-12-10 19:37:27.380639046 -0000
++++ b/src/GNUmakefile 2024-12-10 19:37:56.648169798 -0000
+@@ -22,7 +22,7 @@
+ VERSION_$(d) = $(or $(CQUEUES_VERSION),$(shell $(<D)/../mk/changelog version))
+ COMMIT_$(d) = $(shell $(<D)/../mk/changelog commit)
+
+-CPPFLAGS_$(d) = $(ALL_CPPFLAGS) -DCOMPAT53_PREFIX=cqueues
++CPPFLAGS_$(d) = $(ALL_CPPFLAGS)
+ CFLAGS_$(d) = $(ALL_CFLAGS)
+ SOFLAGS_$(d) = $(ALL_SOFLAGS)
+ LDFLAGS_$(d) = $(ALL_LDFLAGS)
+@@ -50,7 +50,7 @@
+ $$(d)/$(1)/cqueues.so: $$(addprefix $$(d)/$(1)/, $$(OBJS_$(d))) $$(d)/lib/libnonlua.a
+ $$(CC) -o $$@ $$^ $$(SOFLAGS_$$(abspath $$(@D)/..)) $$(LDFLAGS_$$(abspath $$(@D)/..)) $$(LIBS_$$(abspath $$(@D)/..))
+
+-$$(d)/$(1)/%.o: $$(d)/%.c $$(d)/cqueues.h $$(d)/../vendor/compat53/c-api/compat-5.3.h $$(d)/config.h
++$$(d)/$(1)/%.o: $$(d)/%.c $$(d)/cqueues.h $$(d)/config.h
+ $$(MKDIR) -p $$(@D)
+ $$(CC) $$(CFLAGS_$$(<D)) $$(ALL_LUA$(subst .,,$(1))_CPPFLAGS) $$(CPPFLAGS_$$(<D)) -c -o $$@ $$<
+
+@@ -66,16 +66,6 @@
+
+ $$(d)/$(1)/notify.o: $$(d)/lib/notify.h
+
+-ifneq ($(1), 5.3)
+-ifneq ($(1), 5.4)
+-$$(d)/$(1)/compat53.o: $$(d)/../vendor/compat53/c-api/compat-5.3.c $$(d)/../vendor/compat53/c-api/compat-5.3.h $$(d)/config.h
+- $$(MKDIR) -p $$(@D)
+- $$(CC) $$(CFLAGS_$(d)) $$(ALL_LUA$(subst .,,$(1))_CPPFLAGS) $$(CPPFLAGS_$(d)) -c -o $$@ $$<
+-
+-$$(d)/$(1)/cqueues.so: $$(d)/$(1)/compat53.o
+-endif
+-endif
+-
+ .SECONDARY: liblua$(1)-cqueues cqueues$(1) cqueues
+
+ liblua$(1)-cqueues cqueues$(1) cqueues: $$(d)/$(1)/cqueues.so
+--- a/src/cqueues.h 2024-12-10 19:37:27.380639046 -0000
++++ b/src/cqueues.h 2024-12-10 19:37:38.028468322 -0000
+@@ -40,7 +40,7 @@
+ #include <lualib.h>
+ #include <lauxlib.h>
+
+-#include "../vendor/compat53/c-api/compat-5.3.h"
++#include <compat-5.3.h>
+
+
+ /*
diff --git a/dev-lua/cqueues/metadata.xml b/dev-lua/cqueues/metadata.xml
new file mode 100644
index 000000000000..2b85a46cd9d9
--- /dev/null
+++ b/dev-lua/cqueues/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">wahern/cqueues</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/fifo/Manifest b/dev-lua/fifo/Manifest
new file mode 100644
index 000000000000..2c87cf7324a0
--- /dev/null
+++ b/dev-lua/fifo/Manifest
@@ -0,0 +1,3 @@
+DIST fifo-0.2.tar.gz 5210 BLAKE2B 08d4df04b49d2edddddb966320baf751b873a1e833af9da83375e02e36e55f40a544de1fc287f994692bfcfd1494574908deb5f5a6a4adea309639174d6e246b SHA512 db2e0d2117c70ab0daa6e83141b95f198689e6568aab51e8300ca5577c1a517de249b9514ad8a3476239da3d9bceb699726ead913126817c0801f7ec5d419306
+EBUILD fifo-0.2.ebuild 721 BLAKE2B cb1ed8202c1f2605b85d848ed1c30df4f96c44130df15b85f2ba42248f906dc27c905b0233c1d71ae71e9bd21400ad1e45863b528e02161b04750dca341eaa11 SHA512 8067c21de179401985199dc68c5a3ff62a3886f371c60c25f8fd8b4512a6330b219b77877291d019d0d9554d49e1bfac5f79037ae0dd73081cd763ea13e842e5
+MISC metadata.xml 476 BLAKE2B abf93fdd51ae9aeabddf074f595b8963df59ace164312cbfe213112f1f7fe1ec5f734031a00769ab5583247fcdcdc4859cb4541730a6e9932680ac37a15587be SHA512 73a3082abe52c65b7a415d594e166bf1c0639f6c43756f96892149487c1f85ce96faaf5e8960df79bc28453284009914640a5fdff3852183f1b16963282b0a70
diff --git a/dev-lua/fifo/fifo-0.2.ebuild b/dev-lua/fifo/fifo-0.2.ebuild
new file mode 100644
index 000000000000..630f5882c32a
--- /dev/null
+++ b/dev-lua/fifo/fifo-0.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua
+
+MY_PN="${PN}.lua"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Fifo library for Lua"
+HOMEPAGE="https://github.com/daurnimator/fifo.lua"
+SRC_URI="https://github.com/daurnimator/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="${LUA_DEPS}"
+RDEPEND="${DEPEND}"
+
+lua_enable_tests busted
+
+lua_src_install() {
+ insinto $(lua_get_lmod_dir)
+ doins ${PN}.lua
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ local DOCS=( README.md LICENSE doc/index.md )
+ einstalldocs
+}
diff --git a/dev-lua/fifo/metadata.xml b/dev-lua/fifo/metadata.xml
new file mode 100644
index 000000000000..66c949b22e2a
--- /dev/null
+++ b/dev-lua/fifo/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">daurnimator/fifo.lua</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/lpeg-patterns/Manifest b/dev-lua/lpeg-patterns/Manifest
new file mode 100644
index 000000000000..4d9a56954b32
--- /dev/null
+++ b/dev-lua/lpeg-patterns/Manifest
@@ -0,0 +1,3 @@
+DIST lpeg-patterns-0.5.tar.gz 26183 BLAKE2B 005ca2d99710f4b3c6eddb6d07f89d65dd0450ca522fac9717318388d86b24b57b7a4460e6a10f35b0c1cbc7446f21ff0b4438e0a41ae7f5fdbcc839eeac1025 SHA512 74e36083872cfa7ff8bb03927d075680b490b4d7ba55cee0cad7e1e27e6744809b05286a80967a19cd79f526168f53d362efa2b87c318efad726fa1ba3708f80
+EBUILD lpeg-patterns-0.5.ebuild 736 BLAKE2B 2210480d943ffe752bc564c4f1ac307238fc75738a9039e35c1e2b8326efc867347fca2e0897c6d6a28217fd152f7600a8f37c8c5ed7bcf3bd9cb98ae51d261c SHA512 99eaddbfc3bd203c4cae6d92d7626c3ab27730fd9abaf642d7e047a16bb6d00ffe3ab1d3ee722e91c0a59d667e1a8f7896084ceaeb358e74e0655f402751deeb
+MISC metadata.xml 481 BLAKE2B ff4f885b9f058d51647c542dddff92d7c4c416ab66dc6113838e0eb115273ff924bfdf5bfe295f28f5a701bab595396d6ad5f7f54a580e2fc9c8ffd50fa6aac8 SHA512 2a65d5db922215e69c2f661e2dd5ca196d2acb1d0d2a287280bd5187e6159567a83cde0d4260bacc55535d2ffc49cbefebf6289fab0123e8d2fa8562cf456f60
diff --git a/dev-lua/lpeg-patterns/lpeg-patterns-0.5.ebuild b/dev-lua/lpeg-patterns/lpeg-patterns-0.5.ebuild
new file mode 100644
index 000000000000..7e137fb913be
--- /dev/null
+++ b/dev-lua/lpeg-patterns/lpeg-patterns-0.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua
+
+MY_PN="${PN/-/_}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A collection of LPEG patterns"
+HOMEPAGE="https://github.com/daurnimator/lpeg_patterns"
+SRC_URI="https://github.com/daurnimator/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="
+ ${LUA_DEPS}
+ dev-lua/lpeg[${LUA_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+lua_enable_tests busted
+
+lua_src_install() {
+ insinto $(lua_get_lmod_dir)/${MY_PN}/
+ doins ${MY_PN}/*.lua
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ einstalldocs
+}
diff --git a/dev-lua/lpeg-patterns/metadata.xml b/dev-lua/lpeg-patterns/metadata.xml
new file mode 100644
index 000000000000..55cd9248cfe0
--- /dev/null
+++ b/dev-lua/lpeg-patterns/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">daurnimator/lpeg_patterns</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/lua-http/Manifest b/dev-lua/lua-http/Manifest
new file mode 100644
index 000000000000..459c19a7b3f9
--- /dev/null
+++ b/dev-lua/lua-http/Manifest
@@ -0,0 +1,3 @@
+DIST lua-http-0.4_p20240908.tar.gz 142897 BLAKE2B 2c68b11ffa8e579ba2be9db08c65f8f28b1eb96079a8d1b71c245ff516a7249cee86317aca3e0635b2e612120aedfa6f4e3bbe9392919835502845567cb2100f SHA512 579db298e901c555bfabd09d375d83ec1be0b45e37c9c55a779620c720a18392fdee3dc971a2ded7b0804f1fcdfc9f69863510a5823b1a0b2637b8195a42cae1
+EBUILD lua-http-0.4_p20240908.ebuild 1461 BLAKE2B 36ed12899ec23571a60212b450d260f2b035109444e23a50351ae7f089726dcf7f2595bcec90fd48e007561a80e9cd9d9b1991479a4d0fcc3303cd9895aa8ba1 SHA512 30e4b3fe564d6849420c6429396c56144f47f2d1f175034eff64da2b2afea93d2c63fcadf6b007c5d3d5c71323f977be3df8126c5ac9e99f8703c71f488940d5
+MISC metadata.xml 476 BLAKE2B 44d86191011e62a335d5d565fc3f864f1f0d878d5b6a64506e8ab78d29df2810b9bf8aa20570c8ea2bae733a7ce3d8a2cf0d07d56fdb9f547640f4bcf3dec9a9 SHA512 cc65ee9dc189d61f898372c772345dbebdcfb7176e6cbb1d5fa5ec30882768cc138336180b01c1822e815f59019b08e6859229899d16644d52b3d64955a88bce
diff --git a/dev-lua/lua-http/lua-http-0.4_p20240908.ebuild b/dev-lua/lua-http/lua-http-0.4_p20240908.ebuild
new file mode 100644
index 000000000000..9310050a0344
--- /dev/null
+++ b/dev-lua/lua-http/lua-http-0.4_p20240908.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua
+
+DESCRIPTION="HTTP Library for Lua. Supports HTTP(S) 1.0, 1.1 and 2.0; client and server."
+HOMEPAGE="https://daurnimator.github.io/lua-http/"
+HOMEPAGE+=" https://github.com/daurnimator/lua-http"
+EGIT_COMMIT="ee3cf4b4992479b8ebfb39b530694af3bbd1d1eb"
+SRC_URI="https://github.com/daurnimator/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="doc"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="
+ ${LUA_DEPS}
+ dev-lua/basexx[${LUA_USEDEP}]
+ dev-lua/binaryheap[${LUA_USEDEP}]
+ dev-lua/cqueues[${LUA_USEDEP}]
+ dev-lua/fifo[${LUA_USEDEP}]
+ dev-lua/lpeg[${LUA_USEDEP}]
+ dev-lua/lpeg-patterns[${LUA_USEDEP}]
+ dev-lua/LuaBitOp[${LUA_USEDEP}]
+ dev-lua/luaossl[${LUA_USEDEP}]
+ lua_targets_luajit? ( dev-lua/compat53[lua_targets_luajit(-)] )
+ lua_targets_lua5-1? ( dev-lua/compat53[lua_targets_lua5-1(-)] )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? ( virtual/pandoc )"
+
+lua_enable_tests busted
+
+src_compile() {
+ default
+ use doc && emake -C doc lua-http.html lua-http.3
+}
+
+lua_src_install() {
+ insinto $(lua_get_lmod_dir)/http/
+ doins http/*.lua http/compat/*.lua
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ if use doc; then
+ local HTML_DOCS=( doc/lua-http.html )
+ doman doc/lua-http.3
+ fi
+ dodoc -r "examples"
+ einstalldocs
+}
diff --git a/dev-lua/lua-http/metadata.xml b/dev-lua/lua-http/metadata.xml
new file mode 100644
index 000000000000..10fa16252b62
--- /dev/null
+++ b/dev-lua/lua-http/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">daurnimator/lua-http</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lua/lua-mmdb/Manifest b/dev-lua/lua-mmdb/Manifest
new file mode 100644
index 000000000000..748fb77af73b
--- /dev/null
+++ b/dev-lua/lua-mmdb/Manifest
@@ -0,0 +1,4 @@
+DIST lua-mmdb-0.2-maxminddb-1ca40fbf5223b61bc26c5dae4335942b56327c85.tar.gz 279109 BLAKE2B 6e8274bc6825474284b417836203fb2110e5df059e7ff93036b03058541c0e0bc1f3ceefb91d0a96b1b3df40390d8a64ebb08d81a77e1c66075e4dfdd8f3d88d SHA512 c9df12280843ea43243cb1578602b26c5ba28a7195d00e605445fdf2f78e4885e569dbf7c55e2ad4d338611930531a4cbb15ebf701fafb133ebbcfe0d9483f29
+DIST lua-mmdb-0.2.tar.gz 6430 BLAKE2B a3dfb25c9987a5c223b2cd9174b5206013f71b86b10273ab3005cf08320c9de953f1091655f011e75d2d49368010331432a99abd29ff0080dd3bd8392a9f688b SHA512 f45dbff51fbf04f11d4cc7592aae4cc72c38a421476cb2c37829fd2c59953148f012ad977251b8c5f9a358d7dc7acbf2abd3bf9f11b0d018d1297831a0bd80e1
+EBUILD lua-mmdb-0.2.ebuild 1344 BLAKE2B dd1e1f6a3b48a6e7e1d1a678afb7f5126653f49affc8272cfff85ab3d059c6ff2f0666d81456bff433cabb05811e6a4f41e092457e461d98fa3b87ac4e187cbb SHA512 6ffad69de74fe18cefc250601e8d538bea7d0fa44ba9c04eab37074aa6c90e2a014108ea19887fa61f52ed5fb2f9f1144e627d4677128231bb7af8349bb5b38e
+MISC metadata.xml 475 BLAKE2B 375741918706999e94e5a0168bcfead2cfeafc9428d054c6c42c5688f4d2aed853098d037ab0f5b48eb460e1fafc600b1f02a6ae75d499cec102ccdb6e6b6df0 SHA512 2e3d00414f6a7529f9f953700d9694734b7163a5bb0a3684fb1554d476f34685d7bfafa44c4c77ac498a1f4d17ec96437419938fc37b172902b9b2bcf52e40f4
diff --git a/dev-lua/lua-mmdb/lua-mmdb-0.2.ebuild b/dev-lua/lua-mmdb/lua-mmdb-0.2.ebuild
new file mode 100644
index 000000000000..9a72b7c7a558
--- /dev/null
+++ b/dev-lua/lua-mmdb/lua-mmdb-0.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua
+
+MY_PN="mmdblua"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Maxmind database parser for lua"
+HOMEPAGE="https://github.com/daurnimator/mmdblua"
+EGIT_COMMIT_MAXMIND="1ca40fbf5223b61bc26c5dae4335942b56327c85"
+SRC_URI="https://github.com/daurnimator/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/maxmind/MaxMind-DB/archive/${EGIT_COMMIT_MAXMIND}.tar.gz
+ -> ${P}-maxminddb-${EGIT_COMMIT_MAXMIND}.tar.gz )"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+DEPEND="
+ ${LUA_DEPS}
+ lua_targets_luajit? ( dev-lua/compat53[lua_targets_luajit(-)] )
+ lua_targets_lua5-1? ( dev-lua/compat53[lua_targets_lua5-1(-)] )
+"
+RDEPEND="${DEPEND}"
+
+lua_enable_tests busted
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ if use test; then
+ tar -xf "${DISTDIR}"/${P}-maxminddb-${EGIT_COMMIT_MAXMIND}.tar.gz \
+ -C "${S}"/spec/MaxMind-DB --strip-components=1 || die
+ fi
+}
+
+src_prepare() {
+ default
+ sed -e 's:require "mmdb":require "mmdb.init":' -i spec/test-data_spec.lua || die
+ lua_copy_sources
+}
+
+lua_src_install() {
+ insinto $(lua_get_lmod_dir)/mmdb/
+ doins mmdb/init.lua
+}
+
+src_install() {
+ lua_foreach_impl lua_src_install
+ einstalldocs
+}
diff --git a/dev-lua/lua-mmdb/metadata.xml b/dev-lua/lua-mmdb/metadata.xml
new file mode 100644
index 000000000000..8e97816eefc0
--- /dev/null
+++ b/dev-lua/lua-mmdb/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolas.parlant@parhuet.fr</email>
+ <name>Nicolas PARLANT</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">daurnimator/mmdblua</remote-id>
+ </upstream>
+</pkgmetadata>