summaryrefslogtreecommitdiff
path: root/dev-lua
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-lua
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'dev-lua')
-rw-r--r--dev-lua/LuaBitOp/LuaBitOp-1.0.1-r1.ebuild43
-rw-r--r--dev-lua/LuaBitOp/LuaBitOp-1.0.2-r1.ebuild44
-rw-r--r--dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild32
-rw-r--r--dev-lua/LuaBitOp/Manifest2
-rw-r--r--dev-lua/LuaBitOp/files/LuaBitOp-ldflags.patch13
-rw-r--r--dev-lua/LuaBitOp/metadata.xml13
-rw-r--r--dev-lua/bit32/Manifest2
-rw-r--r--dev-lua/bit32/bit32-5.3.0.ebuild33
-rw-r--r--dev-lua/busted/Manifest3
-rw-r--r--dev-lua/busted/busted-2.0.0.ebuild48
-rw-r--r--dev-lua/busted/busted-2.0_rc11_p0.ebuild43
-rw-r--r--dev-lua/busted/busted-2.0_rc12_p1.ebuild43
-rw-r--r--dev-lua/busted/metadata.xml20
-rw-r--r--dev-lua/dkjson/Manifest1
-rw-r--r--dev-lua/dkjson/dkjson-2.5.ebuild27
-rw-r--r--dev-lua/dkjson/metadata.xml19
-rw-r--r--dev-lua/lanes/Manifest1
-rw-r--r--dev-lua/lanes/files/lanes-3.10.0-fix-makefile.patch28
-rw-r--r--dev-lua/lanes/lanes-3.10.0.ebuild31
-rw-r--r--dev-lua/lanes/metadata.xml15
-rw-r--r--dev-lua/ldoc/Manifest1
-rw-r--r--dev-lua/ldoc/files/ldoc-1.4.6-mkdir.patch10
-rw-r--r--dev-lua/ldoc/ldoc-1.4.6.ebuild21
-rw-r--r--dev-lua/ldoc/metadata.xml12
-rw-r--r--dev-lua/lgi/Manifest2
-rw-r--r--dev-lua/lgi/lgi-0.9.0-r1.ebuild57
-rw-r--r--dev-lua/lgi/lgi-0.9.0.ebuild54
-rw-r--r--dev-lua/lgi/lgi-0.9.2.ebuild57
-rw-r--r--dev-lua/lgi/metadata.xml11
-rw-r--r--dev-lua/lpeg/Manifest2
-rw-r--r--dev-lua/lpeg/files/lpeg-0.12.1-makefile.patch37
-rw-r--r--dev-lua/lpeg/files/lpeg-1.0.2-makefile.patch31
-rw-r--r--dev-lua/lpeg/lpeg-1.0.1.ebuild53
-rw-r--r--dev-lua/lpeg/lpeg-1.0.2.ebuild53
-rw-r--r--dev-lua/lpeg/metadata.xml9
-rw-r--r--dev-lua/lua-argparse/Manifest1
-rw-r--r--dev-lua/lua-argparse/lua-argparse-0.6.0-r1.ebuild53
-rw-r--r--dev-lua/lua-argparse/metadata.xml22
-rw-r--r--dev-lua/lua-cjson/Manifest2
-rw-r--r--dev-lua/lua-cjson/files/sparse_array_test_fix.patch47
-rw-r--r--dev-lua/lua-cjson/lua-cjson-2.1.0.6.ebuild45
-rw-r--r--dev-lua/lua-cjson/lua-cjson-2.1.0.7.ebuild45
-rw-r--r--dev-lua/lua-cjson/metadata.xml19
-rw-r--r--dev-lua/lua-openssl/Manifest3
-rw-r--r--dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch433
-rw-r--r--dev-lua/lua-openssl/lua-openssl-0.7.8_p0.ebuild75
-rw-r--r--dev-lua/lua-openssl/metadata.xml16
-rw-r--r--dev-lua/lua-term/Manifest2
-rw-r--r--dev-lua/lua-term/lua-term-0.3.ebuild41
-rw-r--r--dev-lua/lua-term/lua-term-0.7.ebuild40
-rw-r--r--dev-lua/lua-term/metadata.xml12
-rw-r--r--dev-lua/lua-utf8/Manifest1
-rw-r--r--dev-lua/lua-utf8/files/lua-utf8.Makefile42
-rw-r--r--dev-lua/lua-utf8/lua-utf8-0.1.1.ebuild44
-rw-r--r--dev-lua/lua-utf8/metadata.xml21
-rw-r--r--dev-lua/lua-zlib/Manifest1
-rw-r--r--dev-lua/lua-zlib/lua-zlib-1.1.ebuild25
-rw-r--r--dev-lua/lua-zlib/metadata.xml9
-rw-r--r--dev-lua/lua_cliargs/Manifest3
-rw-r--r--dev-lua/lua_cliargs/lua_cliargs-2.5_p5.ebuild36
-rw-r--r--dev-lua/lua_cliargs/lua_cliargs-3.0_p1.ebuild36
-rw-r--r--dev-lua/lua_cliargs/lua_cliargs-3.0_p2.ebuild38
-rw-r--r--dev-lua/lua_cliargs/metadata.xml18
-rw-r--r--dev-lua/luacheck/Manifest2
-rw-r--r--dev-lua/luacheck/luacheck-0.20.0.ebuild49
-rw-r--r--dev-lua/luacheck/luacheck-0.23.0.ebuild54
-rw-r--r--dev-lua/luacheck/metadata.xml21
-rw-r--r--dev-lua/luacov/Manifest1
-rw-r--r--dev-lua/luacov/files/luacov-0.8-fix-makefile.patch25
-rw-r--r--dev-lua/luacov/luacov-0.8.ebuild36
-rw-r--r--dev-lua/luacov/metadata.xml15
-rw-r--r--dev-lua/luacrypto/Manifest1
-rw-r--r--dev-lua/luacrypto/files/luacrypto-0.3.2-lualibdir.patch11
-rw-r--r--dev-lua/luacrypto/luacrypto-0.3.2-r1.ebuild39
-rw-r--r--dev-lua/luacrypto/metadata.xml9
-rw-r--r--dev-lua/luadbi/Manifest1
-rw-r--r--dev-lua/luadbi/files/0.5-r2-Makefile.patch47
-rw-r--r--dev-lua/luadbi/luadbi-0.5-r5.ebuild63
-rw-r--r--dev-lua/luadbi/luadbi-0.5-r6.ebuild66
-rw-r--r--dev-lua/luadbi/metadata.xml9
-rw-r--r--dev-lua/luadoc/Manifest1
-rw-r--r--dev-lua/luadoc/luadoc-3.0.1.ebuild36
-rw-r--r--dev-lua/luadoc/metadata.xml12
-rw-r--r--dev-lua/luaevent/Manifest2
-rw-r--r--dev-lua/luaevent/luaevent-0.4.4.ebuild39
-rw-r--r--dev-lua/luaevent/luaevent-0.4.6.ebuild40
-rw-r--r--dev-lua/luaevent/metadata.xml11
-rw-r--r--dev-lua/luaexpat/Manifest2
-rw-r--r--dev-lua/luaexpat/files/1.2.0-destdir-ldflags.patch27
-rw-r--r--dev-lua/luaexpat/luaexpat-1.2.0-r1.ebuild44
-rw-r--r--dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild51
-rw-r--r--dev-lua/luaexpat/metadata.xml6
-rw-r--r--dev-lua/luafilesystem/Manifest4
-rw-r--r--dev-lua/luafilesystem/luafilesystem-1.5.0.ebuild33
-rw-r--r--dev-lua/luafilesystem/luafilesystem-1.6.2.ebuild33
-rw-r--r--dev-lua/luafilesystem/luafilesystem-1.6.3.ebuild53
-rw-r--r--dev-lua/luafilesystem/luafilesystem-1.7.0.2.ebuild66
-rw-r--r--dev-lua/luafilesystem/metadata.xml23
-rw-r--r--dev-lua/luajson/Manifest1
-rw-r--r--dev-lua/luajson/luajson-1.3.3.ebuild28
-rw-r--r--dev-lua/luajson/metadata.xml9
-rw-r--r--dev-lua/lualdap/Manifest1
-rw-r--r--dev-lua/lualdap/lualdap-1.2.0.ebuild23
-rw-r--r--dev-lua/lualdap/metadata.xml13
-rw-r--r--dev-lua/luaossl/Manifest4
-rw-r--r--dev-lua/luaossl/luaossl-20150727.ebuild43
-rw-r--r--dev-lua/luaossl/luaossl-20180708.ebuild40
-rw-r--r--dev-lua/luaossl/luaossl-20181207.ebuild40
-rw-r--r--dev-lua/luaossl/luaossl-20190731.ebuild40
-rw-r--r--dev-lua/luaossl/metadata.xml16
-rw-r--r--dev-lua/luaposix/Manifest1
-rw-r--r--dev-lua/luaposix/luaposix-33.4.0.ebuild18
-rw-r--r--dev-lua/luaposix/metadata.xml12
-rw-r--r--dev-lua/luarocks/Manifest3
-rw-r--r--dev-lua/luarocks/luarocks-2.2.0.ebuild52
-rw-r--r--dev-lua/luarocks/luarocks-3.2.1.ebuild36
-rw-r--r--dev-lua/luarocks/luarocks-3.3.1.ebuild36
-rw-r--r--dev-lua/luarocks/metadata.xml27
-rw-r--r--dev-lua/luasec/Manifest3
-rw-r--r--dev-lua/luasec/files/luasec-0.5.1-compdefine.patch36
-rw-r--r--dev-lua/luasec/luasec-0.5.1.ebuild39
-rw-r--r--dev-lua/luasec/luasec-0.6.ebuild43
-rw-r--r--dev-lua/luasec/luasec-0.7.ebuild49
-rw-r--r--dev-lua/luasec/luasec-9999.ebuild49
-rw-r--r--dev-lua/luasec/metadata.xml9
-rw-r--r--dev-lua/luasocket/Manifest1
-rw-r--r--dev-lua/luasocket/files/proxy-fix.patch31
-rw-r--r--dev-lua/luasocket/luasocket-3.0_rc1-r4.ebuild55
-rw-r--r--dev-lua/luasocket/metadata.xml9
-rw-r--r--dev-lua/luassert/Manifest3
-rw-r--r--dev-lua/luassert/luassert-1.7.10.ebuild39
-rw-r--r--dev-lua/luassert/luassert-1.7.9.ebuild27
-rw-r--r--dev-lua/luassert/luassert-1.8.0.ebuild45
-rw-r--r--dev-lua/luassert/metadata.xml16
-rw-r--r--dev-lua/luasystem/Manifest2
-rw-r--r--dev-lua/luasystem/files/luasystem-0.2.0_p0-fix-makefile.patch33
-rw-r--r--dev-lua/luasystem/files/luasystem-0.2.1_p0-fix-makefile.patch33
-rw-r--r--dev-lua/luasystem/luasystem-0.2.0_p0.ebuild44
-rw-r--r--dev-lua/luasystem/luasystem-0.2.1_p0.ebuild56
-rw-r--r--dev-lua/luasystem/metadata.xml16
-rw-r--r--dev-lua/lutok/Manifest1
-rw-r--r--dev-lua/lutok/lutok-0.4-r1.ebuild36
-rw-r--r--dev-lua/lutok/lutok-0.4-r2.ebuild35
-rw-r--r--dev-lua/lutok/metadata.xml9
-rw-r--r--dev-lua/luv/Manifest2
-rw-r--r--dev-lua/luv/luv-1.32.0.0.ebuild61
-rw-r--r--dev-lua/luv/metadata.xml15
-rw-r--r--dev-lua/mediator_lua/Manifest1
-rw-r--r--dev-lua/mediator_lua/mediator_lua-1.1.2_p0.ebuild32
-rw-r--r--dev-lua/mediator_lua/metadata.xml18
-rw-r--r--dev-lua/messagepack/Manifest1
-rw-r--r--dev-lua/messagepack/messagepack-0.3.2.ebuild27
-rw-r--r--dev-lua/messagepack/metadata.xml6
-rw-r--r--dev-lua/metadata.xml38
-rw-r--r--dev-lua/mpack/Manifest1
-rw-r--r--dev-lua/mpack/metadata.xml9
-rw-r--r--dev-lua/mpack/mpack-1.0.4.ebuild46
-rw-r--r--dev-lua/penlight/Manifest3
-rw-r--r--dev-lua/penlight/metadata.xml18
-rw-r--r--dev-lua/penlight/penlight-1.3.2.ebuild27
-rw-r--r--dev-lua/penlight/penlight-1.5.4.ebuild30
-rw-r--r--dev-lua/penlight/penlight-1.7.0.ebuild30
-rw-r--r--dev-lua/say/Manifest1
-rw-r--r--dev-lua/say/metadata.xml15
-rw-r--r--dev-lua/say/say-1.3_p1-r1.ebuild40
-rw-r--r--dev-lua/say/say-1.3_p1.ebuild29
-rw-r--r--dev-lua/toluapp/Manifest1
-rw-r--r--dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch38
-rw-r--r--dev-lua/toluapp/metadata.xml6
-rw-r--r--dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild28
170 files changed, 4618 insertions, 0 deletions
diff --git a/dev-lua/LuaBitOp/LuaBitOp-1.0.1-r1.ebuild b/dev-lua/LuaBitOp/LuaBitOp-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..e09c02489414
--- /dev/null
+++ b/dev-lua/LuaBitOp/LuaBitOp-1.0.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Bit Operations Library for the Lua Programming Language"
+HOMEPAGE="http://bitop.luajit.org"
+SRC_URI="http://bitop.luajit.org/download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="=dev-lang/lua-5.1*"
+RDEPEND="${DEPEND}"
+
+src_prepare()
+{
+ sed -i \
+ -e '/^CFLAGS.*=/s/=/ +=/' \
+ -e '/^CFLAGS/s/-O2 -fomit-frame-pointer //' \
+ Makefile || die "sed failed"
+ epatch "${FILESDIR}/${PN}-ldflags.patch"
+}
+
+src_compile()
+{
+ emake CC="$(tc-getCC)"
+}
+
+src_test()
+{
+ make test
+}
+
+src_install()
+{
+ exeinto /usr/$(get_libdir)/lua/5.1
+doexe bit.so
+ dohtml -r doc/*
+}
diff --git a/dev-lua/LuaBitOp/LuaBitOp-1.0.2-r1.ebuild b/dev-lua/LuaBitOp/LuaBitOp-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..e56c2587e41d
--- /dev/null
+++ b/dev-lua/LuaBitOp/LuaBitOp-1.0.2-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="Bit Operations Library for the Lua Programming Language"
+HOMEPAGE="http://bitop.luajit.org"
+SRC_URI="http://bitop.luajit.org/download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~hppa ~mips ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/lua-5.1.5-r2:*[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ multilib_copy_sources
+}
+
+multilib_src_compile()
+{
+ emake CC="$(tc-getCC)" INCLUDES= CCOPT=
+}
+
+multilib_src_test() {
+ # tests use native lua interpreter
+ multilib_is_native_abi && default
+}
+
+multilib_src_install()
+{
+ local instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)"
+ exeinto "${instdir#${EPREFIX}}"
+ doexe bit.so
+}
+
+multilib_src_install_all() {
+ dodoc README
+ dohtml -r doc/.
+}
diff --git a/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild b/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
new file mode 100644
index 000000000000..66d3e88a1af1
--- /dev/null
+++ b/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit toolchain-funcs
+
+DESCRIPTION="Bit Operations Library for the Lua Programming Language"
+HOMEPAGE="http://bitop.luajit.org"
+SRC_URI="http://bitop.luajit.org/download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm hppa ~mips x86"
+IUSE=""
+
+RDEPEND="dev-lang/lua"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_compile()
+{
+ emake CC="$(tc-getCC)" INCLUDES= CCOPT=
+}
+
+src_install()
+{
+ exeinto "$(pkg-config --variable INSTALL_CMOD lua)"
+ doexe bit.so
+
+ dodoc README
+ dohtml -r doc/*
+}
diff --git a/dev-lua/LuaBitOp/Manifest b/dev-lua/LuaBitOp/Manifest
new file mode 100644
index 000000000000..3a2561aa1e73
--- /dev/null
+++ b/dev-lua/LuaBitOp/Manifest
@@ -0,0 +1,2 @@
+DIST LuaBitOp-1.0.1.tar.gz 22984 BLAKE2B f4c7517e92cb11e7486c8a18e029374a635fda9c368ce9d160485a32b3ad3e63046c1183924d8a432b07e58607867c0e937d7dade4857842456d15778adccc8c SHA512 de326ba899b70ea01c41b02d26b1a5afd07bdeee5628be7cbeaa438452ac4343cab01494ac3e5e6758365de15c5cb9c211e17f2e4dd1e0e9258979d06018c71e
+DIST LuaBitOp-1.0.2.tar.gz 23127 BLAKE2B 97b2ded135903f7bf2165a03d611fc2864336929706eb67097b5d67d0a0ec156c855a1637bc309d8dd03cb68beeda350b33eed7678b82540da54502cf981333a SHA512 a652050ea5c6fbeb8a28b05e2bc4a3550c854cc45f7f42c8c1b0a81f5b76773cdf061e6a839cdb339614118169e578b6e3efa5a3efbe59a2f01874b2fa2b4f2e
diff --git a/dev-lua/LuaBitOp/files/LuaBitOp-ldflags.patch b/dev-lua/LuaBitOp/files/LuaBitOp-ldflags.patch
new file mode 100644
index 000000000000..2a690cdb5866
--- /dev/null
+++ b/dev-lua/LuaBitOp/files/LuaBitOp-ldflags.patch
@@ -0,0 +1,13 @@
+Index: LuaBitOp-1.0.1/Makefile
+===================================================================
+--- LuaBitOp-1.0.1.orig/Makefile
++++ LuaBitOp-1.0.1/Makefile
+@@ -14,7 +14,7 @@ LUA= lua
+
+ CC= gcc
+ SOCFLAGS= -fPIC
+-SOCC= $(CC) -shared $(SOCFLAGS)
++SOCC= $(CC) -shared $(SOCFLAGS) $(LDFLAGS)
+ CFLAGS += -Wall $(SOCFLAGS) $(DEFINES) $(INCLUDES)
+ RM= rm -f
+ INSTALL= install -p
diff --git a/dev-lua/LuaBitOp/metadata.xml b/dev-lua/LuaBitOp/metadata.xml
new file mode 100644
index 000000000000..9130a7b00fa3
--- /dev/null
+++ b/dev-lua/LuaBitOp/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a library for the Lua programming language which performs bit
+ operations.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/bit32/Manifest b/dev-lua/bit32/Manifest
new file mode 100644
index 000000000000..e8490c077b42
--- /dev/null
+++ b/dev-lua/bit32/Manifest
@@ -0,0 +1,2 @@
+DIST bitlib-5.3.0.tar.gz 21884 BLAKE2B c81a7de8e43eb2c61272aa311e459d0737cd37ef6c1f50d68300059ba5c7cd908173b9fb00f8849888a49d572a7787da7e405433e15100079108e55cc3342980 SHA512 234807e201197bc27720864a328f5b63a9fe8bf88bf1fb64cd178532c0745a330b23455fcff0e50d365034f3e43af3c835de7f10a685275da66a7a1ca873e90a
+EBUILD bit32-5.3.0.ebuild 775 BLAKE2B fa7f9ced5c9338d004c36cea0fd63df661b530783cbfbf501032823af3a4dfd904da577bb7d9653f4d86e2c41b060014d9830eb57fbaaf3e7c1f6d0766ca160c SHA512 cc6dbb48686f5762288b1a90884258e2f8db11e99501f63d100273451af08feed1508666ab744af3fb4bc1bcb355ce0f094263b3f9cf1e877a4bf5060a59c7bb
diff --git a/dev-lua/bit32/bit32-5.3.0.ebuild b/dev-lua/bit32/bit32-5.3.0.ebuild
new file mode 100644
index 000000000000..65205647cf99
--- /dev/null
+++ b/dev-lua/bit32/bit32-5.3.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Based on bit32 ebuild from lua overlay
+
+EAPI="5"
+
+inherit toolchain-funcs
+
+DESCRIPTION="A Lua5.2+ bit manipulation library"
+HOMEPAGE="https://github.com/keplerproject/lua-compat-5.2"
+SRC_URI="https://github.com/keplerproject/lua-compat-5.2/archive/bitlib-${PV}.tar.gz"
+KEYWORDS="~amd64"
+READMES=( README.md )
+
+DEPENDS="dev-lang/lua:0="
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+S="${WORKDIR}/lua-compat-5.2-bitlib-${PV}"
+
+src_compile() {
+ local MY_PN="lbitlib"
+
+ $(tc-getCC) ${CFLAGS} -fPIC -Ic-api -c -o ${MY_PN}.o ${MY_PN}.c || die
+ $(tc-getCC) ${LDFLAGS} -shared -fPIC -llua -o ${PN}.so ${MY_PN}.o || die
+}
+
+src_install() {
+ insinto /usr/lib64/lua/5.1
+ doins "${PN}.so"
+}
diff --git a/dev-lua/busted/Manifest b/dev-lua/busted/Manifest
new file mode 100644
index 000000000000..a71fcbc8e3b1
--- /dev/null
+++ b/dev-lua/busted/Manifest
@@ -0,0 +1,3 @@
+DIST busted-2.0.0.tar.gz 55002 BLAKE2B 39a3b7bf156911e25f94020f9e56b3f43b9f02b910a9d1c1f288dbdb83e5d53253d5b40d73df655844ed683cff7959d42c330c0d061db918385df07870e16da3 SHA512 3151694b1fba1acc52e3bcfee0231008b14934e89da5885d7e063c6f023479c42040c42a8c0aa6ff1f8303ad6b2a70f0687c8a218830de7231007ef8748457bf
+DIST busted-2.0_rc11_p0.tar.gz 48368 BLAKE2B 3e4534795a4d6bd816b9879d447b82e144f738f3601856e5c9fc5419a6b8f3cb57a78a9ce6ad90990c1abe9fe0974b809d10a942b5f4930b4120f98d34de0dbe SHA512 f09cd5ad2be05b37254e9d602433639340b020e0670e8a435f1ee1d312eced37e284c2f5a398d7a0403fac0023851b74dbe659373e495c5354f48baed814c4b8
+DIST busted-2.0_rc12_p1.tar.gz 52404 BLAKE2B 51f12aea26d6b0909fdbf8953b316814ff8cd76d39358a26eb785ac7541acddbfde1b19d2e41c9e966a604f8f00b9517181f87264a76a4ac7f9f8d6008c87692 SHA512 0cb1f6a66110514dc3675b2e667cca676e6672e895b57ffba438e89a1e0a7f4f8f941cab54ead905758987be15e9885e1eeb82baabc9d18bf29ea56b832b89b1
diff --git a/dev-lua/busted/busted-2.0.0.ebuild b/dev-lua/busted/busted-2.0.0.ebuild
new file mode 100644
index 000000000000..72b120bd9650
--- /dev/null
+++ b/dev-lua/busted/busted-2.0.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Elegant Lua unit testing"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:=
+ >=dev-lua/lua_cliargs-3.0
+ >=dev-lua/luafilesystem-1.5.0
+ >=dev-lua/luasystem-0.2.0
+ >=dev-lua/dkjson-2.1.0
+ >=dev-lua/say-1.3
+ >=dev-lua/luassert-1.7.8
+ >=dev-lua/lua-term-0.1_p1
+ >=dev-lua/penlight-1.3.2
+ >=dev-lua/mediator_lua-1.1.1_p0
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ >=dev-lua/busted-2.0.0
+ )
+"
+DEPEND="${RDEPEND}"
+
+src_test() {
+ busted ./spec || die
+}
+
+src_install() {
+ dobin bin/busted
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"/${PN}
+ doins -r busted/*
+ dodoc *.md
+}
diff --git a/dev-lua/busted/busted-2.0_rc11_p0.ebuild b/dev-lua/busted/busted-2.0_rc11_p0.ebuild
new file mode 100644
index 000000000000..7ad217bf0d5b
--- /dev/null
+++ b/dev-lua/busted/busted-2.0_rc11_p0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+# The below is the upstream version number. The -x suffix should be kept
+# in sync with the _px suffix in the ebuild version.
+MY_PV="2.0.rc11-0"
+
+DESCRIPTION="Elegant Lua unit testing"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ ~dev-lua/lua_cliargs-2.5_p5
+ >=dev-lua/luafilesystem-1.5.0
+ >=dev-lua/dkjson-2.1.0
+ >=dev-lua/say-1.3
+ >=dev-lua/luassert-1.7.8
+ >=dev-lua/lua-term-0.1_p1
+ >=dev-lua/penlight-1.3.2
+ >=dev-lua/mediator_lua-1.1.1_p0
+ >=dev-lua/luasocket-2.0.1
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+dobin bin/busted
+insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"/${PN}
+doins -r busted/*
+dodoc *.md
+}
diff --git a/dev-lua/busted/busted-2.0_rc12_p1.ebuild b/dev-lua/busted/busted-2.0_rc12_p1.ebuild
new file mode 100644
index 000000000000..baef07948bfe
--- /dev/null
+++ b/dev-lua/busted/busted-2.0_rc12_p1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+# The below is the upstream version number. The -x suffix should be kept
+# in sync with the _px suffix in the ebuild version.
+MY_PV="2.0.rc12-1"
+
+DESCRIPTION="Elegant Lua unit testing"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-lua/lua_cliargs-3.0
+ >=dev-lua/luafilesystem-1.5.0
+ >=dev-lua/luasystem-0.2.0
+ >=dev-lua/dkjson-2.1.0
+ >=dev-lua/say-1.3
+ >=dev-lua/luassert-1.7.8
+ >=dev-lua/lua-term-0.1_p1
+ >=dev-lua/penlight-1.3.2
+ >=dev-lua/mediator_lua-1.1.1_p0
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ dobin bin/busted
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"/${PN}
+ doins -r busted/*
+ dodoc *.md
+}
diff --git a/dev-lua/busted/metadata.xml b/dev-lua/busted/metadata.xml
new file mode 100644
index 000000000000..07a585a9c990
--- /dev/null
+++ b/dev-lua/busted/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ An elegant, extensible, testing framework.
+ Ships with a large amount of useful asserts,
+ plus the ability to write your own. Output
+ in pretty or plain terminal format, JSON,
+ or TAP for CI integration. Great for TDD
+ and unit, integration, and functional tests.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Olivine-Labs/busted</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/dkjson/Manifest b/dev-lua/dkjson/Manifest
new file mode 100644
index 000000000000..ef726ea7303f
--- /dev/null
+++ b/dev-lua/dkjson/Manifest
@@ -0,0 +1 @@
+DIST dkjson-2.5.tar.gz 15799 BLAKE2B 25cf9aa3d00d87b367096dc793984766d7777c98ec9e97c5bd72961fb0141bb1ae94682f3719d11bde52104a755636de546fe8aece0fbf7147045175ad8bcea9 SHA512 ec9a226c3a94d7561f8f51bb0e6c92a64385b0d8baf83de862cce7e1c302d900bff723be23e4b5b4c3c2accafaf8d75d4b0842e14b2e41390a3f9761d46a38af
diff --git a/dev-lua/dkjson/dkjson-2.5.ebuild b/dev-lua/dkjson/dkjson-2.5.ebuild
new file mode 100644
index 000000000000..84633d383c15
--- /dev/null
+++ b/dev-lua/dkjson/dkjson-2.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="David Kolf's JSON module for Lua"
+HOMEPAGE="http://dkolf.de/src/dkjson-lua.fsl/"
+SRC_URI="http://dkolf.de/src/dkjson-lua.fsl/tarball/${P}.tar.gz?uuid=release_2_5 -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:=
+ !>=dev-lang/lua-5.4"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+doins dkjson.lua
+dodoc readme.txt
+}
diff --git a/dev-lua/dkjson/metadata.xml b/dev-lua/dkjson/metadata.xml
new file mode 100644
index 000000000000..95fd090f48de
--- /dev/null
+++ b/dev-lua/dkjson/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ dkjson is a module for encoding and decoding JSON data. It supports
+ UTF-8.
+
+ JSON (JavaScript Object Notation) is a format for serializing data
+ based on the syntax for JavaScript data structures.
+
+ dkjson is written in Lua without any dependencies, but
+ when LPeg is available dkjson uses it to speed up decoding.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lanes/Manifest b/dev-lua/lanes/Manifest
new file mode 100644
index 000000000000..017386fd955f
--- /dev/null
+++ b/dev-lua/lanes/Manifest
@@ -0,0 +1 @@
+DIST lanes-3.10.0.tar.gz 231359 BLAKE2B beb1972a9b37097947fc673a644330fe8b66c826bc09967526b96d8e28838939516ee3ad4640fb8e5dca7061227c2844d55270c48f26416c7a7bd3613a83e648 SHA512 4a49f560623e291a8344ffef69f4f26fd422d21d3926d73dfee9c9ae9ebd4973e5ae2d307dfd42c5a3bf101bfcc277df54f0a46d89390c83483208e36d4e5d9b
diff --git a/dev-lua/lanes/files/lanes-3.10.0-fix-makefile.patch b/dev-lua/lanes/files/lanes-3.10.0-fix-makefile.patch
new file mode 100644
index 000000000000..52549704248e
--- /dev/null
+++ b/dev-lua/lanes/files/lanes-3.10.0-fix-makefile.patch
@@ -0,0 +1,28 @@
+diff --git a/Makefile b/Makefile
+index fc44fac..6c87e89 100644
+--- a/Makefile
++++ b/Makefile
+@@ -202,17 +202,17 @@ _perftest:
+ #
+ # LUA_LIBDIR and LUA_SHAREDIR are used by the .rockspec (don't change the names!)
+ #
+-DESTDIR=/usr/local
+-LUA_LIBDIR=$(DESTDIR)/lib/lua/5.1
+-LUA_SHAREDIR=$(DESTDIR)/share/lua/5.1
++PREFIX=/usr/local
++LUA_LIBDIR=$(PREFIX)/lib/lua/5.1
++LUA_SHAREDIR=$(PREFIX)/share/lua/5.1
+
+ #
+ # AKa 17-Oct: changed to use 'install -m 644' and 'cp -p'
+ #
+ install: $(_TARGET_SO) src/lanes.lua
+- mkdir -p $(LUA_LIBDIR) $(LUA_LIBDIR)/lanes $(LUA_SHAREDIR)
+- install -m 644 $(_TARGET_SO) $(LUA_LIBDIR)/lanes
+- cp -p src/lanes.lua $(LUA_SHAREDIR)
++ mkdir -p $(DESTDIR)$(LUA_LIBDIR)/lanes $(DESTDIR)$(LUA_SHAREDIR)
++ install -m 644 $(_TARGET_SO) $(DESTDIR)$(LUA_LIBDIR)/lanes
++ cp -p src/lanes.lua $(DESTDIR)$(LUA_SHAREDIR)
+
+
+ #--- Packaging ---
diff --git a/dev-lua/lanes/lanes-3.10.0.ebuild b/dev-lua/lanes/lanes-3.10.0.ebuild
new file mode 100644
index 000000000000..0db398773e8e
--- /dev/null
+++ b/dev-lua/lanes/lanes-3.10.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="lightweight, native, lazy evaluating multithreading library"
+HOMEPAGE="https://github.com/LuaLanes/lanes"
+SRC_URI="https://github.com/LuaLanes/lanes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+src_prepare() {
+ tc-export CC
+ epatch "${FILESDIR}"/${P}-fix-makefile.patch
+ sed -i -e "s#/lib#/$(get_libdir)#" Makefile || die "sed failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install
+ dodoc ABOUT BUGS CHANGES README TODO
+dohtml -r docs/*
+}
diff --git a/dev-lua/lanes/metadata.xml b/dev-lua/lanes/metadata.xml
new file mode 100644
index 000000000000..6226540d9c2b
--- /dev/null
+++ b/dev-lua/lanes/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ lightweight, native, lazy evaluating multithreading library for Lua-5.1 or 5.2.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">LuaLanes/lanes</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/ldoc/Manifest b/dev-lua/ldoc/Manifest
new file mode 100644
index 000000000000..a57bde602047
--- /dev/null
+++ b/dev-lua/ldoc/Manifest
@@ -0,0 +1 @@
+DIST ldoc-1.4.6.tar.gz 126080 BLAKE2B c43a79141ce557a54b9aed3c7523b206bec85602d858c72373d650a70e1741b545b2b9bdd462856c7e16af97f6a5eeeeea26375832f678b52d9e9153547076be SHA512 bcaddba4e462a4fb0aa0d8fcff390de3f195fa5cc569d8f05b84ad0fff900f5ac945be7a2eb15cf5ca60cc462f02c874579e4a19e33776178a04104ef9d944af
diff --git a/dev-lua/ldoc/files/ldoc-1.4.6-mkdir.patch b/dev-lua/ldoc/files/ldoc-1.4.6-mkdir.patch
new file mode 100644
index 000000000000..0c7a9497c4a5
--- /dev/null
+++ b/dev-lua/ldoc/files/ldoc-1.4.6-mkdir.patch
@@ -0,0 +1,10 @@
+--- a/makefile
++++ b/makefile
+@@ -6,6 +6,7 @@
+ ldoc:
+
+ install: install_parts
++ mkdir -p $(DESTDIR)$(LUA_BINDIR)
+ echo "lua $(LUA_SHAREDIR)/ldoc.lua \$$*" > $(DESTDIR)$(LUA_BINDIR)/ldoc
+ chmod +x $(DESTDIR)$(LUA_BINDIR)/ldoc
+
diff --git a/dev-lua/ldoc/ldoc-1.4.6.ebuild b/dev-lua/ldoc/ldoc-1.4.6.ebuild
new file mode 100644
index 000000000000..191d469dd2e1
--- /dev/null
+++ b/dev-lua/ldoc/ldoc-1.4.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A LuaDoc-compatible documentation generation system"
+HOMEPAGE="https://stevedonovan.github.io/ldoc/"
+SRC_URI="https://github.com/stevedonovan/LDoc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+RDEPEND="dev-lua/penlight"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.4.6-mkdir.patch" )
+
+S="${WORKDIR}/LDoc-${PV}"
+RESTRICT="test"
diff --git a/dev-lua/ldoc/metadata.xml b/dev-lua/ldoc/metadata.xml
new file mode 100644
index 000000000000..7194e501e871
--- /dev/null
+++ b/dev-lua/ldoc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!--maintainer-needed-->
+ <longdescription lang="en">
+ LDoc is a LuaDoc-compatible documentation generation system.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">stevedonovan/LDoc</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lgi/Manifest b/dev-lua/lgi/Manifest
new file mode 100644
index 000000000000..159d061b3e83
--- /dev/null
+++ b/dev-lua/lgi/Manifest
@@ -0,0 +1,2 @@
+DIST lgi-0.9.0.tar.gz 285248 BLAKE2B e5e6fe79899b70f46338827296b921c04c31ac1edc82e5c7a1d443c54c409aea65a766f3666b0ff9fca63a17cb50fe9727d0722007b16a1d4a6c77c48b9f3828 SHA512 1a486a40f504740224b1d277368df65e0a30708c02422390517c2fbf961b5fec264bdbc695d306e2f5fb2aa8ad4539212ef5314b18f45e3b488fd5f492a19f9e
+DIST lgi-0.9.2.tar.gz 291463 BLAKE2B d89752e7c56f9a695f97f90680515fd9acab57991121ec3455fcd88aa0b64828f060d9bf222fb1ab14bdfc956ec3ad296af848168532d09694a0cacbb55dac71 SHA512 755a96b78530f42da6d4e2664f8e37cb07a356419e7e6448003c3f841c9d98ad18b851715d9eb203ea7eb27b13ec46223fa8a1c90a99fd12960ce85b0a695335
diff --git a/dev-lua/lgi/lgi-0.9.0-r1.ebuild b/dev-lua/lgi/lgi-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..bc34ca2555bd
--- /dev/null
+++ b/dev-lua/lgi/lgi-0.9.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VIRTUALX_REQUIRED="manual"
+
+inherit eutils toolchain-funcs flag-o-matic virtualx
+
+DESCRIPTION="Lua bindings using gobject-introspection"
+HOMEPAGE="https://github.com/pavouk/lgi"
+SRC_URI="https://github.com/pavouk/lgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-lang/lua-5.1
+ dev-libs/gobject-introspection
+ dev-libs/glib
+ virtual/libffi:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ x11-libs/cairo[glib]
+ x11-libs/gtk+[introspection]
+ ${VIRTUALX_DEPEND}
+ )"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s:^LUA_LIBDIR.*$:LUA_LIBDIR = $($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua):" \
+ -e "s:^LUA_SHAREDIR.*$:LUA_SHAREDIR = $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua):" \
+ "${S}"/lgi/Makefile || die "sed failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" COPTFLAGS="-Wall -Wextra ${CFLAGS}" LIBFLAG="-shared ${LDFLAGS}"
+}
+
+src_test() {
+ virtx emake CC="$(tc-getCC)" COPTFLAGS="-Wall -Wextra ${CFLAGS}" LIBFLAG="-shared ${LDFLAGS}" check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ docompress -x /usr/share/doc/${PF}
+ dodoc README.md
+ dodoc -r docs/*
+ if use examples; then
+ dodoc -r samples
+ fi
+}
diff --git a/dev-lua/lgi/lgi-0.9.0.ebuild b/dev-lua/lgi/lgi-0.9.0.ebuild
new file mode 100644
index 000000000000..51020ae52c96
--- /dev/null
+++ b/dev-lua/lgi/lgi-0.9.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+VIRTUALX_REQUIRED="manual"
+
+inherit eutils toolchain-funcs flag-o-matic virtualx
+
+DESCRIPTION="Lua bindings using gobject-introspection"
+HOMEPAGE="https://github.com/pavouk/lgi"
+SRC_URI="https://github.com/pavouk/lgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-lang/lua-5.1
+ dev-libs/gobject-introspection
+ dev-libs/glib
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ x11-libs/cairo[glib]
+ x11-libs/gtk+[introspection]
+ ${VIRTUALX_DEPEND}
+ )"
+
+src_prepare() {
+ sed -i \
+ -e "s:^LUA_LIBDIR.*$:LUA_LIBDIR = $($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua):" \
+ -e "s:^LUA_SHAREDIR.*$:LUA_SHAREDIR = $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua):" \
+ "${S}"/lgi/Makefile || die "sed failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" COPTFLAGS="-Wall -Wextra ${CFLAGS}" LIBFLAG="-shared ${LDFLAGS}"
+}
+
+src_test() {
+ Xemake CC="$(tc-getCC)" COPTFLAGS="-Wall -Wextra ${CFLAGS}" LIBFLAG="-shared ${LDFLAGS}" check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dohtml -r docs/*
+ dodoc README.md
+ if use examples; then
+ dodoc -r samples
+ fi
+}
diff --git a/dev-lua/lgi/lgi-0.9.2.ebuild b/dev-lua/lgi/lgi-0.9.2.ebuild
new file mode 100644
index 000000000000..c2faaf94dbc1
--- /dev/null
+++ b/dev-lua/lgi/lgi-0.9.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VIRTUALX_REQUIRED="manual"
+
+inherit eutils toolchain-funcs flag-o-matic virtualx
+
+DESCRIPTION="Lua bindings using gobject-introspection"
+HOMEPAGE="https://github.com/pavouk/lgi"
+SRC_URI="https://github.com/pavouk/lgi/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND=">=dev-lang/lua-5.1:=
+ dev-libs/gobject-introspection
+ dev-libs/glib
+ virtual/libffi:0="
+DEPEND="${RDEPEND}
+ test? (
+ x11-libs/cairo[glib]
+ x11-libs/gtk+[introspection]
+ ${VIRTUALX_DEPEND}
+ )"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s:^LUA_LIBDIR.*$:LUA_LIBDIR = $($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua):" \
+ -e "s:^LUA_SHAREDIR.*$:LUA_SHAREDIR = $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua):" \
+ "${S}"/lgi/Makefile || die "sed failed"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" COPTFLAGS="-Wall -Wextra ${CFLAGS}" LIBFLAG="-shared ${LDFLAGS}"
+}
+
+src_test() {
+ virtx emake CC="$(tc-getCC)" COPTFLAGS="-Wall -Wextra ${CFLAGS}" LIBFLAG="-shared ${LDFLAGS}" check
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ docompress -x /usr/share/doc/${PF}
+ dodoc README.md
+ dodoc -r docs/*
+ if use examples; then
+ dodoc -r samples
+ fi
+}
diff --git a/dev-lua/lgi/metadata.xml b/dev-lua/lgi/metadata.xml
new file mode 100644
index 000000000000..becfe7262059
--- /dev/null
+++ b/dev-lua/lgi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pavouk/lgi</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lpeg/Manifest b/dev-lua/lpeg/Manifest
new file mode 100644
index 000000000000..6addf6c1ed10
--- /dev/null
+++ b/dev-lua/lpeg/Manifest
@@ -0,0 +1,2 @@
+DIST lpeg-1.0.1.tar.gz 71527 BLAKE2B 5f19d308572f2d7a5ff11d7aa33f437ec682994d0a396a322764cf12a4cb659c66ce6ffaf0c76f6a250a7d767b6545478dd3bb760150b9f88be41fac9dafde0d SHA512 7b43fbee7eff443000986684bc56bba6d2796a31cf860740746c70e155bdea1b62a46b93f97e2747e3ef0f63e965148778ac2985d0f2d83e1e37ec4ebbabf4aa
+DIST lpeg-1.0.2.tar.gz 71840 BLAKE2B e0d8fb4e9d17c9018f0b206cd3f7c9c0e21398c119600b5b0705c8df19e0956347bea795c7c3ded8e62e0c09802dd8eab931a5e3769fcacf44c35aa2b17fa8d6 SHA512 110527ddf9f8e5e8a80ef0ae8847c8ba8cd2597dba3bfe2865cba9af60daafbb885f21e74231952f5ab793d021e050b482066a821c6954d52090a5eae77e9814
diff --git a/dev-lua/lpeg/files/lpeg-0.12.1-makefile.patch b/dev-lua/lpeg/files/lpeg-0.12.1-makefile.patch
new file mode 100644
index 000000000000..a0be0558aa97
--- /dev/null
+++ b/dev-lua/lpeg/files/lpeg-0.12.1-makefile.patch
@@ -0,0 +1,37 @@
+--- lpeg-0.12.1/makefile
++++ lpeg-0.12.1/makefile
+@@ -1,7 +1,7 @@
+ LIBNAME = lpeg
+ LUADIR = ../lua/
+
+-COPT = -O2
++#COPT = -O2
+ # COPT = -DLPEG_DEBUG -g
+
+ CWARNS = -Wall -Wextra -pedantic \
+@@ -22,21 +22,21 @@
+ # -Wunreachable-code \
+
+
+-CFLAGS = $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
++CFLAGS += $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
+ CC = gcc
+
+ FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o
+
+ # For Linux
+ linux:
+- make lpeg.so "DLLFLAGS = -shared -fPIC"
++ $(MAKE) lpeg.so "DLLFLAGS = -shared -fPIC"
+
+ # For Mac OS
+ macosx:
+- make lpeg.so "DLLFLAGS = -bundle -undefined dynamic_lookup"
++ $(MAKE) lpeg.so "DLLFLAGS = -bundle -undefined dynamic_lookup"
+
+ lpeg.so: $(FILES)
+- env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.so
++ env $(CC) $(DLLFLAGS) $(LDFLAGS) $(FILES) -o lpeg.so
+
+ $(FILES): makefile
+
diff --git a/dev-lua/lpeg/files/lpeg-1.0.2-makefile.patch b/dev-lua/lpeg/files/lpeg-1.0.2-makefile.patch
new file mode 100644
index 000000000000..ec8150443da4
--- /dev/null
+++ b/dev-lua/lpeg/files/lpeg-1.0.2-makefile.patch
@@ -0,0 +1,31 @@
+Respect user CFLAGS and LDFLAGS.
+
+--- lpeg-1.0.2/makefile
++++ lpeg-1.0.2/makefile
+@@ -1,7 +1,7 @@
+ LIBNAME = lpeg
+ LUADIR = ../lua/
+
+-COPT = -O2 -DNDEBUG
++COPT = -DNDEBUG
+ # COPT = -g
+
+ CWARNS = -Wall -Wextra -pedantic \
+@@ -22,7 +22,7 @@
+ # -Wunreachable-code \
+
+
+-CFLAGS = $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
++CFLAGS += $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
+ CC = gcc
+
+ FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o
+@@ -36,7 +36,7 @@
+ $(MAKE) lpeg.so "DLLFLAGS = -bundle -undefined dynamic_lookup"
+
+ lpeg.so: $(FILES)
+- env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.so
++ env $(CC) $(DLLFLAGS) $(LDFLAGS) $(FILES) -o lpeg.so
+
+ $(FILES): makefile
+
diff --git a/dev-lua/lpeg/lpeg-1.0.1.ebuild b/dev-lua/lpeg/lpeg-1.0.1.ebuild
new file mode 100644
index 000000000000..8b2a23d8b937
--- /dev/null
+++ b/dev-lua/lpeg/lpeg-1.0.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Parsing Expression Grammars for Lua"
+HOMEPAGE="http://www.inf.puc-rio.br/~roberto/lpeg/"
+SRC_URI="http://www.inf.puc-rio.br/~roberto/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="debug doc luajit"
+
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2= )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( "HISTORY" )
+HTML_DOCS=( "lpeg.html" "re.html" )
+PATCHES=( "${FILESDIR}"/${PN}-0.12.1-makefile.patch )
+
+src_prepare() {
+ default
+ use debug && append-cflags -DLPEG_DEBUG
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ LUADIR="$($(tc-getPKG_CONFIG) --variable includedir $(usex luajit 'luajit' 'lua'))"
+}
+
+src_test() {
+ $(usex luajit 'luajit' 'lua') test.lua || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD $(usex luajit 'luajit' 'lua'))"
+ exeinto "${instdir#${EPREFIX}}"
+ doexe lpeg.so
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"
+ insinto "${instdir#${EPREFIX}}"
+ doins re.lua
+
+ use doc && einstalldocs
+}
diff --git a/dev-lua/lpeg/lpeg-1.0.2.ebuild b/dev-lua/lpeg/lpeg-1.0.2.ebuild
new file mode 100644
index 000000000000..1bd23c851d9d
--- /dev/null
+++ b/dev-lua/lpeg/lpeg-1.0.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Parsing Expression Grammars for Lua"
+HOMEPAGE="http://www.inf.puc-rio.br/~roberto/lpeg/"
+SRC_URI="http://www.inf.puc-rio.br/~roberto/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug doc luajit"
+
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2= )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( HISTORY )
+HTML_DOCS=( lpeg.html re.html )
+PATCHES=( "${FILESDIR}"/${PN}-1.0.2-makefile.patch )
+
+src_prepare() {
+ default
+ use debug && append-cflags -DLPEG_DEBUG
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ LUADIR="$($(tc-getPKG_CONFIG) --variable includedir $(usex luajit 'luajit' 'lua'))"
+}
+
+src_test() {
+ $(usex luajit 'luajit' 'lua') test.lua || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD $(usex luajit 'luajit' 'lua'))"
+ exeinto "${instdir#${EPREFIX}}"
+ doexe lpeg.so
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"
+ insinto "${instdir#${EPREFIX}}"
+ doins re.lua
+
+ use doc && einstalldocs
+}
diff --git a/dev-lua/lpeg/metadata.xml b/dev-lua/lpeg/metadata.xml
new file mode 100644
index 000000000000..977956eb832f
--- /dev/null
+++ b/dev-lua/lpeg/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua-argparse/Manifest b/dev-lua/lua-argparse/Manifest
new file mode 100644
index 000000000000..2adc19a51a1b
--- /dev/null
+++ b/dev-lua/lua-argparse/Manifest
@@ -0,0 +1 @@
+DIST lua-argparse-0.6.0.tar.gz 36712 BLAKE2B 88882738453a894db68ef93557d870393eaec1fb2bf39b110bd2691678d26be64734d07c7f01f760d9c1d031e530707449ff2ca54a5cdd428cb8da3b1897a7e1 SHA512 7efdfab8ec563a9e7eddc7aff760fd4d3605df2896939af3f2c80e5ed4d4e5ba45a7815057e15446d242351a6fd139d6b8da802fe318d4a4bcd69918fece53d1
diff --git a/dev-lua/lua-argparse/lua-argparse-0.6.0-r1.ebuild b/dev-lua/lua-argparse/lua-argparse-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..daa669b32c0f
--- /dev/null
+++ b/dev-lua/lua-argparse/lua-argparse-0.6.0-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs
+
+DESCRIPTION="Command line argument parser for the Lua Programming Language"
+HOMEPAGE="https://github.com/mpeterv/argparse"
+SRC_URI="https://github.com/mpeterv/argparse/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="doc luajit test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:=
+ luajit? ( dev-lang/luajit:2 )"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+ test? (
+ ${RDEPEND}
+ dev-lua/busted
+ )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN//lua-/}-${PV}"
+
+src_compile() {
+ if use doc; then
+ sphinx-build docsrc html || die
+ rm -rf "${S}"/html/{.doctrees,_sources} || die
+ fi
+}
+
+src_test() {
+ busted -o gtest --exclude-tags="unsafe" || die
+}
+
+src_install() {
+ use doc && local -a HTML_DOCS=( html/. )
+ local -a DOCS=( README.md CHANGELOG.md )
+ einstalldocs
+
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"
+
+ insinto "${instdir#${EPREFIX}}"
+ doins src/argparse.lua
+}
diff --git a/dev-lua/lua-argparse/metadata.xml b/dev-lua/lua-argparse/metadata.xml
new file mode 100644
index 000000000000..a035414a7e5f
--- /dev/null
+++ b/dev-lua/lua-argparse/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <longdescription lang="en">
+ Argparse is a feature-rich command line parser for Lua inspired by argparse for Python.
+
+ Argparse supports positional arguments, options, flags, optional arguments, subcommands
+ and more. Argparse automatically generates usage, help and error messages.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">mpeterv/argparse</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua-cjson/Manifest b/dev-lua/lua-cjson/Manifest
new file mode 100644
index 000000000000..5543b65fbe32
--- /dev/null
+++ b/dev-lua/lua-cjson/Manifest
@@ -0,0 +1,2 @@
+DIST lua-cjson-2.1.0.6.tar.gz 76820 BLAKE2B 1056fefc8d9c802e068e1e7801cc1eb3a0279371ab72e4e8517e22ad68224dd4892f4e4cbfe0a407af71f1008affded41d7bcc05d89c4ddb0c437d93d67708a7 SHA512 71d25f4ec82641d56e33e13c0ecd8c60186b3c4faf3d30de81706d1305d4e61691a1e84210462942674e50ca2ff19e126cb04025d9645d5d26ef3b3b0e46f64b
+DIST lua-cjson-2.1.0.7.tar.gz 76949 BLAKE2B 9189890f24885191001e79cf0f48aaee74026572eda3e767b0e5e63d44634156fd2b972287cb23e243b3fd0f44f8e87a1fcb0c0b8e26197c63e5e0ff30cb3a94 SHA512 c66fbb608dcd1b7daef8c70ad9a60ab442bf8b851b8d8c5e3b11854ab476dff115e2eef31f171a40ce364778682ce351114caf36c995521ec589bd9dd94415c5
diff --git a/dev-lua/lua-cjson/files/sparse_array_test_fix.patch b/dev-lua/lua-cjson/files/sparse_array_test_fix.patch
new file mode 100644
index 000000000000..0c1d138cbadf
--- /dev/null
+++ b/dev-lua/lua-cjson/files/sparse_array_test_fix.patch
@@ -0,0 +1,47 @@
+From 75678e4b0d1b25fc15f0399f1496db6e0287b72f Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Tue, 12 Feb 2019 13:32:38 -0800
+Subject: [PATCH] Fix Encode sparse array as object test
+
+Port of this commit from upstream
+https://github.com/mpx/lua-cjson/commit/98eb1d01e952fc60a36f47846f905b86c92a4f58
+---
+ tests/test.lua | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test.lua b/tests/test.lua
+index d1bf7e4..be5e19c 100755
+--- a/tests/test.lua
++++ b/tests/test.lua
+@@ -10,6 +10,17 @@ local json = require "cjson"
+ local json_safe = require "cjson.safe"
+ local util = require "cjson.util"
+
++local function json_encode_output_type(value)
++ local text = json.encode(value)
++ if string.match(text, "{.*}") then
++ return "object"
++ elseif string.match(text, "%[.*%]") then
++ return "array"
++ else
++ return "scalar"
++ end
++end
++
+ local function gen_raw_octets()
+ local chars = {}
+ for i = 0, 255 do chars[i + 1] = string.char(i) end
+@@ -292,8 +303,8 @@ local cjson_tests = {
+ json.encode, { { [1] = "one", [4] = "sparse test" } },
+ true, { '["one",null,null,"sparse test"]' } },
+ { "Encode sparse array as object",
+- json.encode, { { [1] = "one", [5] = "sparse test" } },
+- true, { '{"5":"sparse test","1":"one"}' } },
++ json_encode_output_type, { { [1] = "one", [5] = "sparse test" } },
++ true, { 'object' } },
+ { "Encode table with numeric string key as object",
+ json.encode, { { ["2"] = "numeric string key test" } },
+ true, { '{"2":"numeric string key test"}' } },
+--
+2.20.1
+
diff --git a/dev-lua/lua-cjson/lua-cjson-2.1.0.6.ebuild b/dev-lua/lua-cjson/lua-cjson-2.1.0.6.ebuild
new file mode 100644
index 000000000000..7170add189d9
--- /dev/null
+++ b/dev-lua/lua-cjson/lua-cjson-2.1.0.6.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="A fast JSON encoding/parsing module for Lua"
+HOMEPAGE="https://www.kyne.com.au/~mark/software/lua-cjson.php https://github.com/openresty/lua-cjson"
+SRC_URI="https://github.com/openresty/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+internal-fpconv luajit test +threads"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="threads? ( internal-fpconv )"
+
+RDEPEND=">=dev-lang/lua-5.1:0"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-lang/perl )"
+
+DOCS=( NEWS README.md THANKS manual.txt performance.txt )
+
+PATCHES=(
+ "${FILESDIR}"/sparse_array_test_fix.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_INTERNAL_FPCONV="$(usex internal-fpconv)"
+ -DMULTIPLE_THREADS="$(usex threads)"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd tests || die
+ ln -s "${BUILD_DIR}"/cjson.so ./ || die
+ ln -s "${S}"/lua/cjson ./ || die
+ ./genutf8.pl || die
+ ./test.lua || die
+}
diff --git a/dev-lua/lua-cjson/lua-cjson-2.1.0.7.ebuild b/dev-lua/lua-cjson/lua-cjson-2.1.0.7.ebuild
new file mode 100644
index 000000000000..7170add189d9
--- /dev/null
+++ b/dev-lua/lua-cjson/lua-cjson-2.1.0.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="A fast JSON encoding/parsing module for Lua"
+HOMEPAGE="https://www.kyne.com.au/~mark/software/lua-cjson.php https://github.com/openresty/lua-cjson"
+SRC_URI="https://github.com/openresty/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+internal-fpconv luajit test +threads"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="threads? ( internal-fpconv )"
+
+RDEPEND=">=dev-lang/lua-5.1:0"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-lang/perl )"
+
+DOCS=( NEWS README.md THANKS manual.txt performance.txt )
+
+PATCHES=(
+ "${FILESDIR}"/sparse_array_test_fix.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_INTERNAL_FPCONV="$(usex internal-fpconv)"
+ -DMULTIPLE_THREADS="$(usex threads)"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ cd tests || die
+ ln -s "${BUILD_DIR}"/cjson.so ./ || die
+ ln -s "${S}"/lua/cjson ./ || die
+ ./genutf8.pl || die
+ ./test.lua || die
+}
diff --git a/dev-lua/lua-cjson/metadata.xml b/dev-lua/lua-cjson/metadata.xml
new file mode 100644
index 000000000000..f5bc750dd569
--- /dev/null
+++ b/dev-lua/lua-cjson/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <longdescription lang="en">
+ OpenResty fork of mpx/lua-cjson, includes a few bugfixes and improvements,
+ especially to facilitate the encoding of empty tables as JSON Arrays.
+ </longdescription>
+ <use>
+ <flag name="internal-fpconv">Enable internal number conversion routines, can increase overall performance by up to 50%</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">openresty/lua-cjson</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua-openssl/Manifest b/dev-lua/lua-openssl/Manifest
new file mode 100644
index 000000000000..e56a6444620f
--- /dev/null
+++ b/dev-lua/lua-openssl/Manifest
@@ -0,0 +1,3 @@
+DIST lua-openssl-0.7.8_p0.tar.gz 397072 BLAKE2B 048ae34c195f6f0ff252f33d14a7151b629d5b9ba828c331459e58f23f0ee62e66f00b8fdbe5665eb7f247d4bb97986e158ea89107189aba4199fcb878f2d724 SHA512 a23b5010633aec70639903fe4d0473101e42c2690456ff2d730c45ef4710134058bc6b3e364c79d3cf3dd4c323a89bd98f07a17d23f226b0bb7e0bb1f2be32c5
+DIST lua-openssl-aux-b56f6937096acea34ddf241ec7ea08ac52414d18.tar.gz 3684 BLAKE2B 78e92c6cc1c2a29b00a9179db71a9404aff40a0e844f2f092b7868bbf98b6f3fa9519c63a2c38304ce2928b007bd4c015c5afa66ca32b1646035ebb949b3c655 SHA512 ba1eaf7c6b58fde48f47146d6c773368484ea10a229d6a45f317bda8d8cc21829ceda68071685f1b071e150936362b934b90532344ebb266febcc0efa45904f4
+DIST lua-openssl-compat-a1735f6e6bd17588fcaf98720f0548c4caa23b34.tar.gz 51950 BLAKE2B 16dbf5eb444393f093a5f2cc0fa2a8b394a8b2d62ca36882d02202304a2906b4e2bb87814c1ca198e4b77a9bc27d85627da75244ce9c68c3fd1e06e9262fa970 SHA512 2a8e1d3bb6475225f311995f70417c0620c5efa7384400b2002166daa6fc1baedb32f492dc65cc5b92bf63e850c293a36c1f8aed6e7cf0985e582aa0e52141a8
diff --git a/dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch b/dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch
new file mode 100644
index 000000000000..19b0539c0820
--- /dev/null
+++ b/dev-lua/lua-openssl/files/0001-fix-libressl-compat.patch
@@ -0,0 +1,433 @@
+From 44d5360d0caed1f4f364691f789fe825fcd17a3e Mon Sep 17 00:00:00 2001
+From: crito <crito@fnordpipe.org>
+Date: Mon, 1 Oct 2018 20:10:05 +0200
+Subject: [PATCH] fix libressl compat
+
+add conditions to build with libressl and add missing functions.
+backported from upstream repo.
+---
+ src/compat.c | 11 ++++++++---
+ src/digest.c | 2 +-
+ src/ec.c | 2 +-
+ src/engine.c | 10 +++++-----
+ src/lhash.c | 7 ++++---
+ src/openssl.c | 12 ++++++++++--
+ src/ots.c | 5 +++++
+ src/pkcs7.c | 24 ++++++++++++------------
+ src/private.h | 7 ++++---
+ src/sm2.c | 2 +-
+ src/srp.c | 3 ++-
+ src/x509.c | 2 +-
+ 12 files changed, 54 insertions(+), 33 deletions(-)
+
+diff --git a/src/compat.c b/src/compat.c
+index cc4cc21..cc45845 100644
+--- a/src/compat.c
++++ b/src/compat.c
+@@ -5,7 +5,7 @@
+ #include "openssl.h"
+ #include "private.h"
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ int BIO_up_ref(BIO *b)
+ {
+ CRYPTO_add(&b->references, 1, CRYPTO_LOCK_BIO);
+@@ -16,6 +16,11 @@ int X509_up_ref(X509 *x)
+ CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509);
+ return 1;
+ }
++int X509_CRL_up_ref(X509_CRL *x)
++{
++ int refs = CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509_CRL);
++ return (refs > 1) ? 1 : 0;
++}
+ int X509_STORE_up_ref(X509_STORE *s)
+ {
+ CRYPTO_add(&s->references, 1, CRYPTO_LOCK_X509_STORE);
+@@ -464,7 +469,7 @@ const ASN1_BIT_STRING *TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO *a)
+ return a->failure_info;
+ }
+
+-#if OPENSSL_VERSION_NUMBER < 0x10002000L
++#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
+ int i2d_re_X509_tbs(X509 *x, unsigned char **pp)
+ {
+ x->cert_info->enc.modified = 1;
+@@ -527,4 +532,4 @@ unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx,
+ return ctx->imprint;
+ }
+
+-#endif /* < 1.1.0 */
+\ No newline at end of file
++#endif /* < 1.1.0 */
+diff --git a/src/digest.c b/src/digest.c
+index 02e8fe1..0dcf65b 100644
+--- a/src/digest.c
++++ b/src/digest.c
+@@ -468,7 +468,7 @@ restore md data
+ static LUA_FUNCTION(openssl_digest_ctx_data)
+ {
+ EVP_MD_CTX *ctx = CHECK_OBJECT(1, EVP_MD_CTX, "openssl.evp_digest_ctx");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (lua_isnone(L, 2))
+ {
+ lua_pushlstring(L, ctx->md_data, ctx->digest->ctx_size);
+diff --git a/src/ec.c b/src/ec.c
+index f0d2b6b..5db32db 100644
+--- a/src/ec.c
++++ b/src/ec.c
+@@ -611,7 +611,7 @@ static int openssl_ecdsa_set_method(lua_State *L)
+ {
+ EC_KEY *ec = CHECK_OBJECT(1, EC_KEY, "openssl.ec_key");
+ ENGINE *e = CHECK_OBJECT(2, ENGINE, "openssl.engine");
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ const ECDSA_METHOD *m = ENGINE_get_ECDSA(e);
+ if (m) {
+ int r = ECDSA_set_method(ec, m);
+diff --git a/src/engine.c b/src/engine.c
+index 1a26d8b..f12ca53 100644
+--- a/src/engine.c
++++ b/src/engine.c
+@@ -14,7 +14,7 @@ enum
+ {
+ TYPE_RSA,
+ TYPE_DSA,
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ TYPE_ECDH,
+ TYPE_ECDSA,
+ #else
+@@ -24,7 +24,7 @@ enum
+ TYPE_RAND,
+ TYPE_CIPHERS,
+ TYPE_DIGESTS,
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ TYPE_STORE,
+ #else
+ TYPE_PKEY_METHODS,
+@@ -150,7 +150,7 @@ static int openssl_engine_register(lua_State*L)
+ else
+ ENGINE_register_DSA(eng);
+ break;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ case TYPE_ECDH:
+ if (unregister)
+ ENGINE_unregister_ECDH(eng);
+@@ -183,7 +183,7 @@ static int openssl_engine_register(lua_State*L)
+ else
+ ENGINE_register_RAND(eng);
+ break;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ case TYPE_STORE:
+ if (unregister)
+ ENGINE_unregister_STORE(eng);
+@@ -392,7 +392,7 @@ static int openssl_engine_set_default(lua_State*L)
+ case TYPE_DSA:
+ ret = ENGINE_set_default_DSA(eng);
+ break;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ case TYPE_ECDH:
+ ret = ENGINE_set_default_ECDH(eng);
+ break;
+diff --git a/src/lhash.c b/src/lhash.c
+index 564bb52..8057efb 100644
+--- a/src/lhash.c
++++ b/src/lhash.c
+@@ -130,21 +130,22 @@ static void dump_value_doall_arg(CONF_VALUE *a, lua_State *L)
+ }
+ }
+
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ IMPLEMENT_LHASH_DOALL_ARG_CONST(CONF_VALUE, lua_State);
+ #elif OPENSSL_VERSION_NUMBER >= 0x10000002L
+ static IMPLEMENT_LHASH_DOALL_ARG_FN(dump_value, CONF_VALUE, lua_State)
+ #endif
++#if !defined(LIBRESSL_VERSION_NUMBER)
+ #define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \
+ lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg))
+-
++#endif
+
+ static LUA_FUNCTION(openssl_lhash_parse)
+ {
+ LHASH* lhash = CHECK_OBJECT(1, LHASH, "openssl.lhash");
+
+ lua_newtable(L);
+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ lh_CONF_VALUE_doall_lua_State(lhash, dump_value_doall_arg, L);
+ #elif OPENSSL_VERSION_NUMBER >= 0x10000002L
+ lh_CONF_VALUE_doall_arg(lhash, LHASH_DOALL_ARG_FN(dump_value), lua_State, L);
+diff --git a/src/openssl.c b/src/openssl.c
+index 994c22b..debea63 100644
+--- a/src/openssl.c
++++ b/src/openssl.c
+@@ -338,6 +338,9 @@ get FIPS mode
+ */
+ static int openssl_fips_mode(lua_State *L)
+ {
++#if defined(LIBRESSL_VERSION_NUMBER)
++ return 0;
++#else
+ int ret =0, on = 0;
+ if(lua_isnone(L, 1))
+ {
+@@ -353,6 +356,7 @@ static int openssl_fips_mode(lua_State *L)
+ else
+ ret = openssl_pushresult(L, ret);
+ return ret;
++#endif
+ }
+
+ #ifndef OPENSSL_NO_CRYPTO_MDEBUG
+@@ -405,7 +409,9 @@ void CRYPTO_thread_cleanup(void);
+
+ static int luaclose_openssl(lua_State *L)
+ {
++#if !defined(LIBRESSL_VERSION_NUMBER)
+ FIPS_mode_set(0);
++#endif
+ #if defined(OPENSSL_THREADS)
+ CRYPTO_thread_cleanup();
+ #endif
+@@ -421,7 +427,7 @@ static int luaclose_openssl(lua_State *L)
+ CRYPTO_cleanup_all_ex_data();
+ #ifndef OPENSSL_NO_CRYPTO_MDEBUG
+ #if !(defined(OPENSSL_NO_STDIO) || defined(OPENSSL_NO_FP_API))
+-#if OPENSSL_VERSION_NUMBER < 0x10101000L
++#if OPENSSL_VERSION_NUMBER < 0x10101000L || defined(LIBRESSL_VERSION_NUMBER)
+ CRYPTO_mem_leaks_fp(stderr);
+ #else
+ if(CRYPTO_mem_leaks_fp(stderr)!=1)
+@@ -541,13 +547,15 @@ LUALIB_API int luaopen_openssl(lua_State*L)
+ luaopen_dh(L);
+ lua_setfield(L, -2, "dh");
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2)
++#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2) && !defined(LIBRESSL_VERSION_NUMBER)
+ luaopen_sm2(L);
+ lua_setfield(L, -2, "sm2");
+ #endif
+
++#if !defined(LIBRESSL_VERSION_NUMBER)
+ luaopen_srp(L);
+ lua_setfield(L, -2, "srp");
++#endif
+
+ #ifdef ENABLE_OPENSSL_GLOBAL
+ lua_pushvalue(L, -1);
+diff --git a/src/ots.c b/src/ots.c
+index 6b75946..762d17e 100644
+--- a/src/ots.c
++++ b/src/ots.c
+@@ -1265,7 +1265,12 @@ static LUA_FUNCTION(openssl_ts_resp_ctx_set_time_cb)
+ arg->cb_arg = luaL_ref(L, LUA_REGISTRYINDEX);
+
+ openssl_valueset(L, ctx, time_cb_key);
++#if defined(LIBRESSL_VERSION_NUMBER)
++ ctx->time_cb = openssl_time_cb;
++ ctx->time_cb_data = L;
++#else
+ TS_RESP_CTX_set_time_cb(ctx, openssl_time_cb, L);
++#endif
+ return 0;
+ }
+
+diff --git a/src/pkcs7.c b/src/pkcs7.c
+index f043c86..f0e5221 100644
+--- a/src/pkcs7.c
++++ b/src/pkcs7.c
+@@ -346,7 +346,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
+ os = p7->d.signed_and_enveloped->enc_data->enc_data;
+ if (!os)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ os = M_ASN1_OCTET_STRING_new();
+ #else
+ os = ASN1_OCTET_STRING_new();
+@@ -364,7 +364,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
+ os = p7->d.enveloped->enc_data->enc_data;
+ if (!os)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ os = M_ASN1_OCTET_STRING_new();
+ #else
+ os = ASN1_OCTET_STRING_new();
+@@ -383,7 +383,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
+ /* If detached data then the content is excluded */
+ if (PKCS7_type_is_data(p7->d.sign->contents) && p7->detached)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ M_ASN1_OCTET_STRING_free(os);
+ #else
+ ASN1_OCTET_STRING_free(os);
+@@ -398,7 +398,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
+ /* If detached data then the content is excluded */
+ if (PKCS7_type_is_data(p7->d.digest->contents) && p7->detached)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ M_ASN1_OCTET_STRING_free(os);
+ #else
+ ASN1_OCTET_STRING_free(os);
+@@ -474,7 +474,7 @@ static int openssl_pkcs7_dataFinal(PKCS7 *p7, BIO *bio)
+ goto err;
+ if (!EVP_DigestFinal_ex(mdc, md_data, &md_len))
+ goto err;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ M_ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
+ #else
+ ASN1_OCTET_STRING_set(p7->d.digest->digest, md_data, md_len);
+@@ -577,7 +577,7 @@ int PKCS7_signatureVerify_digest(PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509,
+
+ md_type = OBJ_obj2nid(si->digest_alg->algorithm);
+ md = EVP_get_digestbynid(md_type);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (!md || !data || (hash && len != (size_t) md->ctx_size) )
+ goto err;
+
+@@ -1137,7 +1137,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
+ os = p7->d.signed_and_enveloped->enc_data->enc_data;
+ if (!os)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ os = M_ASN1_OCTET_STRING_new();
+ #else
+ os = ASN1_OCTET_STRING_new();
+@@ -1155,7 +1155,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
+ os = p7->d.enveloped->enc_data->enc_data;
+ if (!os)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ os = M_ASN1_OCTET_STRING_new();
+ #else
+ os = ASN1_OCTET_STRING_new();
+@@ -1174,7 +1174,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
+ /* If detached data then the content is excluded */
+ if (PKCS7_type_is_data(p7->d.sign->contents) && p7->detached)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ M_ASN1_OCTET_STRING_free(os);
+ #else
+ ASN1_OCTET_STRING_free(os);
+@@ -1189,7 +1189,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
+ /* If detached data then the content is excluded */
+ if (PKCS7_type_is_data(p7->d.digest->contents) && p7->detached)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ M_ASN1_OCTET_STRING_free(os);
+ #else
+ ASN1_OCTET_STRING_free(os);
+@@ -1217,7 +1217,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
+
+ if (hash)
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (l == (size_t) mdc->digest->ctx_size)
+ {
+ memcpy(mdc->md_data, data, l);
+@@ -1272,7 +1272,7 @@ static LUA_FUNCTION(openssl_pkcs7_sign_digest)
+ unsigned int md_len;
+ md = EVP_get_digestbynid(OBJ_obj2nid(p7->d.digest->md->algorithm));
+ EVP_DigestInit_ex(mdc, md, NULL);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (l == (size_t) mdc->digest->ctx_size)
+ {
+ memcpy(mdc->md_data, data, l);
+diff --git a/src/private.h b/src/private.h
+index 8e9d5b8..7140cae 100644
+--- a/src/private.h
++++ b/src/private.h
+@@ -46,9 +46,10 @@ extern "C" {
+ luaL_getmetatable(L,"openssl.bn"); \
+ lua_setmetatable(L,-2)
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ int BIO_up_ref(BIO *b);
+ int X509_up_ref(X509 *x);
++int X509_CRL_up_ref(X509_CRL *x);
+ int X509_STORE_up_ref(X509_STORE *s);
+ int EVP_PKEY_up_ref(EVP_PKEY *pkey);
+
+@@ -124,12 +125,12 @@ STACK_OF(X509) *TS_VERIFY_CTS_set_certs(TS_VERIFY_CTX *ctx,
+ unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx,
+ unsigned char *hexstr, long len);
+
+-#if OPENSSL_VERSION_NUMBER < 0x10002000L
++#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER)
+ int i2d_re_X509_tbs(X509 *x, unsigned char **pp);
++#endif
+ void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
+ const X509 *x);
+ int X509_get_signature_nid(const X509 *x);
+-#endif
+
+ #endif
+
+diff --git a/src/sm2.c b/src/sm2.c
+index 0655888..1db3198 100644
+--- a/src/sm2.c
++++ b/src/sm2.c
+@@ -1,7 +1,7 @@
+ #include "openssl.h"
+ #include "private.h"
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2)
++#if (OPENSSL_VERSION_NUMBER >= 0x10101007L) && !defined(OPENSSL_NO_SM2) && !defined(LIBRESSL_VERSION_NUMBER)
+
+ # include <openssl/sm2.h>
+
+diff --git a/src/srp.c b/src/srp.c
+index 85626b5..6fb0a50 100644
+--- a/src/srp.c
++++ b/src/srp.c
+@@ -1,6 +1,7 @@
+ #include "openssl.h"
+ #include "private.h"
+
++#if !defined(LIBRESSL_VERSION_NUMBER)
+ #include <openssl/srp.h>
+ #include <openssl/bn.h>
+
+@@ -198,4 +199,4 @@ int luaopen_srp(lua_State *L)
+ lua_settable(L, -3);
+ return 1;
+ }
+-
++#endif
+diff --git a/src/x509.c b/src/x509.c
+index 94e9982..07adb54 100644
+--- a/src/x509.c
++++ b/src/x509.c
+@@ -1196,7 +1196,7 @@ static int openssl_x509_extensions(lua_State* L)
+ else
+ {
+ STACK_OF(X509_EXTENSION) *others = (STACK_OF(X509_EXTENSION) *)openssl_sk_x509_extension_fromtable(L, 2);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ sk_X509_EXTENSION_pop_free(self->cert_info->extensions, X509_EXTENSION_free);
+ self->cert_info->extensions = others;
+ #else
+--
+2.16.4
+
diff --git a/dev-lua/lua-openssl/lua-openssl-0.7.8_p0.ebuild b/dev-lua/lua-openssl/lua-openssl-0.7.8_p0.ebuild
new file mode 100644
index 000000000000..ec062ec6de51
--- /dev/null
+++ b/dev-lua/lua-openssl/lua-openssl-0.7.8_p0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_PV="${PV//_p/-}"
+
+DESCRIPTION="OpenSSL binding for Lua"
+HOMEPAGE="https://github.com/zhaozg/lua-openssl"
+LUA_AUX_COMMIT="b56f6937096acea34ddf241ec7ea08ac52414d18"
+LUA_COMPAT_COMMIT="a1735f6e6bd17588fcaf98720f0548c4caa23b34"
+SRC_URI="https://github.com/zhaozg/lua-openssl/archive/${MY_PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/zhaozg/lua-auxiliar/archive/${LUA_AUX_COMMIT}.tar.gz -> ${PN}-aux-${LUA_AUX_COMMIT}.tar.gz
+ https://github.com/keplerproject/lua-compat-5.3/archive/${LUA_COMPAT_COMMIT}.tar.gz -> ${PN}-compat-${LUA_COMPAT_COMMIT}.tar.gz"
+
+LICENSE="MIT openssl PHP-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl luajit test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( >=dev-lang/lua-5.1:0 )
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0=[-bindist] )
+ !dev-lua/luaossl
+ !dev-lua/luacrypto
+"
+BDEPEND="virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ rmdir deps/auxiliar deps/lua-compat || die
+ mv "${WORKDIR}/lua-auxiliar-${LUA_AUX_COMMIT}" deps/auxiliar || die
+ mv "${WORKDIR}/lua-compat-5.3-${LUA_COMPAT_COMMIT}" deps/lua-compat || die
+
+ # fixes: deps/auxiliar/auxiliar.c:11:10: fatal error: c-api/compat-5.3.h: No such file or directory
+ ln -sv lua-compat/c-api deps/c-api
+
+ default
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+ LUA_VERSION="$(${PKG_CONFIG} --variable=$(usex luajit abiver V) $(usex luajit luajit lua))"
+ LUA_CFLAGS="$(${PKG_CONFIG} $(usex luajit luajit lua) --cflags) ${CFLAGS}"
+ LUA_LIBS="$(${PKG_CONFIG} $(usex luajit luajit lua) --libs) ${LDFLAGS}"
+ INSTALL_CMOD="$(${PKG_CONFIG} $(usex luajit luajit lua) --variable=INSTALL_CMOD)"
+ INSTALL_LMOD="$(${PKG_CONFIG} $(usex luajit luajit lua) --variable=INSTALL_LMOD)"
+
+ export LUA_VERSION LUA_CFLAGS LUA_LIBS
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_test() {
+ TZ=UTC emake CC="$(tc-getCC)" test
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" LUA_LIBDIR="${ED}/${INSTALL_CMOD}" install
+
+ # install lua code as well
+ insinto "${INSTALL_LMOD}"
+ doins -r lib/*
+
+ einstalldocs
+}
diff --git a/dev-lua/lua-openssl/metadata.xml b/dev-lua/lua-openssl/metadata.xml
new file mode 100644
index 000000000000..4353dd8255e7
--- /dev/null
+++ b/dev-lua/lua-openssl/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zhaozg/lua-openssl</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua-term/Manifest b/dev-lua/lua-term/Manifest
new file mode 100644
index 000000000000..cbd77ab2f28c
--- /dev/null
+++ b/dev-lua/lua-term/Manifest
@@ -0,0 +1,2 @@
+DIST lua-term-0.3.tar.gz 3752 BLAKE2B 6d42129b60278a4bf756195bae28529a9a22688945ecf6c5648ea490645de363799e4fe5a188069e3739557c3b45ee83e28e315cdd69e987f022f28e3a673cb2 SHA512 e91585994c0337d4dbdc36f51cec9f66fe7319212e82c56752ed724bbbe273e4dc67977bd13e7963545bb075f23f69a448dfc4cc4d6c3c49e96af99cd3eb59e7
+DIST lua-term-0.7.tar.gz 4365 BLAKE2B 8f4080d4cd3b620cb1f261d417744f112d42b776ab3f4cdb0e52d04b6d64fc4a1ddbd634570496c3bc12e6b10efe5af8025d1f124198ebb3946414679a65f7f4 SHA512 2046ba1861ff590c191bb651941c45eb8b6e9a1252b05e78daaeb31837ce1fc7da9ba124aec34dc7842fd304e945754c463ffd75941125ff952e911ba66efa31
diff --git a/dev-lua/lua-term/lua-term-0.3.ebuild b/dev-lua/lua-term/lua-term-0.3.ebuild
new file mode 100644
index 000000000000..2ec69903c2c6
--- /dev/null
+++ b/dev-lua/lua-term/lua-term-0.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+# Yes, upstream used different version numbers.
+# The rockspec version number is 0.3, but the version associated with
+# the tarball is 0.03.
+MY_PV=0.03
+
+DESCRIPTION="Terminal functions for Lua"
+HOMEPAGE="https://github.com/hoelzro/lua-term"
+SRC_URI="https://github.com/hoelzro/lua-term/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_compile() {
+ echo "$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIC -shared \
+ -o core.so core.c"
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIC -shared \
+ -o core.so core.c || die
+}
+
+src_install() {
+ exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)"/term
+ doexe core.so
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+doins -r term
+}
diff --git a/dev-lua/lua-term/lua-term-0.7.ebuild b/dev-lua/lua-term/lua-term-0.7.ebuild
new file mode 100644
index 000000000000..e9c4c9e672c7
--- /dev/null
+++ b/dev-lua/lua-term/lua-term-0.7.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+# Yes, upstream used different version numbers.
+# The rockspec version number is 0.7, but the version associated with
+# the tarball is 0.07.
+MY_PV=0.07
+
+DESCRIPTION="Terminal functions for Lua"
+HOMEPAGE="https://github.com/hoelzro/lua-term"
+SRC_URI="https://github.com/hoelzro/lua-term/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE=""
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_compile() {
+ echo "$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIC -shared \
+ -o core.so core.c"
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIC -shared \
+ -o core.so core.c || die
+}
+
+src_install() {
+ exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)"/term
+ doexe core.so
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r term
+}
diff --git a/dev-lua/lua-term/metadata.xml b/dev-lua/lua-term/metadata.xml
new file mode 100644
index 000000000000..5ffafc6620aa
--- /dev/null
+++ b/dev-lua/lua-term/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hoelzro/lua-term</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua-utf8/Manifest b/dev-lua/lua-utf8/Manifest
new file mode 100644
index 000000000000..b2369602833e
--- /dev/null
+++ b/dev-lua/lua-utf8/Manifest
@@ -0,0 +1 @@
+DIST lua-utf8-0.1.1.tar.gz 35475 BLAKE2B 99ffece901878fc966e0314886ca20255834c76b9266b1806acda7afb84d6a358c556b9a88c10497d2874d7902fac5905907ab25fefb4ba38544d46e3bae1471 SHA512 e0a8632b9391c7e7b35e371f4e95899ec58adb4988f1fe5a7101310f7c774c3a3e88073f156cf7799c57f69c0fc53aff4486beb1e7006bfaa96d86e248e38897
diff --git a/dev-lua/lua-utf8/files/lua-utf8.Makefile b/dev-lua/lua-utf8/files/lua-utf8.Makefile
new file mode 100644
index 000000000000..456c52f4aaa0
--- /dev/null
+++ b/dev-lua/lua-utf8/files/lua-utf8.Makefile
@@ -0,0 +1,42 @@
+# this file builds lua-utf8
+
+MY_USE_LUA?=luajit
+PKG_CONFIG?=pkg-config
+PREFIX?=/usr/local
+DESTDIR?=/
+
+LUA_LIBDIR := $(shell $(PKG_CONFIG) --variable INSTALL_CMOD $(MY_USE_LUA))
+LUA_INC := $(shell $(PKG_CONFIG) --variable INSTALL_INC $(MY_USE_LUA))
+LUA_SHARE := $(shell $(PKG_CONFIG) --variable INSTALL_LMOD $(MY_USE_LUA))
+CWARNS := -Wall -pedantic
+CFLAGS += -I$(LUA_INC) -fPIC $(CWARNS)
+LIB_OPTION := -shared
+LDFLAGS += $(LIB_OPTION)
+
+SONAME := lua-utf8.so
+SONAMEV := $(SONAME).0
+LIBRARY := $(SONAMEV).1.1
+SRC := lutf8lib.c
+OBJ := $(patsubst %.c, %.o, $(SRC))
+
+FILES := parseucd.lua
+
+all: $(LIBRARY) $(SONAMEV) $(SONAME)
+
+$(SONAMEV):
+ ln -s $(LIBRARY) $@
+
+$(SONAME):
+ ln -s $(SONAMEV) $@
+
+$(LIBRARY): $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(LIBRARY) $(OBJ) -lc
+
+install:
+ install -d $(DESTDIR)$(LUA_LIBDIR)
+ install $(SONAME) $(DESTDIR)$(LUA_LIBDIR)
+ install -d $(DESTDIR)$(LUA_SHARE)
+ install --mode=0444 $(FILES) $(DESTDIR)$(LUA_SHARE)
+
+clean:
+ rm -rf $(LIBRARY) $(SONAMEV) $(SONAME) *.o
diff --git a/dev-lua/lua-utf8/lua-utf8-0.1.1.ebuild b/dev-lua/lua-utf8/lua-utf8-0.1.1.ebuild
new file mode 100644
index 000000000000..0b6609140168
--- /dev/null
+++ b/dev-lua/lua-utf8/lua-utf8-0.1.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs
+
+DESCRIPTION="UTF-8 support for Lua"
+HOMEPAGE="https://github.com/starwing/luautf8"
+SRC_URI="https://github.com/starwing/luautf8/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="luajit test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN//-/}-${PV}"
+
+src_prepare() {
+ default
+
+ cp -v "${FILESDIR}/${PN}".Makefile "${S}"/Makefile || die
+}
+
+src_compile() {
+ tc-export CC
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}" MY_USE_LUA="$(usex luajit 'luajit' 'lua')" PKG_CONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}" MY_USE_LUA="$(usex luajit 'luajit' 'lua')" PKG_CONFIG="$(tc-getPKG_CONFIG)" install
+ einstalldocs
+}
+
+src_test() {
+ LUA_CPATH=./?.so $(usex luajit 'luajit' 'lua') test.lua || die
+}
diff --git a/dev-lua/lua-utf8/metadata.xml b/dev-lua/lua-utf8/metadata.xml
new file mode 100644
index 000000000000..181b34a3fdd4
--- /dev/null
+++ b/dev-lua/lua-utf8/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <longdescription lang="en">
+ This module adds UTF-8 support to Lua.
+
+ It use data extracted from Unicode Character Database, and tested on Lua 5.2.3, Lua 5.3.0 and LuaJIT.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">starwing/luautf8</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua-zlib/Manifest b/dev-lua/lua-zlib/Manifest
new file mode 100644
index 000000000000..bac884dea046
--- /dev/null
+++ b/dev-lua/lua-zlib/Manifest
@@ -0,0 +1 @@
+DIST lua-zlib-1.1.tar.gz 16572 BLAKE2B 22f504230616ea0df505c4aa00fc562c2cdfebd9f8e40b6000fdda883dbdefbeb10d22a2466386f1bfb314672aa17524420d047498346e5c980ebc6f5e175b41 SHA512 df9768efb96be8175b6afe1fd347b268565ecd93a71dd0f1f7ec1b710fd52bbd7a7c37a89f7c3d939906c7ac1578e9bdb542a0052673b6ac6eec7285d7f75633
diff --git a/dev-lua/lua-zlib/lua-zlib-1.1.ebuild b/dev-lua/lua-zlib/lua-zlib-1.1.ebuild
new file mode 100644
index 000000000000..b51a835e97de
--- /dev/null
+++ b/dev-lua/lua-zlib/lua-zlib-1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="Lua bindings to zlib"
+HOMEPAGE="https://github.com/brimworks/lua-zlib"
+SRC_URI="https://github.com/brimworks/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+RDEPEND="dev-lang/lua:0
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(-DINSTALL_CMOD="$(pkg-config --variable INSTALL_CMOD lua)")
+ cmake-utils_src_configure
+}
diff --git a/dev-lua/lua-zlib/metadata.xml b/dev-lua/lua-zlib/metadata.xml
new file mode 100644
index 000000000000..9b09b4a0e987
--- /dev/null
+++ b/dev-lua/lua-zlib/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">brimworks/lua-zlib</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lua_cliargs/Manifest b/dev-lua/lua_cliargs/Manifest
new file mode 100644
index 000000000000..59c7b81278c1
--- /dev/null
+++ b/dev-lua/lua_cliargs/Manifest
@@ -0,0 +1,3 @@
+DIST lua_cliargs-2.5_p5.tar.gz 19513 BLAKE2B 25cdfd9e96fd0cf5d600394c47ec53dd80e619dac8a37a40e22366e1090ffc9f9f250d71683140959fbd33b3983a759c931c3ac70a3f14e9556005fe5f82f72c SHA512 7c4d490f5d86b07bdf299c976b99bf83c9ba86fabeb321f348587f8ad207983292e3e9268ef72f3cc6ff9d6e32a43669de1d3c21c47499852f971c2cc2a4e746
+DIST lua_cliargs-3.0_p1.tar.gz 29904 BLAKE2B 4cb3e33c0d1331cb9c6cef9b8db67c12cfd3678277e11b6218d56ae38e4678dd48472d65dd959b59bb44d5c42c1e64697fe4e54b67e80933ab706d9d2b01c79f SHA512 2bdcd3c790a82351df598cb3d289de980fe771222ebd9715036678eecdbe51b7563d24629afa4d286b900d722bf844004d12f2330744a1e644d9286ac44b4dbe
+DIST lua_cliargs-3.0_p2.tar.gz 30435 BLAKE2B 8edf60870e0d91593064876a225ef7fbe638425da13b458d6356eaa0636482ca904f9355fd15314d4893e6f5346a6faa30fb6078d191a29aa14e26aa5d74a4be SHA512 e7a475f1d41249b0a35f021a6ccca46078f5b689c1927a4dd4cab80b2e4d291babaab35cf7d64fad3ebf68d871fb5177f030c7a2b28d9f55fbeb4dd26021d024
diff --git a/dev-lua/lua_cliargs/lua_cliargs-2.5_p5.ebuild b/dev-lua/lua_cliargs/lua_cliargs-2.5_p5.ebuild
new file mode 100644
index 000000000000..703880029899
--- /dev/null
+++ b/dev-lua/lua_cliargs/lua_cliargs-2.5_p5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+# Below is the upstream package version.
+# The final component of the version number has been mapped to the _px
+# component of the version number in portage so should be kept in sync.
+MY_PV="2.5-5"
+
+DESCRIPTION="A command-line argument parser."
+HOMEPAGE="https://github.com/amireh/lua_cliargs"
+SRC_URI="https://github.com/amireh/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins src/cliargs.lua
+ dodoc README.md
+dodoc -r examples
+ docinto html
+ dodoc -r doc/*
+}
diff --git a/dev-lua/lua_cliargs/lua_cliargs-3.0_p1.ebuild b/dev-lua/lua_cliargs/lua_cliargs-3.0_p1.ebuild
new file mode 100644
index 000000000000..dd6a99c24ac3
--- /dev/null
+++ b/dev-lua/lua_cliargs/lua_cliargs-3.0_p1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+# Below is the upstream package version.
+# The final component of the version number has been mapped to the _px
+# component of the version number in portage so should be kept in sync.
+MY_PV="3.0-1"
+
+DESCRIPTION="A command-line argument parser."
+HOMEPAGE="https://github.com/amireh/lua_cliargs"
+SRC_URI="https://github.com/amireh/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r src/cliargs.lua src/cliargs
+ dodoc README.md
+ dodoc -r examples
+ docinto html
+ dodoc -r doc/*
+}
diff --git a/dev-lua/lua_cliargs/lua_cliargs-3.0_p2.ebuild b/dev-lua/lua_cliargs/lua_cliargs-3.0_p2.ebuild
new file mode 100644
index 000000000000..b124dace5b77
--- /dev/null
+++ b/dev-lua/lua_cliargs/lua_cliargs-3.0_p2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+# Below is the upstream package version.
+# The final component of the version number has been mapped to the _px
+# component of the version number in portage so should be kept in sync.
+MY_PV="3.0-2"
+
+DESCRIPTION="A command-line argument parser."
+HOMEPAGE="https://github.com/amireh/lua_cliargs"
+SRC_URI="https://github.com/amireh/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="doc"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND=">=dev-lang/lua-5.1:="
+RDEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r src/cliargs.lua src/cliargs
+
+ if use doc; then
+ local HTML_DOCS=( doc/. )
+ dodoc -r examples
+ fi
+
+ einstalldocs
+}
diff --git a/dev-lua/lua_cliargs/metadata.xml b/dev-lua/lua_cliargs/metadata.xml
new file mode 100644
index 000000000000..6f4ebc9b59a3
--- /dev/null
+++ b/dev-lua/lua_cliargs/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ This module adds support for accepting CLI
+ arguments easily using multiple notations and argument types.
+
+ cliargs allows you to define required, optional, and flag arguments.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">amireh/lua_cliargs</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luacheck/Manifest b/dev-lua/luacheck/Manifest
new file mode 100644
index 000000000000..f22c82aeba84
--- /dev/null
+++ b/dev-lua/luacheck/Manifest
@@ -0,0 +1,2 @@
+DIST luacheck-0.20.0.tar.gz 132693 BLAKE2B d485ef841c00241023a9cb9bd0e1f994da3b5e79dad01281e0203e1561f788f8d1e8db97910d3a82ab3daafb3dceef1fe2897beee9f16e71350fdff27eba7fe0 SHA512 08b1a64849b329e6ad71b1d7011fac0833de068641270adaa009e9a17139968ab73add3786a508a8787ce1fcfe1f028a35b5434221e4f1f62bea56833e0e65dd
+DIST luacheck-0.23.0.tar.gz 158201 BLAKE2B c0780143a335b1deb7725819dbdac03446742fd459eed5a6de0cf3de5576f3be5379ff7086348b8880eba70dd5f7a1e719e9a09fdcc70abc293e1636f575ad57 SHA512 d76e4b22f1e9d868a8531ad51fb98607e5bfb1fbbd55053105d9978ba6c0455de99202c53d4e199733ea997863b26527fb84e7e9717209fd588f1d02db9db028
diff --git a/dev-lua/luacheck/luacheck-0.20.0.ebuild b/dev-lua/luacheck/luacheck-0.20.0.ebuild
new file mode 100644
index 000000000000..070046152a0c
--- /dev/null
+++ b/dev-lua/luacheck/luacheck-0.20.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit toolchain-funcs
+
+DESCRIPTION="A tool for linting and static analysis of Lua code"
+HOMEPAGE="https://github.com/mpeterv/luacheck"
+SRC_URI="https://github.com/mpeterv/luacheck/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="doc luajit test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lua/luafilesystem[luajit=]
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+ test? ( dev-lua/busted )"
+
+DOCS=( CHANGELOG.md README.md )
+
+src_compile() {
+ if use doc; then
+ sphinx-build docsrc html || die
+ fi
+}
+
+src_test() {
+ busted -o gtest || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"
+ insinto "${instdir#${EPREFIX}}"
+ doins -r src/luacheck
+
+ newbin bin/luacheck.lua luacheck
+
+ use doc && HTML_DOCS+=( html/. )
+
+ einstalldocs
+}
diff --git a/dev-lua/luacheck/luacheck-0.23.0.ebuild b/dev-lua/luacheck/luacheck-0.23.0.ebuild
new file mode 100644
index 000000000000..a81865ebd13b
--- /dev/null
+++ b/dev-lua/luacheck/luacheck-0.23.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs
+
+DESCRIPTION="A tool for linting and static analysis of Lua code"
+HOMEPAGE="https://github.com/mpeterv/luacheck"
+SRC_URI="https://github.com/mpeterv/luacheck/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="doc luajit test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lua/lua-argparse[luajit=]
+ dev-lua/luafilesystem[luajit(-)=]
+ dev-lua/lua-utf8[luajit=]
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( dev-python/sphinx )
+ test? (
+ ${RDEPEND}
+ dev-lua/busted
+ )"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ if use doc; then
+ sphinx-build docsrc html || die
+ fi
+}
+
+src_test() {
+ busted -o gtest || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"
+ insinto "${instdir#${EPREFIX}}"
+ doins -r src/luacheck
+
+ newbin bin/luacheck.lua luacheck
+
+ use doc && local HTML_DOCS=( html/. )
+
+ local -a DOCS=( CHANGELOG.md LICENSE README.md )
+ einstalldocs
+}
diff --git a/dev-lua/luacheck/metadata.xml b/dev-lua/luacheck/metadata.xml
new file mode 100644
index 000000000000..3c492bf4b114
--- /dev/null
+++ b/dev-lua/luacheck/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <longdescription lang="en">
+ A tool for linting and static analysis of Lua code.
+
+ Luacheck supports checking Lua files using syntax of Lua 5.1, Lua 5.2, Lua 5.3 and LuaJIT. Luacheck itself is written in Lua and runs on all of mentioned Lua versions.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">mpeterv/luacheck</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luacov/Manifest b/dev-lua/luacov/Manifest
new file mode 100644
index 000000000000..e8f8a4c749f6
--- /dev/null
+++ b/dev-lua/luacov/Manifest
@@ -0,0 +1 @@
+DIST luacov-0.8.tar.gz 33613 BLAKE2B 942c47de25dbd53de445e1ed1fa924f1be278da4c3b134e4a603f4a5ab5090f87d762c48163cf82ed9bab585e35b0528c330b3dc849e0043ccc96532107c8a94 SHA512 03d6ee519a570ff0430bcc32f547b9beb01691bd8c7ad8655e78d732223c6c25e4a63d816fd99640568251b836d5e3cc736bd5d780f5ecd3986d855ed5edfa11
diff --git a/dev-lua/luacov/files/luacov-0.8-fix-makefile.patch b/dev-lua/luacov/files/luacov-0.8-fix-makefile.patch
new file mode 100644
index 000000000000..7a4ea6ba9ea7
--- /dev/null
+++ b/dev-lua/luacov/files/luacov-0.8-fix-makefile.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile b/Makefile
+index 477f9de..adad2cc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -6,13 +6,13 @@ BINDIR=$(PREFIX)/bin
+ LUADIR=$(PREFIX)/share/lua/5.1/
+
+ install:
+- mkdir -p $(BINDIR)
+- cp src/bin/luacov $(BINDIR)
+- chmod +x $(BINDIR)/luacov
+- mkdir -p $(LUADIR)
+- cp src/luacov.lua $(LUADIR)
+- mkdir -p $(LUADIR)/luacov
+- cp src/luacov/*.lua $(LUADIR)/luacov
++ mkdir -p $(DESTDIR)$(BINDIR)
++ cp src/bin/luacov $(DESTDIR)$(BINDIR)
++ chmod +x $(DESTDIR)$(BINDIR)/luacov
++ mkdir -p $(DESTDIR)$(LUADIR)
++ cp src/luacov.lua $(DESTDIR)$(LUADIR)
++ mkdir -p $(DESTDIR)$(LUADIR)/luacov
++ cp src/luacov/*.lua $(DESTDIR)$(LUADIR)/luacov
+
+ dist:
+ rm -rf $(PACKAGE)-$(VERSION)
diff --git a/dev-lua/luacov/luacov-0.8.ebuild b/dev-lua/luacov/luacov-0.8.ebuild
new file mode 100644
index 000000000000..280c33a87c1f
--- /dev/null
+++ b/dev-lua/luacov/luacov-0.8.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="LuaCov is a simple coverage analyzer for Lua scripts"
+HOMEPAGE="https://github.com/keplerproject/luacov"
+SRC_URI="https://github.com/keplerproject/luacov/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PF}-fix-makefile.patch
+}
+
+src_compile() {
+ return 0
+}
+
+src_install() {
+ emake DESTDIR="${ED}" \
+ PREFIX=/usr \
+ LUADIR="$(pkg-config --variable INSTALL_LMOD lua)" install
+dohtml -r doc/*
+ dodoc -r examples
+}
diff --git a/dev-lua/luacov/metadata.xml b/dev-lua/luacov/metadata.xml
new file mode 100644
index 000000000000..cf45e46e7cab
--- /dev/null
+++ b/dev-lua/luacov/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ LuaCov is a coverage analyzer for Lua scripts.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">keplerproject/luacov</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luacrypto/Manifest b/dev-lua/luacrypto/Manifest
new file mode 100644
index 000000000000..d3dbfcb1e563
--- /dev/null
+++ b/dev-lua/luacrypto/Manifest
@@ -0,0 +1 @@
+DIST luacrypto-0.3.2.tar.gz 374363 BLAKE2B 043ef787f9b99f7d25bfa9a96d2495f2bfbeec0200c956b978cfc003c51f0faba99848bf290e011a3f8ba8a50d99bf5b6f9b5346addcd57f71978a4af8f4117d SHA512 4cb20d2cc348a11f140210dffb803629034c72cc7232590f4488f559d5c7233e0c41e56fcd0863959ac0b07e64c9aa79ea573e4126fdc11bc3f1b3b49d13343e
diff --git a/dev-lua/luacrypto/files/luacrypto-0.3.2-lualibdir.patch b/dev-lua/luacrypto/files/luacrypto-0.3.2-lualibdir.patch
new file mode 100644
index 000000000000..461e066865c2
--- /dev/null
+++ b/dev-lua/luacrypto/files/luacrypto-0.3.2-lualibdir.patch
@@ -0,0 +1,11 @@
+--- luacrypto-0.3.2/configure.ac
++++ luacrypto-0.3.2/configure.ac
+@@ -31,7 +31,7 @@
+ PKG_CHECK_MODULES([LUA], [lua])
+
+ # lua libdir
+-LUALIBDIR="`$PKGCONFIG --variable=libdir lua`"
++LUALIBDIR="`$PKGCONFIG --variable=INSTALL_CMOD lua`"
+
+ # dest of headers
+ CRYPTOINC="${includedir}/${PACKAGE_NAME}"
diff --git a/dev-lua/luacrypto/luacrypto-0.3.2-r1.ebuild b/dev-lua/luacrypto/luacrypto-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..5dadf1c93111
--- /dev/null
+++ b/dev-lua/luacrypto/luacrypto-0.3.2-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils autotools ltprune
+
+DESCRIPTION="Lua frontend to OpenSSL"
+HOMEPAGE="http://mkottman.github.io/luacrypto/ https://github.com/mkottman/luacrypto/"
+SRC_URI="https://github.com/mkottman/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libressl"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:0
+ !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-lualibdir.patch
+ eautoreconf
+}
+
+src_configure() {
+ econf --htmldir=/usr/share/doc/${PF}/html
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ default
+ prune_libtool_files --modules
+}
diff --git a/dev-lua/luacrypto/metadata.xml b/dev-lua/luacrypto/metadata.xml
new file mode 100644
index 000000000000..120cad1da7a9
--- /dev/null
+++ b/dev-lua/luacrypto/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">mkottman/luacrypto</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luadbi/Manifest b/dev-lua/luadbi/Manifest
new file mode 100644
index 000000000000..197912a61669
--- /dev/null
+++ b/dev-lua/luadbi/Manifest
@@ -0,0 +1 @@
+DIST luadbi.0.5.tar.gz 22454 BLAKE2B 538fa935ece2a8e0f852cef33716570a6e85100ec26892d7a76c5b00a7fceb82411e2ebe29d25de42cf6ee6bdbfdf5102875bb4d04d65f86dfdc9d79fecef359 SHA512 4ed641e113e90acc8a4f6b3b2d0f5d5044c0fbbef3b2fdfb84d15e17115e45c553a33b19bfb165e5af11a2adce501d66859963e3363d3ab1c6a39b0b2ae92e62
diff --git a/dev-lua/luadbi/files/0.5-r2-Makefile.patch b/dev-lua/luadbi/files/0.5-r2-Makefile.patch
new file mode 100644
index 000000000000..98e4988b281b
--- /dev/null
+++ b/dev-lua/luadbi/files/0.5-r2-Makefile.patch
@@ -0,0 +1,47 @@
+--- a/Makefile 2013-02-01 13:34:54.490898002 +0400
++++ b/Makefile 2013-02-01 13:44:25.927772130 +0400
+@@ -1,5 +1,6 @@
+ CC=gcc
+-CFLAGS=-g -pedantic -Wall -O2 -shared -fpic -I /usr/include/lua5.1 -I /usr/include/mysql -I /usr/include/postgresql/ -I /opt/ibm/db2exc/V9.5/include/ -I /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public/ -I .
++INCLUDES=-I /usr/include/lua5.1 -I /usr/include/mysql -I /usr/include/postgresql/ -I /opt/ibm/db2exc/V9.5/include/ -I /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/rdbms/public/ -I .
++CFLAGS+=-pedantic -shared -fpic $(INCLUDES)
+ AR=ar rcu
+ RANLIB=ranlib
+ RM=rm -rf
+@@ -27,6 +27,14 @@
+ DB2_OBJS=$(OBJS) build/dbd_db2_main.o build/dbd_db2_connection.o build/dbd_db2_statement.o
+ ORACLE_OBJS=$(OBJS) build/dbd_oracle_main.o build/dbd_oracle_connection.o build/dbd_oracle_statement.o
+
++INSTALL = install
++INSTALL_PROGRAM = $(INSTALL)
++INSTALL_DATA = $(INSTALL) -m 644
++LUA_INC_DIR=/usr/include/lua5.1
++LUA_LIB_DIR=/usr/lib
++INSTALL_DIR_LUA=/usr/share/lua/5.1
++INSTALL_DIR_BIN=/usr/lib/lua/5.1
++
+ free: mysql psql sqlite3
+
+ all: mysql psql sqlite3 db2 oracle
+@@ -90,3 +98,21 @@
+ build:
+ $(MKDIR) ${BUILDDIR}
+
++install_lua:
++ $(INSTALL_DATA) -D DBI.lua $(DESTDIR)$(INSTALL_DIR_LUA)/DBI.lua
++
++install_mysql: install_lua
++ $(INSTALL_PROGRAM) -D $(DBDMYSQL) $(DESTDIR)$(INSTALL_DIR_BIN)/$(DBDMYSQL)
++
++install_psql: install_lua
++ $(INSTALL_PROGRAM) -D $(DBDPSQL) $(DESTDIR)$(INSTALL_DIR_BIN)/$(DBDPSQL)
++
++install_sqlite3: install_lua
++ $(INSTALL_PROGRAM) -D $(DBDSQLITE3) $(DESTDIR)$(INSTALL_DIR_BIN)/$(DBDSQLITE3)
++
++install_db2: install_lua
++ $(INSTALL_PROGRAM) -D $(DBDDB2) $(DESTDIR)$(INSTALL_DIR_BIN)/$(DBDDB2)
++
++install_oracle: install_lua
++ $(INSTALL_PROGRAM) -D $(DBDORACLE) $(DESTDIR)$(INSTALL_DIR_BIN)/$(DBDORACLE)
++
diff --git a/dev-lua/luadbi/luadbi-0.5-r5.ebuild b/dev-lua/luadbi/luadbi-0.5-r5.ebuild
new file mode 100644
index 000000000000..e1cdb2f76572
--- /dev/null
+++ b/dev-lua/luadbi/luadbi-0.5-r5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs flag-o-matic eutils
+
+DESCRIPTION="DBI module for Lua"
+HOMEPAGE="https://code.google.com/p/luadbi/"
+SRC_URI="https://luadbi.googlecode.com/files/${PN}.${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="mysql postgres +sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+RDEPEND=">=dev-lang/lua-5.1
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( >=dev-db/sqlite-3 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-r2-Makefile.patch
+ sed -i -e "s#^INSTALL_DIR_LUA=.*#INSTALL_DIR_LUA=$(pkg-config --variable INSTALL_LMOD lua)#" \
+ -e "s#^INSTALL_DIR_BIN=.*#INSTALL_DIR_BIN=$(pkg-config --variable INSTALL_CMOD lua)#" \
+ -e "s#^LUA_INC_DIR=.*#LUA_INC_DIR=$(pkg-config --variable INSTALL_INC lua)#" \
+ -e "s#^LUA_LIB_DIR=.*#LUA_LIB_DIR=$(pkg-config --variable INSTALL_LIB lua)#" \
+ -e "s#^LUA_LIB =.*#LUA_LIB=lua#" Makefile || die
+
+ drivers=""
+
+ if use mysql; then
+ drivers+="mysql "
+ sed -i -e "s#^\(INCLUDES.*\)#\1 $(mysql_config --include)#" \
+ -e "s#^\(MYSQL_LDFLAGS=\$(COMMON_LDFLAGS)\).*#\1 $(mysql_config --libs)#" Makefile || die
+ fi
+
+ if use postgres; then
+ drivers+="psql "
+ sed -i -e "s#^\(INCLUDES.*\)#\1 -I$(pg_config --includedir) -I$(pg_config --includedir-server)#" \
+ -e "s#^\(PSQL_LDFLAGS=\$(COMMON_LDFLAGS)\).*#\1 -L$(pg_config --libdir) -lpq#" Makefile || die
+ fi
+
+ use sqlite && drivers+="sqlite3"
+}
+
+src_compile() {
+ append-flags -fPIC
+ for driver in ${drivers}; do
+ emake CC="$(tc-getCC)" COMMON_LDFLAGS="${LDFLAGS}" ${driver}
+ done
+}
+
+src_install() {
+ for driver in ${drivers}; do
+ emake DESTDIR="${D}" "install_${driver// /}"
+ done
+}
diff --git a/dev-lua/luadbi/luadbi-0.5-r6.ebuild b/dev-lua/luadbi/luadbi-0.5-r6.ebuild
new file mode 100644
index 000000000000..2f194b5ab36c
--- /dev/null
+++ b/dev-lua/luadbi/luadbi-0.5-r6.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="DBI module for Lua"
+HOMEPAGE="https://code.google.com/p/luadbi/"
+SRC_URI="https://luadbi.googlecode.com/files/${PN}.${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="mysql postgres +sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+RDEPEND=">=dev-lang/lua-5.1
+ mysql? ( dev-db/mysql-connector-c:0= )
+ postgres? ( dev-db/postgresql )
+ sqlite? ( >=dev-db/sqlite-3 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"
+
+PATCHES=( "${FILESDIR}"/${PV}-r2-Makefile.patch )
+
+src_prepare() {
+ default
+ local pkgconf=$(tc-getPKG_CONFIG)
+ sed -i -e "s#^INSTALL_DIR_LUA=.*#INSTALL_DIR_LUA=$(${pkgconf} --variable INSTALL_LMOD lua)#" \
+ -e "s#^INSTALL_DIR_BIN=.*#INSTALL_DIR_BIN=$(${pkgconf} --variable INSTALL_CMOD lua)#" \
+ -e "s#^LUA_INC_DIR=.*#LUA_INC_DIR=$(${pkgconf} --variable INSTALL_INC lua)#" \
+ -e "s#^LUA_LIB_DIR=.*#LUA_LIB_DIR=$(${pkgconf} --variable INSTALL_LIB lua)#" \
+ -e "s#^LUA_LIB =.*#LUA_LIB=lua#" Makefile || die
+
+ drivers=""
+
+ if use mysql; then
+ drivers+="mysql "
+ sed -i -e "s#^\(INCLUDES.*\)#\1 $(mysql_config --include)#" \
+ -e "s#^\(MYSQL_LDFLAGS=\$(COMMON_LDFLAGS)\).*#\1 $(mysql_config --libs)#" Makefile || die
+ fi
+
+ if use postgres; then
+ drivers+="psql "
+ sed -i -e "s#^\(INCLUDES.*\)#\1 -I$(pg_config --includedir) -I$(pg_config --includedir-server)#" \
+ -e "s#^\(PSQL_LDFLAGS=\$(COMMON_LDFLAGS)\).*#\1 -L$(pg_config --libdir) -lpq#" Makefile || die
+ fi
+
+ use sqlite && drivers+="sqlite3"
+}
+
+src_compile() {
+ append-flags -fPIC
+ for driver in ${drivers}; do
+ emake CC="$(tc-getCC)" COMMON_LDFLAGS="${LDFLAGS}" ${driver}
+ done
+}
+
+src_install() {
+ for driver in ${drivers}; do
+ emake DESTDIR="${D}" "install_${driver// /}"
+ done
+}
diff --git a/dev-lua/luadbi/metadata.xml b/dev-lua/luadbi/metadata.xml
new file mode 100644
index 000000000000..2c7c266135c4
--- /dev/null
+++ b/dev-lua/luadbi/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="google-code">luadbi</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luadoc/Manifest b/dev-lua/luadoc/Manifest
new file mode 100644
index 000000000000..af6b1b70a67a
--- /dev/null
+++ b/dev-lua/luadoc/Manifest
@@ -0,0 +1 @@
+DIST luadoc-3.0.1.tar.gz 108824 BLAKE2B 52092feeb22cdcd7570ba5d54c57598d16688daba7c90d81dc975cfd2545c5e42e6f4b8f1bdc150c877f6b953cbb193d03d1a02f0ac48cfbc5cf1ec4a91b101c SHA512 413b40e72cc0699c00caf47fe3d7233c8619bfd6064eac001762bcb2ae0b21ccc6f800bd05566cd83924546e5616d1e5840d8bc20ec6d1f1c7a64910a9df6be2
diff --git a/dev-lua/luadoc/luadoc-3.0.1.ebuild b/dev-lua/luadoc/luadoc-3.0.1.ebuild
new file mode 100644
index 000000000000..c2d1de3b9b1f
--- /dev/null
+++ b/dev-lua/luadoc/luadoc-3.0.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="LuaDoc is a documentation tool for Lua source code"
+HOMEPAGE="http://luadoc.luaforge.net/"
+SRC_URI="http://luaforge.net/frs/download.php/3185/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-lang/lua-5.1.3
+ dev-lua/luafilesystem"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s|/usr/local|\$(DESTDIR)/usr|" \
+ -e "s|lib|$(get_libdir)|" \
+ -e "s|lua5.1|lua|" \
+ config || die
+
+ # lua-5.1.3
+ find . -name '*.lua' -exec sed -i -e "s/gfind/gmatch/g" {} + || die
+}
+
+src_install() {
+ default
+ docinto html
+ dodoc -r doc/us/.
+}
diff --git a/dev-lua/luadoc/metadata.xml b/dev-lua/luadoc/metadata.xml
new file mode 100644
index 000000000000..df76f4c3652f
--- /dev/null
+++ b/dev-lua/luadoc/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ LuaDoc is a documentation generator tool for Lua source code.
+ It parses the declarations and documentation comments in a set of Lua
+ source files and produces a set of XHTML pages describing the commented
+ declarations and functions.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luaevent/Manifest b/dev-lua/luaevent/Manifest
new file mode 100644
index 000000000000..3d8697f3af9b
--- /dev/null
+++ b/dev-lua/luaevent/Manifest
@@ -0,0 +1,2 @@
+DIST luaevent-0.4.4.tar.gz 22249 BLAKE2B f4375e02a4a0e2a4517e559b6625188bc0b577f5dc2ce843ba2d9b8811f2953a3255ebf7ee28313731ecc5c7c4877ef78c119a4633361eea2f915426b6a92a2e SHA512 2f2d669e645c3186d5060f2a5358fed4756087e173bd94431cf74b158fc25ff8de4640f1a832704d1431a7b10797385a449ae79ce049e98edc414260cd4c85ea
+DIST luaevent-0.4.6.tar.gz 22599 BLAKE2B 2f70ef105ce43d6b48e69bcc896e20a64ca49e124ad979f5191606d10bb61de1664782016b55cc9f2bc32a704d8f0b4d664eebd8176905f72f9a4e3d1e8b0fdd SHA512 21e222d5bba75fd2e623a8abf20fc3cd38505bf7d3fe94d8781ed626556c398a8501775eb423f0567918cc75f2d846026d4aa559ac5129eca8261f0c73427913
diff --git a/dev-lua/luaevent/luaevent-0.4.4.ebuild b/dev-lua/luaevent/luaevent-0.4.4.ebuild
new file mode 100644
index 000000000000..fc40540709ab
--- /dev/null
+++ b/dev-lua/luaevent/luaevent-0.4.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit toolchain-funcs
+
+DESCRIPTION="libevent bindings for Lua"
+HOMEPAGE="http://luaforge.net/projects/luaevent"
+SRC_URI="https://github.com/harningt/luaevent/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE=""
+
+RDEPEND="dev-lang/lua:0
+ dev-libs/libevent:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i "s:^CFLAGS =:CFLAGS +=:" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^LDFLAGS =:LDFLAGS +=:" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "/^LDFLAGS/a CC = $(tc-getCC)" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^LUA_INC_DIR ?=.*:LUA_INC_DIR ?= $(pkg-config --variable INSTALL_INC lua):" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^INSTALL_DIR_LUA ?=.*:INSTALL_DIR_LUA ?= $(pkg-config --variable INSTALL_LMOD lua):" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^INSTALL_DIR_BIN ?=.*:INSTALL_DIR_BIN ?= $(pkg-config --variable INSTALL_CMOD lua):" "${S}/Makefile" \
+ || die "sed failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-lua/luaevent/luaevent-0.4.6.ebuild b/dev-lua/luaevent/luaevent-0.4.6.ebuild
new file mode 100644
index 000000000000..e814d6b25c58
--- /dev/null
+++ b/dev-lua/luaevent/luaevent-0.4.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit toolchain-funcs
+
+DESCRIPTION="libevent bindings for Lua"
+HOMEPAGE="http://luaforge.net/projects/luaevent"
+SRC_URI="https://github.com/harningt/luaevent/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND="dev-lang/lua:0
+ dev-libs/libevent:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i "s:^CFLAGS =:CFLAGS +=:" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^LDFLAGS =:LDFLAGS +=:" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "/^LDFLAGS/a CC = $(tc-getCC)" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^LUA_INC_DIR ?=.*:LUA_INC_DIR ?= $(pkg-config --variable INSTALL_INC lua):" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^INSTALL_DIR_LUA ?=.*:INSTALL_DIR_LUA ?= $(pkg-config --variable INSTALL_LMOD lua):" "${S}/Makefile" \
+ || die "sed failed"
+ sed -i "s:^INSTALL_DIR_BIN ?=.*:INSTALL_DIR_BIN ?= $(pkg-config --variable INSTALL_CMOD lua):" "${S}/Makefile" \
+ || die "sed failed"
+ eapply_user
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-lua/luaevent/metadata.xml b/dev-lua/luaevent/metadata.xml
new file mode 100644
index 000000000000..45c58401e7ba
--- /dev/null
+++ b/dev-lua/luaevent/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>blueness@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">harningt/luaevent</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luaexpat/Manifest b/dev-lua/luaexpat/Manifest
new file mode 100644
index 000000000000..a5190ff3d7a6
--- /dev/null
+++ b/dev-lua/luaexpat/Manifest
@@ -0,0 +1,2 @@
+DIST luaexpat-1.2.0.tar.gz 28621 BLAKE2B d47a8c909d10afc103a48a8b4812a9afb15343a31e5106bfc9fa32c5cae2f0db7e1caeb65fd680852f1563dae682c328604f84aea3b7028d0472f08ad790823c SHA512 4f28e36fabcade14f9ae524b8aea19757ceaca9d4ad50c367fe8f58c14c3850efe252df780641159eeb01e96aaba38a9c9c6fe51d21f54a6c4ce33f80c87033f
+DIST luaexpat-1.3.0.tar.gz 29567 BLAKE2B 176cb107e6047b15338ff45751af82389920e4210d40bd0b4400e549130a4983c843f7a64bb7b2fba37e36eb592e850d06efe196f8e837e79e50c8d135dbe763 SHA512 91884653310e2dc89ade6d1653875ac8607640a21853d3ccb1fd0f833812e41981fad5c40101732ec249104d2c50c9a332208d1e44423b8428065a223c60b4ae
diff --git a/dev-lua/luaexpat/files/1.2.0-destdir-ldflags.patch b/dev-lua/luaexpat/files/1.2.0-destdir-ldflags.patch
new file mode 100644
index 000000000000..754fe27c8419
--- /dev/null
+++ b/dev-lua/luaexpat/files/1.2.0-destdir-ldflags.patch
@@ -0,0 +1,27 @@
+--- makefile.bak 2012-03-01 13:44:47.000000000 +0100
++++ makefile 2012-03-01 13:45:50.000000000 +0100
+@@ -12,17 +12,17 @@
+ lib: src/$(LIBNAME)
+
+ src/$(LIBNAME) : $(OBJS)
+- export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) -o src/$(LIBNAME) $(LIB_OPTION) $(OBJS) -lexpat
++ export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) -o src/$(LIBNAME) $(LIB_OPTION) $(LDFLAGS) $(OBJS) -lexpat
+
+ $(COMPAT_DIR)/compat-5.1.o: $(COMPAT_DIR)/compat-5.1.c
+- $(CC) -c $(CFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c
++ $(CC) -c $(CFLAGS) $(LDFLAGS) -o $@ $(COMPAT_DIR)/compat-5.1.c
+
+ install:
+- mkdir -p $(LUA_LIBDIR)
+- cp src/$(LIBNAME) $(LUA_LIBDIR)
+- cd $(LUA_LIBDIR); ln -f -s $(LIBNAME) $T.so
+- mkdir -p $(LUA_DIR)/$T
+- cp src/$T/lom.lua $(LUA_DIR)/$T
++ mkdir -p $(DESTDIR)$(LUA_LIBDIR)
++ cp src/$(LIBNAME) $(DESTDIR)$(LUA_LIBDIR)
++ cd $(DESTDIR)$(LUA_LIBDIR); ln -f -s $(LIBNAME) $T.so
++ mkdir -p $(DESTDIR)$(LUA_DIR)/$T
++ cp src/$T/lom.lua $(DESTDIR)$(LUA_DIR)/$T
+
+ clean:
+ rm -f src/$(LIBNAME) $(OBJS)
diff --git a/dev-lua/luaexpat/luaexpat-1.2.0-r1.ebuild b/dev-lua/luaexpat/luaexpat-1.2.0-r1.ebuild
new file mode 100644
index 000000000000..79fc45c14b42
--- /dev/null
+++ b/dev-lua/luaexpat/luaexpat-1.2.0-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib toolchain-funcs flag-o-matic eutils
+
+DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
+HOMEPAGE="http://www.keplerproject.org/luaexpat/"
+SRC_URI="http://matthewwild.co.uk/projects/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ~mips x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/lua-5.1[deprecated]
+ dev-libs/expat"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i -e "s#^LUA_LIBDIR=.*#LUA_LIBDIR=$(pkg-config --variable INSTALL_CMOD lua)#" "${S}/config"
+ sed -i -e "s#^LUA_DIR=.*#LUA_DIR=$(pkg-config --variable INSTALL_LMOD lua)#" "${S}/config"
+ sed -i -e "s#^LUA_INC=.*#LUA_INC=$(pkg-config --variable INSTALL_INC lua)#" "${S}/config"
+ sed -i -e "s#^EXPAT_INC=.*#EXPAT_INC=/usr/include#" "${S}/config"
+ sed -i -e "s#^LUA_VERSION_NUM=.*#LUA_VERSION_NUM=501#" "${S}/config"
+ epatch "${FILESDIR}/${PV}-destdir-ldflags.patch"
+}
+
+src_compile() {
+ append-flags -fPIC
+ emake \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC) -shared"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc README
+ dohtml -r doc/*
+}
diff --git a/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild b/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild
new file mode 100644
index 000000000000..098294058563
--- /dev/null
+++ b/dev-lua/luaexpat/luaexpat-1.3.0-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib toolchain-funcs flag-o-matic eutils multilib-minimal
+
+DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
+HOMEPAGE="http://www.keplerproject.org/luaexpat/"
+SRC_URI="http://matthewwild.co.uk/projects/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 hppa ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/lua-5.1.5-r2[deprecated,${MULTILIB_USEDEP}]
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ multilib_copy_sources
+
+ append-flags -fPIC
+}
+
+multilib_src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC) -shared" \
+ LUA_LDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)" \
+ LUA_CDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)" \
+ LUA_INC="-I$($(tc-getPKG_CONFIG) --variable INSTALL_INC lua)"
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LUA_LDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)" \
+ LUA_CDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)" \
+ LUA_INC="-I$($(tc-getPKG_CONFIG) --variable INSTALL_INC lua)" \
+ install
+}
+
+multilib_src_install_all() {
+ dodoc README
+ dohtml -r doc/*
+}
diff --git a/dev-lua/luaexpat/metadata.xml b/dev-lua/luaexpat/metadata.xml
new file mode 100644
index 000000000000..c99320e026bb
--- /dev/null
+++ b/dev-lua/luaexpat/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luafilesystem/Manifest b/dev-lua/luafilesystem/Manifest
new file mode 100644
index 000000000000..db5d1d2ffed3
--- /dev/null
+++ b/dev-lua/luafilesystem/Manifest
@@ -0,0 +1,4 @@
+DIST luafilesystem-1.5.0.tar.gz 26660 BLAKE2B 555a119c580a14377e0b721929d33f6e15e4b4449c061860d611a12896020959f3755bde44ba29d492e8bd10a084a6dc7cd78ed0ef67c1fad85a7acb49bcf6c2 SHA512 79e767be5b923424c2f3c0025e050b6a5b15550cf96d153072f817b0f94757032feeaa579e4d73cc009a5954d38a30079db1c1c15545a45e9f13c0c776080aac
+DIST luafilesystem-1.6.2.tar.gz 27886 BLAKE2B fa13cc529f3ff2b5c5bbf082c5071d066da2da97c066054c9c312366a43e0a2e136bf6eae139abb63e6de916ecca60421cd36bce132393cf0333f9d124027117 SHA512 75debecd3b35d43e76b51de02cface73808547be6a26e15c06c969c50bbfd7c4d0801ccb68812b7ecb99e56eaa63deeadaba6d0387748e215e5bdab784d463ff
+DIST luafilesystem-1.6.3.tar.gz 30389 BLAKE2B 412d2893a59ccde2eb8912523bea4d06d4f140dee2f47b5e8e9795d1ca950a4be93a32eb5632775277ab2c2c22a9229c9f33d062e0d1fcd5397178962b96bae9 SHA512 47a2637903c9d42ce3ab7cf3e27b6457845aeed7ce90c0fee964ba9bf9eabf6a6eea940f960713f6b982f1b64167dbd5da8f217281284143c89e3cc5488b8404
+DIST luafilesystem-1.7.0.2.tar.gz 30877 BLAKE2B c90d960b3cb28a7339e5d103a262beb76864cfd30e0502e991ae82d6fb8706da8a99d9c19d037d7c299139346a5b925e10886addce07e3755891f11b9c2ec4d9 SHA512 a1d4d077776e57cd878dbcd21656da141ea3686c587b5420a2b039aeaf086b7e7d05d531ee1cc2bbd7d06660d1315b09593e52143f6711f033ce8eecdc550511
diff --git a/dev-lua/luafilesystem/luafilesystem-1.5.0.ebuild b/dev-lua/luafilesystem/luafilesystem-1.5.0.ebuild
new file mode 100644
index 000000000000..657786056c85
--- /dev/null
+++ b/dev-lua/luafilesystem/luafilesystem-1.5.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+inherit multilib toolchain-funcs
+
+DESCRIPTION="File System Library for the Lua Programming Language"
+HOMEPAGE="https://keplerproject.github.com/luafilesystem/"
+SRC_URI="https://github.com/downloads/keplerproject/luafilesystem/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm hppa ~mips ppc ppc64 sparc x86"
+IUSE=""
+
+DEPEND=">=dev-lang/lua-5.1"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e "s|gcc|$(tc-getCC)|" \
+ -e "s|/usr/local|/usr|" \
+ -e "s|/lib|/$(get_libdir)|" \
+ -e "s|-O2|${CFLAGS}|" \
+ -e "/^LIB_OPTION/s|= |= ${LDFLAGS} |" \
+ config || die
+}
+
+src_install() {
+ emake PREFIX="${ED}usr" install
+ dodoc README
+ dohtml doc/us/*
+}
diff --git a/dev-lua/luafilesystem/luafilesystem-1.6.2.ebuild b/dev-lua/luafilesystem/luafilesystem-1.6.2.ebuild
new file mode 100644
index 000000000000..def72540b454
--- /dev/null
+++ b/dev-lua/luafilesystem/luafilesystem-1.6.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit multilib toolchain-funcs
+
+DESCRIPTION="File System Library for the Lua Programming Language"
+HOMEPAGE="https://keplerproject.github.com/luafilesystem/"
+SRC_URI="https://github.com/downloads/keplerproject/luafilesystem/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
+IUSE=""
+
+DEPEND=">=dev-lang/lua-5.1"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e "s|gcc|$(tc-getCC)|" \
+ -e "s|/usr/local|/usr|" \
+ -e "s|/lib|/$(get_libdir)|" \
+ -e "s|-O2|${CFLAGS}|" \
+ -e "/^LIB_OPTION/s|= |= ${LDFLAGS} |" \
+ config || die
+}
+
+src_install() {
+ emake PREFIX="${ED}usr" install
+ dodoc README
+ dohtml doc/us/*
+}
diff --git a/dev-lua/luafilesystem/luafilesystem-1.6.3.ebuild b/dev-lua/luafilesystem/luafilesystem-1.6.3.ebuild
new file mode 100644
index 000000000000..75ab037289ac
--- /dev/null
+++ b/dev-lua/luafilesystem/luafilesystem-1.6.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit toolchain-funcs
+
+MY_PV=${PV//./_}
+
+DESCRIPTION="File System Library for the Lua Programming Language"
+HOMEPAGE="https://keplerproject.github.io/luafilesystem/"
+SRC_URI="https://github.com/keplerproject/luafilesystem/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~hppa ~mips ppc ppc64 x86"
+IUSE="luajit"
+
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1 )
+ luajit? ( dev-lang/luajit:2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+HTML_DOCS=( doc/us )
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s|-O2|${CFLAGS}|" \
+ -e "/^LIB_OPTION/s|= |= ${LDFLAGS} |" \
+ config || die
+}
+
+src_compile() {
+ emake \
+ CC=$(tc-getCC) \
+ INCS="-I$($(tc-getPKG_CONFIG) --variable includedir $(usex luajit 'luajit' 'lua'))"
+}
+
+src_test() {
+ LUA_CPATH=./src/?.so $(usex luajit 'luajit' 'lua') tests/test.lua
+}
+
+src_install() {
+ emake \
+ LUA_LIBDIR="${ED%/}$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD $(usex luajit 'luajit' 'lua'))" \
+ install
+
+ einstalldocs
+}
diff --git a/dev-lua/luafilesystem/luafilesystem-1.7.0.2.ebuild b/dev-lua/luafilesystem/luafilesystem-1.7.0.2.ebuild
new file mode 100644
index 000000000000..88b4ef4b5a98
--- /dev/null
+++ b/dev-lua/luafilesystem/luafilesystem-1.7.0.2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs
+
+MY_PV=${PV//./_}
+
+DESCRIPTION="File System Library for the Lua Programming Language"
+HOMEPAGE="https://keplerproject.github.io/luafilesystem/"
+SRC_URI="https://github.com/keplerproject/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="doc luajit test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:*
+ luajit? ( dev-lang/luajit:2 )"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( ${RDEPEND} )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_configure() {
+ cat > config <<-EOF
+ # Installation directories
+
+ # Default installation prefix
+ PREFIX="${ED}/$($(tc-getPKG_CONFIG) --variable exec_prefix $(usex luajit 'luajit' 'lua'))"
+
+ # System's libraries directory (where binary libraries are installed)
+ LUA_LIBDIR="${ED}/$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD $(usex luajit 'luajit' 'lua'))"
+
+ # Lua includes directory
+ LUA_INC=-I$(pwd)/src
+ LUA_INC+=-I$($(tc-getPKG_CONFIG) --variable includedir $(usex luajit 'luajit' 'lua'))
+
+ # OS dependent
+ LIB_OPTION=\$(LDFLAGS) -shared
+
+ LIBNAME=$T.so.$V
+
+ # Compilation directives
+ WARN=-O2 -Wall -fPIC -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -pedantic
+ INCS=\$(LUA_INC)
+ CFLAGS+=\$(WARN) \$(INCS)
+ CC=$(tc-getCC)
+ EOF
+}
+
+src_test() {
+ LUA_CPATH=./src/?.so $(usex luajit 'luajit' 'lua') tests/test.lua || die
+}
+
+src_install() {
+ use doc && local HTML_DOCS=( doc/us/. )
+ einstalldocs
+
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-lua/luafilesystem/metadata.xml b/dev-lua/luafilesystem/metadata.xml
new file mode 100644
index 000000000000..e5aa0e15a161
--- /dev/null
+++ b/dev-lua/luafilesystem/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <longdescription lang="en">
+ LuaFileSystem is a Lua library developed to complement the set of functions
+ related to file systems offered by the standard Lua distribution.
+
+ LuaFileSystem offers a portable way to access the underlying directory
+ structure and file attributes.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">keplerproject/luafilesystem</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luajson/Manifest b/dev-lua/luajson/Manifest
new file mode 100644
index 000000000000..94e156d2659b
--- /dev/null
+++ b/dev-lua/luajson/Manifest
@@ -0,0 +1 @@
+DIST luajson-1.3.3.tar.gz 42653 BLAKE2B 2bc7310317a1279906681c2de284dc7b9d50766c0c21c606da746d0e709168e5364c3a821798f3ce423dfdd246162212525c1fee7c13cb5f0999db56d1e5e3c3 SHA512 9b507148afaf59871f97e7cf78ad35dc01497d553699d1d1a928543fad6a375aebc3852da86d51d744f10ab2ec24c7b1d7c380852da8134ae05f2f22f6f200c2
diff --git a/dev-lua/luajson/luajson-1.3.3.ebuild b/dev-lua/luajson/luajson-1.3.3.ebuild
new file mode 100644
index 000000000000..78c00286a7b2
--- /dev/null
+++ b/dev-lua/luajson/luajson-1.3.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="JSON Parser/Constructor for Lua"
+HOMEPAGE="https://www.eharning.us/wiki/luajson/"
+SRC_URI="https://github.com/harningt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 sparc x86"
+IUSE="test"
+
+RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+ dev-lua/lpeg"
+DEPEND="test? ( dev-lua/luafilesystem )"
+
+# lunit not in the tree yet
+RESTRICT="test"
+
+# nothing to compile
+src_compile() { :; }
+
+src_install() {
+ emake PREFIX=/usr DESTDIR="${D}" install
+ dodoc README docs/ReleaseNotes-${PV}.txt docs/LuaJSON.txt
+}
diff --git a/dev-lua/luajson/metadata.xml b/dev-lua/luajson/metadata.xml
new file mode 100644
index 000000000000..718c022e182e
--- /dev/null
+++ b/dev-lua/luajson/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">harningt/luajson</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lualdap/Manifest b/dev-lua/lualdap/Manifest
new file mode 100644
index 000000000000..727dc31550e3
--- /dev/null
+++ b/dev-lua/lualdap/Manifest
@@ -0,0 +1 @@
+DIST lualdap-1.2.0.tar.xz 12380 BLAKE2B 42bf8633a5ccd60f6082b8729b9ba77c8f5486a7bab6cf727fc011856fec244de9f0fa96dd53c23a3fb5932a1670bbb621739c965618671c2c856c41e3faffbb SHA512 02cd3089dc6ca1f60957fa4733dae3cbfb2e13c25b068ddeb51b059701278eb86e359d56a6ef1df28cf514193311323255b36ff036bafda9fcbae0676d90a238
diff --git a/dev-lua/lualdap/lualdap-1.2.0.ebuild b/dev-lua/lualdap/lualdap-1.2.0.ebuild
new file mode 100644
index 000000000000..38007f295ddf
--- /dev/null
+++ b/dev-lua/lualdap/lualdap-1.2.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+MY_PN="LuaLDAP"
+
+DESCRIPTION="Simple interface from Lua to OpenLDAP"
+HOMEPAGE="https://git.zx2c4.com/lualdap/about/"
+SRC_URI="https://git.zx2c4.com/${PN}/snapshot/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+RDEPEND="dev-lang/lua:* net-nds/openldap"
+DEPEND="${RDEPEND}
+ net-nds/openldap
+ virtual/pkgconfig"
diff --git a/dev-lua/lualdap/metadata.xml b/dev-lua/lualdap/metadata.xml
new file mode 100644
index 000000000000..8cb8fcc6b6ab
--- /dev/null
+++ b/dev-lua/lualdap/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>zx2c4@gentoo.org</email>
+ <name>Jason A. Donenfeld</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luaossl/Manifest b/dev-lua/luaossl/Manifest
new file mode 100644
index 000000000000..9849ac7fb15a
--- /dev/null
+++ b/dev-lua/luaossl/Manifest
@@ -0,0 +1,4 @@
+DIST luaossl-20150727.tar.gz 355486 BLAKE2B 81907c3a3f565432eb2d2b17db48f381496837924ce999a58a4528a46b1b43fdd7b14041bab2a4536c89a37c6f31926f353d1bb1997e9ffd57ab6e2cfb83b6ef SHA512 de565ff7b9ac07493e771045b05902dd64e8b6c458180dd03d08cf900067d1b9cb88385c69dc29fb45774e4ec36b563cab705b34d37cec2f5cc792cf4f7b5049
+DIST luaossl-rel-20180708.tar.gz 455381 BLAKE2B d57e27638e6aee44a94f85094bab9161f0b87bdb379863fdef4517a1cb3415f4ef7e62967ee1e3fa2dde4d5629a24d732dc8ea0fd2ea54ccd84f69c4b18e2c57 SHA512 b2a73a7e7ace9a01c8c5a26603107f7741de88de32c393ed9134b70d55278c81d48e357955e671654825de282449b9570ecdc6a4fbcf4890439c0200ba471338
+DIST luaossl-rel-20181207.tar.gz 472294 BLAKE2B 1dd991cd73a432b7f8918d391bd3cbea98d77d4bd6390815840e3c7f63e98b9bcca6d9a4841da663ba7ecaa19880a4f3db4fce09d47d103cfd85f8d920efe84d SHA512 e5412c115d0dda3b3f2446ffd9a8d9b78be3800e834d7a43ec2cde16e56798fe2467d91add3ab8030321e6bf1a12349ecd5987dd88216ab0d7ba4ff451f0fb91
+DIST luaossl-rel-20190731.tar.gz 350324 BLAKE2B ff80f8ef69472eb0bb908d292f906d4d2be30b6350b04ecc4b4f6414aa6c6d44109a99187d6a89519d60b23ff9259bdda48bf0e51032785abee2002611037033 SHA512 09315deb0c40b59230d80262906cb9f067660242315544179ec5df57a028b088c56a4bb0b944e5975bccf86d521901eae36006c5623ec1159cfca94d05fb6890
diff --git a/dev-lua/luaossl/luaossl-20150727.ebuild b/dev-lua/luaossl/luaossl-20150727.ebuild
new file mode 100644
index 000000000000..b0a610625a0f
--- /dev/null
+++ b/dev-lua/luaossl/luaossl-20150727.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Most comprehensive OpenSSL module in the Lua universe."
+HOMEPAGE="https://github.com/wahern/luaossl"
+SRC_URI="https://github.com/wahern/luaossl/archive/rel-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="luajit"
+
+RDEPEND="
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( >=dev-lang/lua-5.1:0 )
+ dev-libs/openssl:0[-bindist]
+ !dev-lua/lua-openssl"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-rel-${PV}"
+
+src_prepare() {
+ local version_var=
+ local engine=
+
+ use luajit && engine=luajit || engine=lua
+ use luajit && version_var=abiver || version_var=V
+
+ LUA_VERSION="$($(tc-getPKG_CONFIG) --variable=${version_var} ${engine})"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" prefix="${EPREFIX}/usr" openssl${LUA_VERSION}
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install${LUA_VERSION}
+}
diff --git a/dev-lua/luaossl/luaossl-20180708.ebuild b/dev-lua/luaossl/luaossl-20180708.ebuild
new file mode 100644
index 000000000000..fd7565276080
--- /dev/null
+++ b/dev-lua/luaossl/luaossl-20180708.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P=${PN}-rel-${PV}
+DESCRIPTION="Most comprehensive OpenSSL module in the Lua universe."
+HOMEPAGE="https://github.com/wahern/luaossl"
+SRC_URI="https://github.com/wahern/luaossl/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="luajit"
+
+RDEPEND="
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( >=dev-lang/lua-5.1:0 )
+ dev-libs/openssl:0[-bindist]
+ !dev-lua/lua-openssl"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ LUA_VERSION="$($(tc-getPKG_CONFIG) --variable=$(usex luajit abiver V) $(usex luajit luajit lua))"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" prefix="${EPREFIX}/usr" openssl${LUA_VERSION}
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install${LUA_VERSION}
+}
diff --git a/dev-lua/luaossl/luaossl-20181207.ebuild b/dev-lua/luaossl/luaossl-20181207.ebuild
new file mode 100644
index 000000000000..300a08cda740
--- /dev/null
+++ b/dev-lua/luaossl/luaossl-20181207.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P=${PN}-rel-${PV}
+DESCRIPTION="Most comprehensive OpenSSL module in the Lua universe."
+HOMEPAGE="https://github.com/wahern/luaossl"
+SRC_URI="https://github.com/wahern/luaossl/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="luajit"
+
+RDEPEND="
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( >=dev-lang/lua-5.1:0 )
+ dev-libs/openssl:0[-bindist]
+ !dev-lua/lua-openssl"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ LUA_VERSION="$($(tc-getPKG_CONFIG) --variable=$(usex luajit abiver V) $(usex luajit luajit lua))"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" prefix="${EPREFIX}/usr" openssl${LUA_VERSION}
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install${LUA_VERSION}
+}
diff --git a/dev-lua/luaossl/luaossl-20190731.ebuild b/dev-lua/luaossl/luaossl-20190731.ebuild
new file mode 100644
index 000000000000..300a08cda740
--- /dev/null
+++ b/dev-lua/luaossl/luaossl-20190731.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P=${PN}-rel-${PV}
+DESCRIPTION="Most comprehensive OpenSSL module in the Lua universe."
+HOMEPAGE="https://github.com/wahern/luaossl"
+SRC_URI="https://github.com/wahern/luaossl/archive/rel-${PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="luajit"
+
+RDEPEND="
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( >=dev-lang/lua-5.1:0 )
+ dev-libs/openssl:0[-bindist]
+ !dev-lua/lua-openssl"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ LUA_VERSION="$($(tc-getPKG_CONFIG) --variable=$(usex luajit abiver V) $(usex luajit luajit lua))"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" prefix="${EPREFIX}/usr" openssl${LUA_VERSION}
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install${LUA_VERSION}
+}
diff --git a/dev-lua/luaossl/metadata.xml b/dev-lua/luaossl/metadata.xml
new file mode 100644
index 000000000000..4849a9735010
--- /dev/null
+++ b/dev-lua/luaossl/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>crito@fnordpipe.org</email>
+ <name>Matthias Hauber</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">wahern/luaossl</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luaposix/Manifest b/dev-lua/luaposix/Manifest
new file mode 100644
index 000000000000..bf3cf9b13a23
--- /dev/null
+++ b/dev-lua/luaposix/Manifest
@@ -0,0 +1 @@
+DIST luaposix-33.4.0.tar.gz 643523 BLAKE2B e407363eb6410d2636024371a169eefe8d0bc633b9fcbad6c2e7edb413b4aa0fc681e94b35c9ea39a561ecdcf225af1033ded1c67d87cd57bed2ba3e0d795aab SHA512 3cb78ccb343a55e2bf5b182410e2050356379e8f7a86d42a79853db6198628cae85f9984854f99f41505cb7e4fbb5288e4a46633a6db459649837729af76044c
diff --git a/dev-lua/luaposix/luaposix-33.4.0.ebuild b/dev-lua/luaposix/luaposix-33.4.0.ebuild
new file mode 100644
index 000000000000..ba2e3aea549f
--- /dev/null
+++ b/dev-lua/luaposix/luaposix-33.4.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Bindings for POSIX APIs"
+HOMEPAGE="https://luaposix.github.io/luaposix/ https://github.com/luaposix/luaposix"
+SRC_URI="https://github.com/luaposix/luaposix/archive/release-v${PV}.tar.gz -> ${P}.tar.gz"
+
+SLOT="0"
+LICENSE="public-domain"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-lang/lua:0="
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-release-v${PV}
diff --git a/dev-lua/luaposix/metadata.xml b/dev-lua/luaposix/metadata.xml
new file mode 100644
index 000000000000..44d33094d14e
--- /dev/null
+++ b/dev-lua/luaposix/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">luaposix/luaposix</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luarocks/Manifest b/dev-lua/luarocks/Manifest
new file mode 100644
index 000000000000..fbace4ca97bd
--- /dev/null
+++ b/dev-lua/luarocks/Manifest
@@ -0,0 +1,3 @@
+DIST luarocks-2.2.0.tar.gz 111549 BLAKE2B 214c1c03e03f95ca1acfc1fda863895c91c508221c615fe3ccc064e9adbcaa8549d24ff788141c0093259ca52578fadccfb3f6891209f86336c57937ac5ec32d SHA512 41f32e383263485758e64df661ecfbd744369035362755c64466f2c52a8740ed941b80cab3212222d7d24e4b1a7ed9ccb84fa66c8e458526056af0b06d97224f
+DIST luarocks-3.2.1.tar.gz 232149 BLAKE2B f8298ef054f50b8f70bf48748435a54f683ba8eef3113641e98b00e1aa872b95e75b36f0df96de7870d3576d3b9149dde8af1b68a3d7ceda86d3654dbad507c0 SHA512 9abf2c5477b9ab8e3caf485dd10fc154435b41efc13c7709f36a9182ccbd98d022738627f76901977a9b7c42ae61e5f139e78070d469094a7571910afbb747ff
+DIST luarocks-3.3.1.tar.gz 241636 BLAKE2B fd34d7a233bbf1c5f224bd04886a7f1382d63ffc014c8b78ae7924fb799d66a32e048298deed103686771263885c85c9173c013d1bbb3bad6a48e9fd99fdaac0 SHA512 0a695ceb30ae575cbca52abd2aad9675e33a234c53c5d1e125442d874c21e0e3cf6157431f07085e4311f81833680366adfe5c626a66cb5880380b48899a116a
diff --git a/dev-lua/luarocks/luarocks-2.2.0.ebuild b/dev-lua/luarocks/luarocks-2.2.0.ebuild
new file mode 100644
index 000000000000..5a450c989c0d
--- /dev/null
+++ b/dev-lua/luarocks/luarocks-2.2.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib
+
+DESCRIPTION="A deployment and management system for Lua modules"
+HOMEPAGE="http://www.luarocks.org"
+SRC_URI="http://luarocks.org/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="curl openssl"
+
+DEPEND="dev-lang/lua
+ curl? ( net-misc/curl )
+ openssl? ( dev-libs/openssl )"
+RDEPEND="${DEPEND}
+ app-arch/unzip"
+
+src_configure() {
+ USE_MD5="md5sum"
+ USE_FETCH="wget"
+ use openssl && USE_MD5="openssl"
+ use curl && USE_FETCH="curl"
+
+ # econf doesn't work b/c it passes variables the custom configure can't
+ # handle
+ ./configure \
+ --prefix=/usr \
+ --with-lua-lib=/usr/$(get_libdir) \
+ --rocks-tree=/usr/$(get_libdir)/lua/luarocks \
+ --with-downloader=$USE_FETCH \
+ --with-md5-checker=$USE_MD5 \
+ || die "configure failed"
+}
+
+src_compile() {
+ # -j1 b/c make tries to delete files it has yet to create (bug #402005)
+ emake DESTDIR="${D}" -j1
+}
+
+src_install() {
+ # -j1 b/c otherwise it fails to find src/bin/luarocks
+ emake DESTDIR="${D}" -j1 install
+}
+
+pkg_preinst() {
+ find "${D}" -type f | xargs sed -i -e "s:${D}::g" || die "sed failed"
+}
diff --git a/dev-lua/luarocks/luarocks-3.2.1.ebuild b/dev-lua/luarocks/luarocks-3.2.1.ebuild
new file mode 100644
index 000000000000..7607520b4826
--- /dev/null
+++ b/dev-lua/luarocks/luarocks-3.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A deployment and management system for Lua modules"
+HOMEPAGE="http://www.luarocks.org"
+SRC_URI="http://luarocks.org/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="libressl"
+
+DEPEND="dev-lang/lua:="
+RDEPEND="${DEPEND}
+ net-misc/curl
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl:0 )
+"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ # econf doesn't work b/c it passes variables the custom configure can't
+ # handle
+ ./configure \
+ --prefix="${EPRIFIX}/usr" \
+ --with-lua-lib="${EPRIFIX}/usr/$(get_libdir)" \
+ --rocks-tree="${EPRIFIX}/usr/$(get_libdir)/lua/luarocks" \
+ || die "configure failed"
+}
+
+src_install() {
+ default
+ { find "${D}" -type f -exec sed -i -e "s:${D}::g" {} \;; } || die "sed failed"
+}
diff --git a/dev-lua/luarocks/luarocks-3.3.1.ebuild b/dev-lua/luarocks/luarocks-3.3.1.ebuild
new file mode 100644
index 000000000000..7607520b4826
--- /dev/null
+++ b/dev-lua/luarocks/luarocks-3.3.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A deployment and management system for Lua modules"
+HOMEPAGE="http://www.luarocks.org"
+SRC_URI="http://luarocks.org/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="libressl"
+
+DEPEND="dev-lang/lua:="
+RDEPEND="${DEPEND}
+ net-misc/curl
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl:0 )
+"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ # econf doesn't work b/c it passes variables the custom configure can't
+ # handle
+ ./configure \
+ --prefix="${EPRIFIX}/usr" \
+ --with-lua-lib="${EPRIFIX}/usr/$(get_libdir)" \
+ --rocks-tree="${EPRIFIX}/usr/$(get_libdir)/lua/luarocks" \
+ || die "configure failed"
+}
+
+src_install() {
+ default
+ { find "${D}" -type f -exec sed -i -e "s:${D}::g" {} \;; } || die "sed failed"
+}
diff --git a/dev-lua/luarocks/metadata.xml b/dev-lua/luarocks/metadata.xml
new file mode 100644
index 000000000000..0d14608237db
--- /dev/null
+++ b/dev-lua/luarocks/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vpayno+gentoo@gmail.com</email>
+ <name>Victor Payno</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <use>
+ <flag name="curl">Uses <pkg>net-misc/curl</pkg> for fetching lua
+ packages instead of <pkg>net-misc/wget</pkg>.</flag>
+ <flag name="openssl">Uses <pkg>dev-libs/openssl</pkg> for verifying lua
+ packages instead of md5sum.</flag>
+ </use>
+ <longdescription lang="en">
+ Package manager for Lua.
+
+ It allows you to create and install Lua modules as self-contained packages called rocks.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">luarocks/luarocks</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luasec/Manifest b/dev-lua/luasec/Manifest
new file mode 100644
index 000000000000..3ed43bd34149
--- /dev/null
+++ b/dev-lua/luasec/Manifest
@@ -0,0 +1,3 @@
+DIST luasec-0.5.1.tar.gz 46820 BLAKE2B 3b3d33c59c6817a810bb4ab5968657e29d123d5496e9ba28f03636ce389b99fb1e7724d9f2531fc651c86c8252a08973e76ae65ee5ab551cfe4d450519982053 SHA512 c7c92c79d0ec3e12b69f88d810a19397eaf570957d1f13b9695ee435cb6f0f9c31f5bc20a7252aac93d18eed98a5d3fc8a181cd85845a704e469055f215609a8
+DIST luasec-0.6.tar.gz 51071 BLAKE2B d10761399e074eaa657abad2788936296a6fd33db64291663e385b21fc4a4a19ff96fe1a88db9805a3794406f08c597a03c048cfc8675949baf9eaa9368b8b7f SHA512 f7004a329153d0126a3ea27b4986e9d83fb8f2de9c5c2f0c96427c50cc42e1252c69fd8cc69e2e8d423745d2dbfdb5a781b609938f7f502c7aedeb99fd0778cd
+DIST luasec-0.7.tar.gz 47965 BLAKE2B 5bd19cfb5c2529a6fbee221442730c87394f1bf3d5089dd83d18e91ef1a2b88cde19c59988e438eb37e50c02c40a8906ad11ce9b3247b03ea11ed6d9e890b7d6 SHA512 6adf5241aa5a0d92c9dd7fc7f7e426969475548f47979ccc28187471b3bad4132c215de6da1f471d21b05c6558d36309264512c9c4ac70a53d6f6e204cac1358
diff --git a/dev-lua/luasec/files/luasec-0.5.1-compdefine.patch b/dev-lua/luasec/files/luasec-0.5.1-compdefine.patch
new file mode 100644
index 000000000000..951b6fb11dbf
--- /dev/null
+++ b/dev-lua/luasec/files/luasec-0.5.1-compdefine.patch
@@ -0,0 +1,36 @@
+diff -ru luasec-0.5.1/src/ssl.c luasec-0.5.1-fixed/src/ssl.c
+--- luasec-0.5.1/src/ssl.c 2015-11-20 22:39:32.000000000 +0100
++++ luasec-0.5.1-fixed/src/ssl.c 2016-03-02 15:48:09.439005988 +0100
+@@ -395,24 +395,30 @@
+ }
+ return 1;
+ }
+-
++
+ /**
+ * Return the compression method used.
+ */
+ static int meth_compression(lua_State *L)
+ {
++#if !defined(OPENSSL_NO_COMP)
+ const COMP_METHOD *comp;
++#endif
+ p_ssl ssl = (p_ssl)luaL_checkudata(L, 1, "SSL:Connection");
+ if (ssl->state != LSEC_STATE_CONNECTED) {
+ lua_pushnil(L);
+ lua_pushstring(L, "closed");
+ return 2;
+ }
++#if !defined(OPENSSL_NO_COMP)
+ comp = SSL_get_current_compression(ssl->ssl);
+ if (comp)
+ lua_pushstring(L, SSL_COMP_get_name(comp));
+ else
+ lua_pushnil(L);
++#else
++ lua_pushnil(L);
++#endif
+ return 1;
+ }
+
+Only in luasec-0.5.1-fixed/src: ssl.c.orig
diff --git a/dev-lua/luasec/luasec-0.5.1.ebuild b/dev-lua/luasec/luasec-0.5.1.ebuild
new file mode 100644
index 000000000000..f8cdd3945dd0
--- /dev/null
+++ b/dev-lua/luasec/luasec-0.5.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib toolchain-funcs eutils
+
+DESCRIPTION="Lua binding for OpenSSL library to provide TLS/SSL communication"
+HOMEPAGE="https://github.com/brunoos/luasec http://www.inf.puc-rio.br/~brunoos/luasec/"
+SRC_URI="https://github.com/brunoos/luasec/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="libressl"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:0[deprecated]
+ dev-lua/luasocket
+ !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}-${P}
+
+src_prepare() {
+ sed -i -e "s#^LUAPATH.*#LUAPATH=$(pkg-config --variable INSTALL_LMOD lua)#"\
+ -e "s#^LUACPATH.*#LUACPATH=$(pkg-config --variable INSTALL_CMOD lua)#" Makefile || die
+ sed -i -e "s/-O2//" src/Makefile || die
+ lua src/options.lua -g /usr/include/openssl/ssl.h > src/options.h || die
+ epatch "${FILESDIR}/${PN}-0.5.1-compdefine.patch"
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ linux
+}
diff --git a/dev-lua/luasec/luasec-0.6.ebuild b/dev-lua/luasec/luasec-0.6.ebuild
new file mode 100644
index 000000000000..40f367fc02d4
--- /dev/null
+++ b/dev-lua/luasec/luasec-0.6.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib toolchain-funcs eutils
+
+DESCRIPTION="Lua binding for OpenSSL library to provide TLS/SSL communication"
+HOMEPAGE="https://github.com/brunoos/luasec http://www.inf.puc-rio.br/~brunoos/luasec/"
+SRC_URI="https://github.com/brunoos/luasec/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="libressl"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:0[deprecated]
+ dev-lua/luasocket
+ !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}-${P}
+
+src_prepare() {
+ sed -i -e "s/-O2//" src/Makefile || die
+ lua src/options.lua -g /usr/include/openssl/ssl.h > src/options.h || die
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ linux
+}
+
+src_install() {
+ emake \
+ LUAPATH="${D}/$(pkg-config --variable INSTALL_LMOD lua)" \
+ LUACPATH="${D}/$(pkg-config --variable INSTALL_CMOD lua)" \
+ install
+}
diff --git a/dev-lua/luasec/luasec-0.7.ebuild b/dev-lua/luasec/luasec-0.7.ebuild
new file mode 100644
index 000000000000..d6ddcf8c569f
--- /dev/null
+++ b/dev-lua/luasec/luasec-0.7.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Lua binding for OpenSSL library to provide TLS/SSL communication"
+HOMEPAGE="https://github.com/brunoos/luasec"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/brunoos/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/brunoos/luasec/archive/${P}.tar.gz"
+ KEYWORDS="amd64 arm x86"
+ S=${WORKDIR}/${PN}-${P}
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="libressl"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:0[deprecated]
+ dev-lua/luasocket
+ !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+ sed -i -e "s/-O2//" src/Makefile || die
+ lua src/options.lua -g /usr/include/openssl/ssl.h > src/options.h || die
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ linux
+}
+
+src_install() {
+ emake \
+ LUAPATH="${D}/$(pkg-config --variable INSTALL_LMOD lua)" \
+ LUACPATH="${D}/$(pkg-config --variable INSTALL_CMOD lua)" \
+ install
+}
diff --git a/dev-lua/luasec/luasec-9999.ebuild b/dev-lua/luasec/luasec-9999.ebuild
new file mode 100644
index 000000000000..df666e66d836
--- /dev/null
+++ b/dev-lua/luasec/luasec-9999.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Lua binding for OpenSSL library to provide TLS/SSL communication"
+HOMEPAGE="https://github.com/brunoos/luasec"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/brunoos/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/brunoos/luasec/archive/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+ S=${WORKDIR}/${PN}-${P}
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="libressl"
+
+RDEPEND="
+ >=dev-lang/lua-5.1:0[deprecated]
+ dev-lua/luasocket
+ !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+ sed -i -e "s/-O2//" src/Makefile || die
+ lua src/options.lua -g /usr/include/openssl/ssl.h > src/options.h || die
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ linux
+}
+
+src_install() {
+ emake \
+ LUAPATH="${D}/$(pkg-config --variable INSTALL_LMOD lua)" \
+ LUACPATH="${D}/$(pkg-config --variable INSTALL_CMOD lua)" \
+ install
+}
diff --git a/dev-lua/luasec/metadata.xml b/dev-lua/luasec/metadata.xml
new file mode 100644
index 000000000000..88627483a18a
--- /dev/null
+++ b/dev-lua/luasec/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">brunoos/luasec</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luasocket/Manifest b/dev-lua/luasocket/Manifest
new file mode 100644
index 000000000000..e050ea632440
--- /dev/null
+++ b/dev-lua/luasocket/Manifest
@@ -0,0 +1 @@
+DIST luasocket-3.0_rc1.tar.gz 328598 BLAKE2B 9cc382d909cfa018edec237ac901220cccb0cf0e3a775b9cd8083487ace42a94dfd280f9423097f677f37ee9f85afcfff844250cd49c0f813b7c50c3adc532c5 SHA512 f6efce259aaacaa11472911471f8a13b118fe009b8953a82c6aa18b9ec829cd1293180904e56935cb130d36d267e3f27c91db2d78e03f7488f3e100571ed0540
diff --git a/dev-lua/luasocket/files/proxy-fix.patch b/dev-lua/luasocket/files/proxy-fix.patch
new file mode 100644
index 000000000000..302e63663ff7
--- /dev/null
+++ b/dev-lua/luasocket/files/proxy-fix.patch
@@ -0,0 +1,31 @@
+From 1f9ccb2b586c3a7e29db3c99a23ac1cee6907cf2 Mon Sep 17 00:00:00 2001
+From: Pierre Chapuis <catwell@archlinux.us>
+Date: Fri, 5 Jul 2013 18:00:29 +0200
+Subject: [PATCH] http: look for PROXY in _M, not as a global
+
+---
+ src/http.lua | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/http.lua b/src/http.lua
+index 5f70a374..f83dcc55 100644
+--- a/src/http.lua
++++ b/src/http.lua
+@@ -186,7 +186,7 @@ end
+ local function adjusturi(reqt)
+ local u = reqt
+ -- if there is a proxy, we need the full url. otherwise, just a part.
+- if not reqt.proxy and not PROXY then
++ if not reqt.proxy and not _M.PROXY then
+ u = {
+ path = socket.try(reqt.path, "invalid path 'nil'"),
+ params = reqt.params,
+@@ -198,7 +198,7 @@ local function adjusturi(reqt)
+ end
+
+ local function adjustproxy(reqt)
+- local proxy = reqt.proxy or PROXY
++ local proxy = reqt.proxy or _M.PROXY
+ if proxy then
+ proxy = url.parse(proxy)
+ return proxy.host, proxy.port or 3128
diff --git a/dev-lua/luasocket/luasocket-3.0_rc1-r4.ebuild b/dev-lua/luasocket/luasocket-3.0_rc1-r4.ebuild
new file mode 100644
index 000000000000..445630ad79d5
--- /dev/null
+++ b/dev-lua/luasocket/luasocket-3.0_rc1-r4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib multilib-minimal flag-o-matic toolchain-funcs
+
+DESCRIPTION="Networking support library for the Lua language"
+HOMEPAGE="http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/"
+SRC_URI="https://github.com/diegonehab/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 hppa ~mips ppc ppc64 sparc x86"
+IUSE="debug"
+
+RDEPEND=">=dev-lang/lua-5.1.5-r2[deprecated,${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${PN}-${PV/_/-}
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/proxy-fix.patch
+)
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake \
+ CC="$(tc-getCC) ${CFLAGS}" \
+ LD="$(tc-getCC) ${LDFLAGS}"\
+ $(usex debug DEBUG="DEBUG" "")
+}
+
+multilib_src_install() {
+ local luav=$($(tc-getPKG_CONFIG) --variable V lua)
+ emake \
+ DESTDIR="${D}" \
+ LUAPREFIX_linux=/usr \
+ LUAV=${luav} \
+ CDIR_linux=$(get_libdir)/lua/${luav} \
+ install-unix
+}
+
+multilib_src_install_all() {
+ dodoc NEW README
+ docinto html
+ dodoc -r doc/.
+}
diff --git a/dev-lua/luasocket/metadata.xml b/dev-lua/luasocket/metadata.xml
new file mode 100644
index 000000000000..d09e90b16b9f
--- /dev/null
+++ b/dev-lua/luasocket/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">diegonehab/luasocket</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luassert/Manifest b/dev-lua/luassert/Manifest
new file mode 100644
index 000000000000..1ad020a3037f
--- /dev/null
+++ b/dev-lua/luassert/Manifest
@@ -0,0 +1,3 @@
+DIST luassert-1.7.10.tar.gz 35789 BLAKE2B c9aaca445272957a5d67d09700f6dc4c1c6c191d3ea274b97afe874f2f5ea1dfda051bd5674d33b9c040e55aed05f2c7baf01431d762223db57cd05b1c4a68a5 SHA512 2d5ca354b5f7b971f0d3420c305d921143cd7f9e1a6f4559cb466b833886a00a045e7b7c594bd9ec3c929b3d5bb8a7a4a6de75a6599e5cba7614b7652061bf05
+DIST luassert-1.7.9.tar.gz 34803 BLAKE2B bcaacff85ddd1c85b39241dbd2c7eef28f3697318e2a942521dd60eade5dfc9da9f0c69d570f5a9556b49609f1bb79250cec9ba39a98e4a65627d6479f9e2f2a SHA512 4e1257bf7adaa9002af7c6ac15f2d042c9094ceeae9ce065c51296c663a99fa239ac8d37f106151100478cde8c68d3290b42588553ac681d183e7edef288414b
+DIST luassert-1.8.0.tar.gz 38874 BLAKE2B ebc4aab1de5dc830d0b9266726ca6bf361e03000f3a8acd27c04805a6c963373755c8e163b187714f64178acc5d755c05493d745b55c785e3254dd41aa4bef31 SHA512 18b296fececa6b0d5950b2a20c4d30da3bbf9b0932c568bbb8ca212b5c82a1047b73c52ee72b4505a41a393d41dd21321189367e038dd029152d177e11bafc93
diff --git a/dev-lua/luassert/luassert-1.7.10.ebuild b/dev-lua/luassert/luassert-1.7.10.ebuild
new file mode 100644
index 000000000000..d12908c4448e
--- /dev/null
+++ b/dev-lua/luassert/luassert-1.7.10.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua Assertions Extension"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/luassert/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="luajit test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )"
+RDEPEND="${CDEPEND}
+ >=dev-lua/say-1.2_p1[luajit=]"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ test? ( dev-lua/busted )"
+
+DOCS=( CONTRIBUTING.md README.md )
+
+src_test() {
+ busted -o gtest || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"/${PN}
+ insinto "${instdir#${EPREFIX}}"
+ doins -r src/*
+ einstalldocs
+}
diff --git a/dev-lua/luassert/luassert-1.7.9.ebuild b/dev-lua/luassert/luassert-1.7.9.ebuild
new file mode 100644
index 000000000000..82b2bca8d3da
--- /dev/null
+++ b/dev-lua/luassert/luassert-1.7.9.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua Assertions Extension"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/luassert/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-lua/say-1.2_p1"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"/${PN}
+ doins -r src/*
+ dodoc *.md
+}
diff --git a/dev-lua/luassert/luassert-1.8.0.ebuild b/dev-lua/luassert/luassert-1.8.0.ebuild
new file mode 100644
index 000000000000..a0544d7aa066
--- /dev/null
+++ b/dev-lua/luassert/luassert-1.8.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua Assertions Extension"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/luassert/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="luajit test"
+RESTRICT="test" # Requires same version to be installed or busted will fail.
+
+RDEPEND="
+ >=dev-lua/say-1.3_p1[luajit(-)=]
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ dev-lua/busted
+ )
+"
+
+DEPEND="${RDEPEND}"
+
+src_test() {
+ busted -o gtest || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"/${PN}
+ insinto "${instdir#${EPREFIX}}"
+ doins -r src/*
+ local -a DOCS=( CONTRIBUTING.md LICENSE README.md )
+ einstalldocs
+}
diff --git a/dev-lua/luassert/metadata.xml b/dev-lua/luassert/metadata.xml
new file mode 100644
index 000000000000..d900590e16ce
--- /dev/null
+++ b/dev-lua/luassert/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ Adds a framework that allows registering new assertions
+ without compromising builtin assertion functionality.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Olivine-Labs/luassert</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luasystem/Manifest b/dev-lua/luasystem/Manifest
new file mode 100644
index 000000000000..eee4f695f364
--- /dev/null
+++ b/dev-lua/luasystem/Manifest
@@ -0,0 +1,2 @@
+DIST luasystem-0.2.0_p0.tar.gz 8058 BLAKE2B fd29eaec7fe2f49e933932a436be75678400fc55a275e412379e05ab5b9cfe2036dfc9e61f960caa29d3c4ab1d439f9ede7ff3cbe14a61287270cc3707660636 SHA512 b8c7ba30470cbf100cc3f14df31729778cfb0aabebe4d27ce42c19581a2585f878d86a29a2f73fd1bef4e5861e2a604d3c396a73f131fa99ae14a17cba52c336
+DIST luasystem-0.2.1_p0.tar.gz 8162 BLAKE2B ad8a6009823ad8202ff3884a3167d0779405c2a6be460b7ef2939622eb4d0fc8edbc6b04aba5dec9dd5e4e38f11ae0dcd582b9c348d5b516aa411858d55c6d71 SHA512 9dc323d4d1914cfa4f278a49ef22e58569d5cd7e369fa17fa6006cd47f9d90c6dfd4404067ea2436aa46a27cfbdf91e4aa26e20b89aeeefdf2aa7252c51fb32b
diff --git a/dev-lua/luasystem/files/luasystem-0.2.0_p0-fix-makefile.patch b/dev-lua/luasystem/files/luasystem-0.2.0_p0-fix-makefile.patch
new file mode 100644
index 000000000000..803d2835c37f
--- /dev/null
+++ b/dev-lua/luasystem/files/luasystem-0.2.0_p0-fix-makefile.patch
@@ -0,0 +1,33 @@
+diff --git a/src/Makefile b/src/Makefile
+index 10fc31a..af5e4e4 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -144,8 +144,8 @@ O_linux=o
+ CC_linux=gcc
+ DEF_linux=
+ CFLAGS_linux= -I$(LUAINC) $(DEF) -Wall -Wshadow -Wextra \
+- -Wimplicit -O2 -ggdb3 -fpic -fvisibility=hidden
+-LDFLAGS_linux=-lrt -O -shared -fpic -o
++ -Wimplicit -fpic -fvisibility=hidden
++LDFLAGS_linux=-lrt -shared -fpic -o
+ LD_linux=gcc
+
+ #------
+@@ -208,7 +208,7 @@ SOLIB=core.$(SO)
+ #
+ CC=$(CC_$(PLAT))
+ DEF=$(DEF_$(PLAT))
+-CFLAGS=$(MYCFLAGS) $(CFLAGS_$(PLAT))
++CFLAGS=$(CFLAGS_$(PLAT)) $(MYCFLAGS)
+ LDFLAGS=$(MYLDFLAGS) $(LDFLAGS_$(PLAT))
+ LD=$(LD_$(PLAT))
+ LUAINC= $(LUAINC_$(PLAT))
+@@ -248,7 +248,7 @@ none:
+ all: $(SOLIB)
+
+ $(SOLIB): $(OBJS)
+- $(LD) $(OBJS) $(LDFLAGS)$@
++ $(LD) $(OBJS) $(LDFLAGS) $@
+
+ install: all
+ $(INSTALL_DIR) $(INSTALL_TOP_LDIR)
diff --git a/dev-lua/luasystem/files/luasystem-0.2.1_p0-fix-makefile.patch b/dev-lua/luasystem/files/luasystem-0.2.1_p0-fix-makefile.patch
new file mode 100644
index 000000000000..373ef95c42fa
--- /dev/null
+++ b/dev-lua/luasystem/files/luasystem-0.2.1_p0-fix-makefile.patch
@@ -0,0 +1,33 @@
+diff --git a/src/Makefile b/src/Makefile
+index 10fc31a..af5e4e4 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -144,8 +144,8 @@ O_linux=o
+ CC_linux=gcc
+ DEF_linux=
+ CFLAGS_linux= -I$(LUAINC) $(DEF) -Wall -Wshadow -Wextra \
+- -Wimplicit -O2 -ggdb3 -fpic -fvisibility=hidden
+-LDFLAGS_linux=-lrt -O -shared -fpic -o
++ -Wimplicit -fpic -fvisibility=hidden
++LDFLAGS_linux=-lrt -shared -fpic -o
+ LD_linux=gcc
+
+ #------
+@@ -208,7 +208,7 @@ SOLIB=core.$(SO)
+ #
+ CC=$(CC_$(PLAT))
+ DEF=$(DEF_$(PLAT))
+-CFLAGS=$(MYCFLAGS) $(CFLAGS_$(PLAT))
++CFLAGS=$(CFLAGS_$(PLAT)) $(MYCFLAGS)
+ LDFLAGS=$(MYLDFLAGS) $(LDFLAGS_$(PLAT))
+ LD=$(LD_$(PLAT))
+ LUAINC= $(LUAINC_$(PLAT))
+@@ -248,7 +248,7 @@ none:
+ all: $(SOLIB)
+
+ $(SOLIB): $(OBJS)
+- $(LD) $(OBJS) $(LDFLAGS)$@
++ $(LD) $(OBJS) $(LDFLAGS) $@
+
+ install: all
+ $(INSTALL_DIR) $(INSTALL_TOP_LDIR)
diff --git a/dev-lua/luasystem/luasystem-0.2.0_p0.ebuild b/dev-lua/luasystem/luasystem-0.2.0_p0.ebuild
new file mode 100644
index 000000000000..3ae2a0e67ed4
--- /dev/null
+++ b/dev-lua/luasystem/luasystem-0.2.0_p0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+# The below is the upstream version number. The -x suffix should be kept
+# in sync with the _px suffix in the ebuild version.
+MY_PV="0.2.0-0"
+
+DESCRIPTION="platform independent system calls for lua"
+HOMEPAGE="https://github.com/LuaDist2/luasystem"
+SRC_URI="https://github.com/LuaDist2/luasystem/archive/${MY_PV}.tar.gz ->
+ ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-makefile.patch
+)
+
+src_compile() {
+ emake CC="$(tc-getCC)" MYCFLAGS="${CFLAGS}" \
+ LD="$(tc-getCC)" MYLDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r system
+ exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)"/system
+ doexe src/core.so
+dodoc README.md
+}
diff --git a/dev-lua/luasystem/luasystem-0.2.1_p0.ebuild b/dev-lua/luasystem/luasystem-0.2.1_p0.ebuild
new file mode 100644
index 000000000000..416161626135
--- /dev/null
+++ b/dev-lua/luasystem/luasystem-0.2.1_p0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+# The below is the upstream version number. The -x suffix should be kept
+# in sync with the _px suffix in the ebuild version.
+MY_PV="0.2.1-0"
+
+DESCRIPTION="platform independent system calls for lua"
+HOMEPAGE="https://github.com/LuaDist2/luasystem"
+SRC_URI="https://github.com/LuaDist2/luasystem/archive/${MY_PV}.tar.gz ->
+ ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="luajit test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ dev-lua/busted
+ )"
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-makefile.patch
+)
+
+src_test() {
+ busted -o gtest || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" MYCFLAGS="${CFLAGS}" \
+ LD="$(tc-getCC)" MYLDFLAGS="${LDFLAGS}"
+}
+
+src_install () {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r system
+ exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)"/system
+ doexe src/core.so
+ einstalldocs
+}
diff --git a/dev-lua/luasystem/metadata.xml b/dev-lua/luasystem/metadata.xml
new file mode 100644
index 000000000000..e95c199348ec
--- /dev/null
+++ b/dev-lua/luasystem/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ luasystem is a platform independent system call library for Lua.
+ Supports Lua >= 5.1 and luajit >= 2.0.0.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">LuaDist2/luasystem</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/lutok/Manifest b/dev-lua/lutok/Manifest
new file mode 100644
index 000000000000..3e5ea1851b45
--- /dev/null
+++ b/dev-lua/lutok/Manifest
@@ -0,0 +1 @@
+DIST lutok-0.4.tar.gz 489570 BLAKE2B b4bc26d9a4901901e6ca66a41bc42ccc2f82697ff14e64c1bea35b4a9ed08b6f13ecfa9aaabb54e25fb3e4f3aea03791c225c4c8fc6ed3e0387d34d933a228e9 SHA512 664f30099bfbb30978e24068a9232a4ff1b5b1839c601bf784f35f6bb1394558067495093a3b0343c94e756d2e4186a32a8227baf5934c15c45905f7c0a5d19c
diff --git a/dev-lua/lutok/lutok-0.4-r1.ebuild b/dev-lua/lutok/lutok-0.4-r1.ebuild
new file mode 100644
index 000000000000..1fcf61cf71a2
--- /dev/null
+++ b/dev-lua/lutok/lutok-0.4-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2017-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit ltprune
+
+DESCRIPTION="Lightweight C++ API library for Lua"
+HOMEPAGE="https://github.com/jmmv/lutok"
+SRC_URI="https://github.com/jmmv/lutok/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lang/lua:0
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-libs/atf
+ dev-util/kyua
+ )
+"
+
+src_configure() {
+ econf --disable-shared --enable-static
+}
+
+src_install() {
+ default
+ prune_libtool_files
+}
diff --git a/dev-lua/lutok/lutok-0.4-r2.ebuild b/dev-lua/lutok/lutok-0.4-r2.ebuild
new file mode 100644
index 000000000000..f908ca91e0ad
--- /dev/null
+++ b/dev-lua/lutok/lutok-0.4-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2017-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Lightweight C++ API library for Lua"
+HOMEPAGE="https://github.com/jmmv/lutok"
+SRC_URI="https://github.com/jmmv/lutok/releases/download/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lang/lua:0[static-libs(+)?]
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-libs/atf
+ dev-util/kyua
+ )
+"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ rm -rf "${ED}"/usr/tests || die
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-lua/lutok/metadata.xml b/dev-lua/lutok/metadata.xml
new file mode 100644
index 000000000000..5ba8dcf3a460
--- /dev/null
+++ b/dev-lua/lutok/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/luv/Manifest b/dev-lua/luv/Manifest
new file mode 100644
index 000000000000..291426571d2b
--- /dev/null
+++ b/dev-lua/luv/Manifest
@@ -0,0 +1,2 @@
+DIST luv-1.32.0.0.tar.gz 91349 BLAKE2B e4a90b3241e2fe650f62e34439ed75f9ba53168d6bd96b8685fc5600d6f9cbb1bb598a7d40d918ab9123cf4bad99f872a79d0664056d35caba52d1eda9046020 SHA512 7db52afc1ca79052e349be7a37deb67066ee9005f8d7f7d0dae62bd83a93b4140103ee6dddeca2e02a3fc37b3880a5c18904429886af1d441f8de0cfabf5bd8c
+DIST luv-lua-compat-0.7.tar.gz 51383 BLAKE2B ae86f314de971fcd7d8706009d59d684c035fb661ecf392c581a3c317cc1a396321ef7af0418d8f23151c52c66613a0749e8fa9ac889a183c2ffe749091dae35 SHA512 665ece98422a105b818cffd96eea5788696fbb854d2ba41d2d387e8bd25c1fa9de601468e55e22e9e749979a66d4d2e0f7dfd656e5bf27b489d37bb07c96f48d
diff --git a/dev-lua/luv/luv-1.32.0.0.ebuild b/dev-lua/luv/luv-1.32.0.0.ebuild
new file mode 100644
index 000000000000..3d5ee15c180b
--- /dev/null
+++ b/dev-lua/luv/luv-1.32.0.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake unpacker
+
+# e.g. MY_PV = a.b.c-d
+MY_PV="$(ver_rs 3 -)"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Bare libuv bindings for lua"
+HOMEPAGE="https://github.com/luvit/luv"
+
+LUA_COMPAT_PV="0.7"
+SRC_URI="
+ https://github.com/luvit/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/keplerproject/lua-compat-5.3/archive/v${LUA_COMPAT_PV}.tar.gz -> ${PN}-lua-compat-${LUA_COMPAT_PV}.tar.gz
+"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="luajit test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+DEPEND="
+ >=dev-libs/libuv-1.32.0:=
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( dev-lang/lua:0 )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ # Fix libdir
+ # Match '/lib/' and '/lib"' without capturing / or ", replacing with libdir
+ sed -i -r "s/\/lib(\"|\/)/\/$(get_libdir)\1/g" CMakeLists.txt || die "Failed to sed CMakeLists.txt"
+ cmake_src_prepare
+}
+
+src_configure() {
+ lua_compat_dir="${WORKDIR}/lua-compat-5.3-${LUA_COMPAT_PV}"
+ local mycmakeargs=(
+ -DBUILD_MODULE=OFF
+ -DLUA_BUILD_TYPE=System
+ -DLUA_COMPAT53_DIR="${lua_compat_dir}"
+ -DWITH_LUA_ENGINE=$(usex luajit LuaJIT Lua)
+ -DWITH_SHARED_LIBUV=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local elua="$(usex luajit luajit lua)"
+ # We need to copy the library back so that the tests see it
+ ln -s "${BUILD_DIR}/libluv.so" "./luv.so" || die "Failed to symlink library for tests"
+ ${elua} "tests/run.lua" || die "Tests failed"
+}
diff --git a/dev-lua/luv/metadata.xml b/dev-lua/luv/metadata.xml
new file mode 100644
index 000000000000..cb7650f94732
--- /dev/null
+++ b/dev-lua/luv/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
+ libuv bindings for luajit and lua 5.1/ 5.2/ 5.3.
+
+ This library makes libuv available to lua scripts. It was made for the
+ luvit project but should usable from nearly any lua project.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">luvit/luv</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/mediator_lua/Manifest b/dev-lua/mediator_lua/Manifest
new file mode 100644
index 000000000000..fc3adf6ff615
--- /dev/null
+++ b/dev-lua/mediator_lua/Manifest
@@ -0,0 +1 @@
+DIST mediator_lua-1.1.2_p0.tar.gz 5809 BLAKE2B a14cbe043cef72cdff35f92c5e6e420e94ab9930235ef71c31749f6371ef3a9a55c104ebe0a82ad86a95ddb5913ebe69f600e16393b6c5ff532802ace7bd7597 SHA512 116d08a96fa0bd540ac4d3cac61a529a634cba3621c6f2e917b405462bbc0e2ab5b170dc6819e470105cdedf958a382945819eaff4affa63bc057824c163c8a0
diff --git a/dev-lua/mediator_lua/mediator_lua-1.1.2_p0.ebuild b/dev-lua/mediator_lua/mediator_lua-1.1.2_p0.ebuild
new file mode 100644
index 000000000000..4e8abcb12deb
--- /dev/null
+++ b/dev-lua/mediator_lua/mediator_lua-1.1.2_p0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+# Below is the upstream version number. The"-0" suffix should be kept in
+# sync with the _p0 suffix of the ebuild version.
+MY_PV=1.1.2-0
+
+DESCRIPTION="Event handling through channels"
+HOMEPAGE="http://olivinelabs.com/mediator_lua/",
+SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins src/mediator.lua
+ dodoc README.md
+}
diff --git a/dev-lua/mediator_lua/metadata.xml b/dev-lua/mediator_lua/metadata.xml
new file mode 100644
index 000000000000..1a278a01eaf1
--- /dev/null
+++ b/dev-lua/mediator_lua/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ mediator_lua allows you to subscribe and publish to a central object so
+ you can decouple function calls in your application. It's as simple as
+ mediator:subscribe("channel", function). Supports namespacing, predicates,
+ and more.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Olivine-Labs/mediator_lua</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/messagepack/Manifest b/dev-lua/messagepack/Manifest
new file mode 100644
index 000000000000..ea14bdd8c5cb
--- /dev/null
+++ b/dev-lua/messagepack/Manifest
@@ -0,0 +1 @@
+DIST lua-messagepack-0.3.2.tar.xz 13416 BLAKE2B 03d80c3a1fc8d8bfa30821f3b83ead61bc0a8ccf565d9ac17ca0b1d97ac7c72d0550695ee13feb6ff38cd8098fa331c3acaf4b52c0f95bfc3141b70a655ba9df SHA512 d5b0193f157ea5ce4df6fa54fab3662c279bdf03679ba4e5f9d4341875c66c4a96a5f11fd68e06a92fe2c47681584708dc79b9a9337356391c41f4de76c6ddcd
diff --git a/dev-lua/messagepack/messagepack-0.3.2.ebuild b/dev-lua/messagepack/messagepack-0.3.2.ebuild
new file mode 100644
index 000000000000..db4b06987448
--- /dev/null
+++ b/dev-lua/messagepack/messagepack-0.3.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit toolchain-funcs
+
+DESCRIPTION="A pure Lua implementation of the MessagePack serialization format"
+HOMEPAGE="http://fperrad.github.io/lua-MessagePack/"
+SRC_URI="https://dev.gentoo.org/~yngwin/distfiles/lua-${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+luajit"
+
+RDEPEND="luajit? ( dev-lang/luajit:2 )
+ !luajit? ( dev-lang/lua:= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_install() {
+ local lua=lua
+ use luajit && lua=luajit
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
+ doins src/MessagePack.lua
+ dodoc CHANGES README.md
+}
diff --git a/dev-lua/messagepack/metadata.xml b/dev-lua/messagepack/metadata.xml
new file mode 100644
index 000000000000..3d4429370ed8
--- /dev/null
+++ b/dev-lua/messagepack/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/metadata.xml b/dev-lua/metadata.xml
new file mode 100644
index 000000000000..e7b1e1bc01de
--- /dev/null
+++ b/dev-lua/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-lua category contains libraries, utilities or
+ bindings written in or for the Lua programming language.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-lua enthält Bibliotheken und Werkzeuge für die
+ Programmiersprache Lua.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-lua contiene librerias y utilidades referentes al
+ lenguaje de programación Lua.
+ </longdescription>
+ <longdescription lang="nl">
+ De dev-lua categorie bevat bibliotheken en hulpmiddelen voor het
+ gebruik van de programmeertaal Lua.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm dev-lua chứa các thư viện và tiện ích liên quan
+ đến ngôn ngữ lập trình Lua.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria dev-lua contiene librerie ed utilità per il linguaggio
+ di programmazione Lua.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria dev-lua contém bibliotecas, utilitários e
+ bindings escritos em ou para a linguagem de programação Lua.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-lua zawiera biblioteki, narzędzia i powiązania
+ (bindings) napisane w lub stworzone do pisania w języku programowania
+ Lua.
+ </longdescription>
+</catmetadata>
+
diff --git a/dev-lua/mpack/Manifest b/dev-lua/mpack/Manifest
new file mode 100644
index 000000000000..34119b47d3b1
--- /dev/null
+++ b/dev-lua/mpack/Manifest
@@ -0,0 +1 @@
+DIST mpack-1.0.4.tar.gz 46382 BLAKE2B 5092830e1a970ad96686ede4d96833a210543418cb23f218ba774bfd724267344f9e44e367490bb33dae8023e1145202ea6e457be7753a426eae990df906547d SHA512 8e40a562faf8b62137dec0733cbb9006fa7054e5a47bdd128fb4dfd676fac4e4385a23c3d908a4ce2edd65d673db25916695fa74bc08c5316b0c80e571a7442c
diff --git a/dev-lua/mpack/metadata.xml b/dev-lua/mpack/metadata.xml
new file mode 100644
index 000000000000..b71cfd240b16
--- /dev/null
+++ b/dev-lua/mpack/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">tarruda/libmpack</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/mpack/mpack-1.0.4.ebuild b/dev-lua/mpack/mpack-1.0.4.ebuild
new file mode 100644
index 000000000000..06fdd92124c3
--- /dev/null
+++ b/dev-lua/mpack/mpack-1.0.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua bindings for libmpack"
+HOMEPAGE="https://github.com/tarruda/libmpack/"
+SRC_URI="https://github.com/tarruda/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/libmpack-${PV}/binding/lua"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="luajit test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2= )"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-lua/busted )"
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ USE_SYSTEM_LUA=yes \
+ LUA_INCLUDE="$($(tc-getPKG_CONFIG) --cflags $(usex luajit 'luajit' 'lua'))" \
+ LUA_LIB="$($(tc-getPKG_CONFIG) --libs $(usex luajit 'luajit' 'lua'))"
+}
+
+src_test() {
+ busted -o gtest test.lua || die
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ USE_SYSTEM_LUA=yes \
+ LUA_CMOD_INSTALLDIR="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD $(usex luajit 'luajit' 'lua'))" \
+ install
+}
diff --git a/dev-lua/penlight/Manifest b/dev-lua/penlight/Manifest
new file mode 100644
index 000000000000..d348b03ca142
--- /dev/null
+++ b/dev-lua/penlight/Manifest
@@ -0,0 +1,3 @@
+DIST penlight-1.3.2-core.zip 116854 BLAKE2B c653a51cf8ea286c849e1a2c68968ed767c350b1461dd11d9a2e99c81295461c67044175c7bf99c31e8040118e6cfce85f8613d4b6c49e726d31393029abcbbf SHA512 01ba35e967e255f6f39afff9c2238f4921de9e52850ce0d2ec0c9068029fc61a241c82bede680a28fda46c4504582784fcd2241a2eef0bef95c7c389c4042d02
+DIST penlight-1.5.4.tar.gz 213938 BLAKE2B c6bba4fd7fc491d2e6ca464f71b897ba4b5dc8dc94e7340fd77d3add47a9b4a72ce48cea268f94fe55c2aef1edd850f96f00f2ba1ef7186e1e8d86a4e3155366 SHA512 c46e7875410a90390bfbf010a53f1d536475e2094668722618d03951caad0fcb0674c9bc7119a0753e4ed3df9e4d70fef828ba4c6c24e8ada4036948d2432519
+DIST penlight-1.7.0.tar.gz 384917 BLAKE2B 153660f5029509611265399aad8b92d82b266ac470414c06e9d7f01b37225834f98488f30f9bbdfdc3a6714edfe2edc0fccd0356ebb966d964be633bff38eb25 SHA512 edeb09307c9feb5da6bccd82216a6ad71db988c433245d72d28abb6c555004f77eebba556928b0912937b29ef93e065ad491368041e17730610813de8e595d7d
diff --git a/dev-lua/penlight/metadata.xml b/dev-lua/penlight/metadata.xml
new file mode 100644
index 000000000000..4ddf99c5f8a0
--- /dev/null
+++ b/dev-lua/penlight/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ Penlight is a set of pure Lua libraries for making it easier to work
+ with common tasks like iterating over directories, reading
+ configuration files and the like. Provides functional operations
+ on tables and sequences.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Tieske/Penlight</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/penlight/penlight-1.3.2.ebuild b/dev-lua/penlight/penlight-1.3.2.ebuild
new file mode 100644
index 000000000000..3c04e0e5285d
--- /dev/null
+++ b/dev-lua/penlight/penlight-1.3.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua utility libraries loosely based on the Python standard libraries"
+HOMEPAGE="http://stevedonovan.github.com/Penlight",
+SRC_URI="http://stevedonovan.github.io/files/${PN}-1.3.2-core.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+app-arch/unzip
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}
+ dev-lua/luafilesystem"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r lua/pl
+}
diff --git a/dev-lua/penlight/penlight-1.5.4.ebuild b/dev-lua/penlight/penlight-1.5.4.ebuild
new file mode 100644
index 000000000000..4b6e900613f6
--- /dev/null
+++ b/dev-lua/penlight/penlight-1.5.4.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua utility libraries loosely based on the Python standard libraries"
+HOMEPAGE="http://stevedonovan.github.com/Penlight",
+SRC_URI="https://github.com/Tieske/Penlight/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE=""
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND=">=dev-lang/lua-5.1:=
+ dev-lua/luafilesystem"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN//penlight/Penlight}-${PV}"
+
+src_install() {
+ local -a DOCS=( README.md CHANGES.md LICENSE.md CONTRIBUTING.md )
+ einstalldocs
+
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r lua/pl
+}
diff --git a/dev-lua/penlight/penlight-1.7.0.ebuild b/dev-lua/penlight/penlight-1.7.0.ebuild
new file mode 100644
index 000000000000..1036bea9323e
--- /dev/null
+++ b/dev-lua/penlight/penlight-1.7.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua utility libraries loosely based on the Python standard libraries"
+HOMEPAGE="https://github.com/Tieske/Penlight",
+SRC_URI="https://github.com/Tieske/Penlight/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE=""
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND=">=dev-lang/lua-5.1:=
+ dev-lua/luafilesystem"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN//penlight/Penlight}-${PV}"
+
+src_install() {
+ local -a DOCS=( README.md CHANGELOG.md LICENSE.md CONTRIBUTING.md )
+ einstalldocs
+
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"
+ doins -r lua/pl
+}
diff --git a/dev-lua/say/Manifest b/dev-lua/say/Manifest
new file mode 100644
index 000000000000..c196908b1e38
--- /dev/null
+++ b/dev-lua/say/Manifest
@@ -0,0 +1 @@
+DIST say-1.3_p1.tar.gz 3667 BLAKE2B bd99687a71129c5038749b0a2ea48411a411cf05559793cc0c4802a5b7aa620fbf4fd15ed9ab661b33c7b9f94468aaf9e292d177aca4d1c7cd29009601d015f0 SHA512 8d4a360bf0731c2a70c23edb9e6e81cab1e7d9b861aa35103a5c6e521633410860d76c46dc2ea62a06ac8ab3b522bc71c11143d6fe7e26e7fa24dd3f5ea1e5f6
diff --git a/dev-lua/say/metadata.xml b/dev-lua/say/metadata.xml
new file mode 100644
index 000000000000..1f34f7d2565c
--- /dev/null
+++ b/dev-lua/say/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <longdescription lang="en">
+ Useful for internationalization.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Olivine-Labs/say</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/say/say-1.3_p1-r1.ebuild b/dev-lua/say/say-1.3_p1-r1.ebuild
new file mode 100644
index 000000000000..92eab17267b8
--- /dev/null
+++ b/dev-lua/say/say-1.3_p1-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+MY_PV=1.3-1
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua String Hashing/Indexing Library"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="luajit test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !luajit? ( >=dev-lang/lua-5.1:= )
+ luajit? ( dev-lang/luajit:2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-lua/busted )"
+
+DOCS=( CONTRIBUTING.md README.md )
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_test() {
+ busted -o gtest || die
+}
+
+src_install() {
+ local instdir
+ instdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD $(usex luajit 'luajit' 'lua'))"/${PN}
+ insinto "${instdir#${EPREFIX}}"
+ doins src/init.lua
+ einstalldocs
+}
diff --git a/dev-lua/say/say-1.3_p1.ebuild b/dev-lua/say/say-1.3_p1.ebuild
new file mode 100644
index 000000000000..edf21e39b467
--- /dev/null
+++ b/dev-lua/say/say-1.3_p1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+MY_PV=1.3-1
+
+inherit toolchain-funcs
+
+DESCRIPTION="Lua String Hashing/Indexing Library"
+HOMEPAGE="http://olivinelabs.com/busted/"
+SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+COMMON_DEPEND=">=dev-lang/lua-5.1:="
+DEPEND="${COMMON_DEPEND}
+virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_install() {
+ insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)"/${PN}
+doins src/init.lua
+dodoc CONTRIBUTING.md README.md
+}
diff --git a/dev-lua/toluapp/Manifest b/dev-lua/toluapp/Manifest
new file mode 100644
index 000000000000..cba0b0ff55d1
--- /dev/null
+++ b/dev-lua/toluapp/Manifest
@@ -0,0 +1 @@
+DIST toluapp-1.0.93_p20190513.tar.gz 248043 BLAKE2B 08db9f86f224c95532ede354d93317680beeacb7ab8c0e41ddd8ed785a682ab4a3664265d10fae7d36fab33864442fcb403985176a9c01797e29c72708500968 SHA512 5750f9d4bbb39832650ac6874c2933f4ed3ff5f6a40a2345ab795f6fea841ccdbc93cd1fee53ffc93db3cee43bfdb367fa1ec19cf0cd1f75edf6bdb8ee269442
diff --git a/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch
new file mode 100644
index 000000000000..b8f1cd3759ff
--- /dev/null
+++ b/dev-lua/toluapp/files/toluapp-1.0.93_p20190513-fix-multilib.patch
@@ -0,0 +1,38 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,7 +6,7 @@
+
+ project ( toluapp C )
+ cmake_minimum_required ( VERSION 2.8 )
+-include ( cmake/dist.cmake )
++include ( GNUInstallDirs )
+
+ find_package ( Lua REQUIRED )
+ include_directories ( include src/lib ${LUA_INCLUDE_DIR} )
+@@ -19,7 +19,7 @@
+
+ add_library ( toluapp_lib ${SRC_LIBTOLUAPP} ${DEF_FILE} )
+ target_link_libraries ( toluapp_lib ${LUA_LIBRARIES} )
+-set_target_properties ( toluapp_lib PROPERTIES OUTPUT_NAME toluapp CLEAN_DIRECT_OUTPUT
++set_target_properties ( toluapp_lib PROPERTIES OUTPUT_NAME tolua++ CLEAN_DIRECT_OUTPUT
+ 1 )
+
+ # Build app
+@@ -27,10 +27,12 @@
+ set ( SRC_TOLUA src/bin/tolua.c src/bin/toluabind.c )
+ add_executable ( toluapp ${SRC_TOLUA} )
+ target_link_libraries ( toluapp toluapp_lib ${LUA_LIBRARIES} )
++set_target_properties ( toluapp PROPERTIES OUTPUT_NAME tolua++ )
+
+ # Install
+-install_library ( toluapp_lib )
+-install_executable ( toluapp )
+-install_header ( include/ )
+-install_data ( README INSTALL )
+-install_doc ( doc/ )
++install( TARGETS toluapp_lib DESTINATION ${CMAKE_INSTALL_LIBDIR} )
++install( TARGETS toluapp DESTINATION ${CMAKE_INSTALL_BINDIR} )
++install( DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
++install( FILES README DESTINATION ${CMAKE_INSTALL_DOCDIR} )
++install( DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR}/html )
++install( DIRECTORY src/bin/lua/ DESTINATION ${CMAKE_INSTALL_DATADIR}/toluapp/luapp )
diff --git a/dev-lua/toluapp/metadata.xml b/dev-lua/toluapp/metadata.xml
new file mode 100644
index 000000000000..c99320e026bb
--- /dev/null
+++ b/dev-lua/toluapp/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild b/dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild
new file mode 100644
index 000000000000..2c610c14b1af
--- /dev/null
+++ b/dev-lua/toluapp/toluapp-1.0.93_p20190513-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+MY_PN=${PN/pp/++}
+COMMIT_ID="b34075b76835b778bb6b2ce0aa224afd9d182887"
+
+DESCRIPTION="A tool to integrate C/C++ code with Lua"
+HOMEPAGE="https://github.com/LuaDist/toluapp"
+SRC_URI="https://github.com/LuaDist/toluapp/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ppc ppc64 sparc x86"
+IUSE=""
+
+RDEPEND="=dev-lang/lua-5.1*:=[deprecated]"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-${COMMIT_ID}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.93_p20190513-fix-multilib.patch
+)
+CMAKE_REMOVE_MODULES_LIST="dist.cmake lua.cmake FindLua.cmake"