commit:     d6df0b7f32f667eb1f8d053a8edd8c1f6386df96
Author:     Vadim A. Misbakh-Soloviov <git <AT> mva <DOT> name>
AuthorDate: Sat Apr  4 15:39:11 2015 +0000
Commit:     Vadim A. Misbakh-Soloviov <mva <AT> mva <DOT> name>
CommitDate: Sat Apr  4 15:39:11 2015 +0000
URL:        https://gitweb.gentoo.org/proj/lua.git/commit/?id=d6df0b7f

[*/*] LuaJITify

Signed-off-by: Vadim A. Misbakh-Soloviov <git <AT> mva.name>

 app-eselect/eselect-lua/eselect-lua-2.ebuild       |  5 +-
 app-eselect/eselect-luajit/eselect-luajit-1.ebuild |  5 +-
 dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild             | 10 ++--
 dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild         |  7 ++-
 dev-lua/ansicolors/ansicolors-9999.ebuild          |  7 ++-
 dev-lua/cmsgpack/cmsgpack-9999.ebuild              |  7 +--
 dev-lua/cosmo/cosmo-9999.ebuild                    | 49 +++++++++++------
 dev-lua/coxpcall/coxpcall-9999.ebuild              |  2 +-
 dev-lua/iluajit/iluajit-9999.ebuild                | 10 ++--
 dev-lua/lahttp/lahttp-9999.ebuild                  | 12 +++--
 dev-lua/lapis/lapis-9999.ebuild                    |  5 +-
 dev-lua/ldoc/ldoc-9999.ebuild                      |  5 +-
 dev-lua/linotify/linotify-9999.ebuild              | 15 +++---
 dev-lua/ljsyscall/ljsyscall-9999.ebuild            |  2 +-
 dev-lua/lpc/lpc-9999.ebuild                        |  2 +-
 dev-lua/lpeg/lpeg-0.12.ebuild                      |  3 +-
 dev-lua/lsysstats/lsysstats-9999.ebuild            | 14 +++--
 dev-lua/lua-cjson/lua-cjson-9999.ebuild            |  3 +-
 dev-lua/lua-csv/lua-csv-9999.ebuild                |  3 +-
 dev-lua/lua-curl/lua-curl-9999.ebuild              |  7 +--
 dev-lua/lua-fann/Manifest                          |  3 +-
 dev-lua/lua-fann/lua-fann-0.3.ebuild               | 44 ----------------
 .../{lua-fann-0.2.ebuild => lua-fann-0.4.ebuild}   | 25 +++++----
 dev-lua/lua-fann/lua-fann-9999.ebuild              | 15 ++++--
 dev-lua/lua-fastcgi/lua-fastcgi-9999.ebuild        | 11 ++--
 dev-lua/lua-feeds/lua-feeds-9999.ebuild            |  7 +--
 dev-lua/lua-gd/lua-gd-2.0.33.2.ebuild              |  9 ++--
 dev-lua/lua-gd/lua-gd-9999.ebuild                  | 12 +++--
 dev-lua/lua-geoip/lua-geoip-9999.ebuild            | 19 ++++---
 dev-lua/lua-getopt/lua-getopt-9999.ebuild          |  5 +-
 dev-lua/lua-iconv/lua-iconv-9999.ebuild            | 12 +++--
 dev-lua/lua-sendmail/lua-sendmail-9999.ebuild      |  5 +-
 dev-lua/lua-stdlib/lua-stdlib-9999.ebuild          |  3 +-
 dev-lua/lua-zip/lua-zip-9999.ebuild                | 17 +++---
 dev-lua/lua-zlib/lua-zlib-9999.ebuild              |  7 ++-
 dev-lua/lua2html/lua2html-9999.ebuild              | 20 +++++--
 dev-lua/luacrypto/luacrypto-9999.ebuild            |  5 +-
 dev-lua/luadbi/luadbi-9999.ebuild                  | 12 +++--
 dev-lua/luadoc/luadoc-3.0.1.ebuild                 | 34 ++++++------
 dev-lua/luaevent/luaevent-9999.ebuild              | 12 +++--
 dev-lua/luaexpat/luaexpat-9999.ebuild              |  4 +-
 dev-lua/luafilesystem/luafilesystem-9999.ebuild    |  6 +--
 dev-lua/lualdap/lualdap-9999.ebuild                |  4 +-
 dev-lua/luamacro/luamacro-9999.ebuild              |  5 +-
 dev-lua/luamongo/luamongo-9999.ebuild              |  5 +-
 dev-lua/luancurses/luancurses-9999.ebuild          | 10 ++--
 dev-lua/luaposix/luaposix-9999.ebuild              | 20 +------
 dev-lua/luarocks/luarocks-9999.ebuild              | 13 +++--
 dev-lua/luasec/luasec-9999.ebuild                  |  5 +-
 dev-lua/luasignal/luasignal-9999.ebuild            | 10 ++--
 dev-lua/luasocket/luasocket-9999.ebuild            |  8 +--
 dev-lua/luaunbound/luaunbound-9999.ebuild          |  5 +-
 dev-lua/luaxml/luaxml-9999.ebuild                  |  5 +-
 dev-lua/luazip/luazip-9999.ebuild                  | 24 +++++----
 dev-lua/lullaby/lullaby-9999.ebuild                |  7 ++-
 dev-lua/lulpeg/lulpeg-9999.ebuild                  |  3 +-
 dev-lua/lyaml/lyaml-9999.ebuild                    |  5 +-
 dev-lua/messagepack/messagepack-9999.ebuild        | 17 ++----
 dev-lua/moonscript/moonscript-9999.ebuild          |  5 +-
 dev-lua/orbit/orbit-9999.ebuild                    | 52 ++++++++++--------
 dev-lua/penlight/penlight-9999.ebuild              |  7 +--
 dev-lua/profi/profi-12.ebuild                      |  7 +--
 dev-lua/rds-parser/rds-parser-9999.ebuild          |  7 ++-
 dev-lua/redis-parser/redis-parser-9999.ebuild      |  5 +-
 dev-lua/resty-cookie/resty-cookie-9999.ebuild      |  5 +-
 dev-lua/resty-core/resty-core-9999.ebuild          |  4 +-
 dev-lua/resty-dns/resty-dns-9999.ebuild            |  7 ++-
 dev-lua/resty-lock/resty-lock-9999.ebuild          |  4 +-
 dev-lua/resty-lrucache/resty-lrucache-9999.ebuild  |  5 +-
 .../resty-memcached/resty-memcached-9999.ebuild    |  5 +-
 dev-lua/resty-mysql/resty-mysql-9999.ebuild        |  5 +-
 dev-lua/resty-random/resty-random-9999.ebuild      |  4 +-
 dev-lua/resty-redis/resty-redis-9999.ebuild        |  7 ++-
 dev-lua/resty-session/resty-session-9999.ebuild    |  4 +-
 dev-lua/resty-string/resty-string-9999.ebuild      |  4 +-
 dev-lua/resty-template/resty-template-9999.ebuild  |  5 +-
 dev-lua/resty-upload/resty-upload-9999.ebuild      |  5 +-
 .../resty-upstream-healthcheck-9999.ebuild         |  2 +-
 .../resty-websocket/resty-websocket-9999.ebuild    |  5 +-
 dev-lua/rings/rings-9999.ebuild                    |  3 +-
 dev-lua/specl/specl-9999.ebuild                    |  5 +-
 dev-lua/squish/squish-9999.ebuild                  |  4 +-
 dev-lua/toluapp/toluapp-1.0.93.ebuild              |  6 ++-
 dev-lua/verse/verse-9999.ebuild                    | 13 ++---
 dev-lua/wsapi/wsapi-9999.ebuild                    | 61 ++++++++++++----------
 dev-lua/yubikey-lua/yubikey-lua-9999.ebuild        |  2 +-
 games-engines/love/Manifest                        |  2 +-
 .../love/{love-0.7.2.ebuild => love-0.9.2.ebuild}  | 14 +++--
 games-engines/love/love-9999.ebuild                | 14 +++--
 net-im/clix/clix-9999.ebuild                       |  2 +-
 net-im/prosody-modules/prosody-modules-9999.ebuild | 12 +----
 net-im/prosody/Manifest                            |  2 +-
 .../{prosody-0.9.7.ebuild => prosody-0.9.8.ebuild} |  3 +-
 net-im/prosody/prosody-9999.ebuild                 | 15 +-----
 virtual/lua/lua-5.ebuild                           | 27 +++++++++-
 95 files changed, 467 insertions(+), 478 deletions(-)

diff --git a/app-eselect/eselect-lua/eselect-lua-2.ebuild 
b/app-eselect/eselect-lua/eselect-lua-2.ebuild
index bb9df1e..0fe1155 100644
--- a/app-eselect/eselect-lua/eselect-lua-2.ebuild
+++ b/app-eselect/eselect-lua/eselect-lua-2.ebuild
@@ -12,7 +12,10 @@ SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc 
~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux 
~ppc-macos ~x64-macos ~x86-macos"
 IUSE=""
 
-DEPEND=">=app-admin/eselect-1.2.4"
+DEPEND="
+       !!dev-lang/lua:0
+       >=app-admin/eselect-1.2.4
+"
 RDEPEND="${DEPEND}"
 
 S="${WORKDIR}"

diff --git a/app-eselect/eselect-luajit/eselect-luajit-1.ebuild 
b/app-eselect/eselect-luajit/eselect-luajit-1.ebuild
index 2578bd0..2d4e804 100644
--- a/app-eselect/eselect-luajit/eselect-luajit-1.ebuild
+++ b/app-eselect/eselect-luajit/eselect-luajit-1.ebuild
@@ -13,7 +13,10 @@ SLOT="0"
 KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux 
~x86-linux ~sparc-solaris ~x86-solaris"
 IUSE=""
 
-RDEPEND=">=app-admin/eselect-1.2.3"
+RDEPEND="
+       !!dev-lang/luajit:2
+       >=app-admin/eselect-1.2.3
+"
 
 S="${WORKDIR}"
 

diff --git a/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild 
b/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
index e3f5c75..8f4faad 100644
--- a/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
+++ b/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
@@ -3,7 +3,7 @@
 # $Header: This ebuild is from Lua overlay; Bumped by mva; $
 
 EAPI="5"
-inherit eutils multilib
+inherit eutils multilib toolchain-funcs
 
 DESCRIPTION="Bit Operations Library for the Lua Programming Language"
 HOMEPAGE="http://bitop.luajit.org";
@@ -12,9 +12,9 @@ SRC_URI="http://bitop.luajit.org/download/${P}.tar.gz";
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="luajit"
 
-DEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
+DEPEND="virtual/lua[luajit=]"
 RDEPEND="${DEPEND}"
 
 src_prepare() {
@@ -33,7 +33,9 @@ src_test() {
 }
 
 src_install() {
-       exeinto /usr/$(get_libdir)/lua/5.1
+       local lua=lua
+       use luajit && lua=luajit
+       exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})"
        doexe bit.so
        dohtml -r doc/*
 }

diff --git a/dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild 
b/dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild
index 46d58ce..f1bf451 100644
--- a/dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild
+++ b/dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild
@@ -16,12 +16,11 @@ KEYWORDS="x86 amd64"
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 DOCS=( "README" )
@@ -42,4 +41,4 @@ src_install() {
        dobin alt_getopt
 
        base_src_install_docs
-}
\ No newline at end of file
+}

diff --git a/dev-lua/ansicolors/ansicolors-9999.ebuild 
b/dev-lua/ansicolors/ansicolors-9999.ebuild
index c7edf34..e79aa3f 100644
--- a/dev-lua/ansicolors/ansicolors-9999.ebuild
+++ b/dev-lua/ansicolors/ansicolors-9999.ebuild
@@ -18,12 +18,11 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 HTML_DOCS=( "README.textile" )
@@ -36,4 +35,4 @@ src_install() {
        doins -r ansicolors.lua
 
        base_src_install_docs
-}
\ No newline at end of file
+}

diff --git a/dev-lua/cmsgpack/cmsgpack-9999.ebuild 
b/dev-lua/cmsgpack/cmsgpack-9999.ebuild
index 9d62510..b44942b 100644
--- a/dev-lua/cmsgpack/cmsgpack-9999.ebuild
+++ b/dev-lua/cmsgpack/cmsgpack-9999.ebuild
@@ -20,13 +20,14 @@ SLOT="0"
 IUSE="luajit test"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}"
 
 src_compile() {
-       use luajit && CFLAGS="${CFLAGS} -I$($(tc-getPKG_CONFIG) --variable 
includedir luajit)"
+       local lua="lua";
+       use luajit && lua="luajit";
+       export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags ${lua})"
        $(tc-getCC) -fPIC ${CFLAGS} -c -o ${MY_PN}.o ${MY_PN}.c || die
        $(tc-getCC) ${LDFLAGS} -shared -o ${PN}.so ${MY_PN}.o || die
 }

diff --git a/dev-lua/cosmo/cosmo-9999.ebuild b/dev-lua/cosmo/cosmo-9999.ebuild
index 7fee05a..6b85277 100644
--- a/dev-lua/cosmo/cosmo-9999.ebuild
+++ b/dev-lua/cosmo/cosmo-9999.ebuild
@@ -4,37 +4,52 @@
 
 EAPI="5"
 
-inherit multilib eutils git-r3
+inherit multilib eutils git-r3 toolchain-funcs
 
 DESCRIPTION="safe-template engine for lua"
 HOMEPAGE="https://github.com/mascarenhas/cosmo";
 SRC_URI=""
 
-EGIT_REPO_URI="git://github.com/msva/cosmo.git 
https://github.com/msva/cosmo.git";
+EGIT_REPO_URI="https://github.com/msva/cosmo.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="doc luajit"
 
-RDEPEND=" || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
-DEPEND="${RDEPEND}"
+RDEPEND="
+       virtual/lua[luajit=]
+       || (
+               dev-lua/lpeg
+               dev-lua/lulpeg[lpeg-compat]
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
+
+src_prepare() {
+    local lua=lua
+    use luajit && lua=luajit
+    echo "
+        LUA_DIR=$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})
+        DESTDIR=${ED}
+    " > "${S}/config"
+}
 
 src_configure() {
-       local lua=lua;
-       use luajit && lua=luajit;
-       ./configure "${lua}"
+    :
 }
 
 src_install() {
-       docompress -x /usr/share/doc
-       emake DESTDIR="${D}" install || die "Can't install Cosmo"
-        use doc && (
-                insinto /usr/share/doc/${PF}/examples
-                doins -r samples/*
-                insinto /usr/share/doc/${PF}
-                doins -r doc/*
-        )
-
-#emake DESTDIR="${D}" PREFIX="/usr/share/doc/${P}" install-doc install-samples
+    docompress -x /usr/share/doc
+    default
+    use doc && (
+        insinto /usr/share/doc/${PF}/examples
+        doins -r samples/*
+        insinto /usr/share/doc/${PF}
+        doins -r doc/*
+    )
 }
+

diff --git a/dev-lua/coxpcall/coxpcall-9999.ebuild 
b/dev-lua/coxpcall/coxpcall-9999.ebuild
index 08221b9..3d05e24 100644
--- a/dev-lua/coxpcall/coxpcall-9999.ebuild
+++ b/dev-lua/coxpcall/coxpcall-9999.ebuild
@@ -18,7 +18,7 @@ SLOT="0"
 KEYWORDS=""
 IUSE="doc luajit"
 
-RDEPEND=" || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
+RDEPEND="virtual/lua[luajit=]"
 DEPEND="${RDEPEND}"
 
 src_configure() {

diff --git a/dev-lua/iluajit/iluajit-9999.ebuild 
b/dev-lua/iluajit/iluajit-9999.ebuild
index b3ed79e..e739244 100644
--- a/dev-lua/iluajit/iluajit-9999.ebuild
+++ b/dev-lua/iluajit/iluajit-9999.ebuild
@@ -4,13 +4,13 @@
 
 EAPI="5"
 
-inherit eutils git-r3
+inherit eutils git-r3 toolchain-funcs
 
 DESCRIPTION="Readline powered shell for LuaJIT"
 HOMEPAGE="https://github.com/jdesgats/ILuaJIT";
 SRC_URI=""
 
-EGIT_REPO_URI="https://github.com/jdesgats/ILuaJIT 
git://github.com/jdesgats/ILuaJIT"
+EGIT_REPO_URI="https://github.com/jdesgats/ILuaJIT.git";
 
 LICENSE="MIT"
 SLOT="0"
@@ -19,7 +19,7 @@ IUSE="doc +completion"
 
 RDEPEND="
        doc? ( dev-lua/luadoc )
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        dev-lua/penlight
        sys-libs/readline
        completion? ( dev-lua/luafilesystem )
@@ -28,7 +28,7 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 
 src_install() {
-       local lmod="$($(tc-getPKG_CONFIG) --variable=INSTALL_LMOD luajit)"
+       local lmod="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD luajit)"
 
        dodoc README.md || die "dodoc failed"
        use doc && (
@@ -39,5 +39,5 @@ src_install() {
        insinto "${lmod}"
        doins *.lua
 
-       make_wrapper "${PN}" "luajit ${lmod}/${PN}.lua"
+       make_wrapper "${PN}" "luajit \${@} ${lmod}/${PN}.lua"
 }

diff --git a/dev-lua/lahttp/lahttp-9999.ebuild 
b/dev-lua/lahttp/lahttp-9999.ebuild
index f0a7183..1fef463 100644
--- a/dev-lua/lahttp/lahttp-9999.ebuild
+++ b/dev-lua/lahttp/lahttp-9999.ebuild
@@ -13,11 +13,13 @@ EHG_REPO_URI="http://code.matthewwild.co.uk/${PN}/";
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
-IUSE=""
+IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+RDEPEND="
+       virtual/lua[luajit=]
        dev-lua/squish
-       dev-lua/luasocket"
+       dev-lua/luasocket
+"
 DEPEND="${RDEPEND}"
 
 src_compile() {
@@ -25,6 +27,8 @@ src_compile() {
 }
 
 src_install() {
-       insinto $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)
+       local lua=lua;
+       use luajit && lua=luajit;
+       insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
        doins lahttp.lua || die
 }

diff --git a/dev-lua/lapis/lapis-9999.ebuild b/dev-lua/lapis/lapis-9999.ebuild
index c3a89c6..f5bc8e6 100644
--- a/dev-lua/lapis/lapis-9999.ebuild
+++ b/dev-lua/lapis/lapis-9999.ebuild
@@ -18,8 +18,7 @@ KEYWORDS=""
 IUSE="luajit moonscript"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        moonscript? ( dev-lua/moonscript )
        dev-lua/ansicolors
        dev-lua/luasocket
@@ -31,7 +30,7 @@ RDEPEND="
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 HTML_DOCS=( "docs/" "README.md" )

diff --git a/dev-lua/ldoc/ldoc-9999.ebuild b/dev-lua/ldoc/ldoc-9999.ebuild
index ecec9ef..cb39915 100644
--- a/dev-lua/ldoc/ldoc-9999.ebuild
+++ b/dev-lua/ldoc/ldoc-9999.ebuild
@@ -18,12 +18,11 @@ KEYWORDS=""
 IUSE="luajit doc"
 
 RDEPEND="
-       luajit? ( dev-landg/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/linotify/linotify-9999.ebuild 
b/dev-lua/linotify/linotify-9999.ebuild
index 6839e34..8896ccc 100644
--- a/dev-lua/linotify/linotify-9999.ebuild
+++ b/dev-lua/linotify/linotify-9999.ebuild
@@ -10,16 +10,15 @@ DESCRIPTION="inotify bindings for Lua"
 HOMEPAGE="https://github.com/hoelzro/linotify";
 SRC_URI=""
 
-EGIT_REPO_URI="git://github.com/hoelzro/linotify.git 
https://github.com/hoelzro/linotify.git";
+EGIT_REPO_URI="https://github.com/hoelzro/linotify.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
-DEPEND="${RDEPEND}
-       luajit? ( dev-lang/luajit:2 )"
+RDEPEND="virtual/lua[luajit=]"
+DEPEND="${RDEPEND}"
 
 src_prepare() {
        epatch_user
@@ -30,15 +29,15 @@ src_compile() {
        use luajit && LUAPKG_CMD="luajit";
        export LUAPKG_CMD;
        emake \
-       CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) ${LUAPKG_CMD} --cflags) -fPIC 
-O3 -Wall" \
-       || die "emake failed"
+               CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) ${LUAPKG_CMD} --cflags) 
-fPIC" \
+               || die "emake failed"
 }
 
 src_install() {
        insinto /usr/share/doc/"${P}";
        doins README.md
        emake install \
-       DESTDIR="${D}" \
-       INSTALL_PATH="$($(tc-getPKG_CONFIG) ${LUAPKG_CMD} 
--variable=INSTALL_CMOD)" \
+               DESTDIR="${D}" \
+               INSTALL_PATH="$($(tc-getPKG_CONFIG) ${LUAPKG_CMD} 
--variable=INSTALL_CMOD)" \
        || die "emake failed"
 }

diff --git a/dev-lua/ljsyscall/ljsyscall-9999.ebuild 
b/dev-lua/ljsyscall/ljsyscall-9999.ebuild
index 9a2e18a..c56f894 100644
--- a/dev-lua/ljsyscall/ljsyscall-9999.ebuild
+++ b/dev-lua/ljsyscall/ljsyscall-9999.ebuild
@@ -18,7 +18,7 @@ KEYWORDS=""
 IUSE="test"
 
 RDEPEND="
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        || (
                sys-libs/glibc[arm=,x86=,amd64=,ppc=,mips=]
                sys-libs/musl[arm=,x86=,amd64=,ppc=,mips=]

diff --git a/dev-lua/lpc/lpc-9999.ebuild b/dev-lua/lpc/lpc-9999.ebuild
index dde6ab5..a878974 100644
--- a/dev-lua/lpc/lpc-9999.ebuild
+++ b/dev-lua/lpc/lpc-9999.ebuild
@@ -15,7 +15,7 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
+RDEPEND="virtual/lua[luajit=]"
 DEPEND="${RDEPEND}"
 
 src_compile() {

diff --git a/dev-lua/lpeg/lpeg-0.12.ebuild b/dev-lua/lpeg/lpeg-0.12.ebuild
index 89ed49e..e0141e9 100644
--- a/dev-lua/lpeg/lpeg-0.12.ebuild
+++ b/dev-lua/lpeg/lpeg-0.12.ebuild
@@ -16,8 +16,7 @@ KEYWORDS="amd64 ~arm ~hppa ~mips x86"
 IUSE="debug doc luajit"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}
        virtual/pkgconfig"

diff --git a/dev-lua/lsysstats/lsysstats-9999.ebuild 
b/dev-lua/lsysstats/lsysstats-9999.ebuild
index 0f8d6ad..f8d0006 100644
--- a/dev-lua/lsysstats/lsysstats-9999.ebuild
+++ b/dev-lua/lsysstats/lsysstats-9999.ebuild
@@ -6,21 +6,25 @@ EAPI="5"
 
 inherit multilib toolchain-funcs flag-o-matic mercurial eutils
 
-DESCRIPTION="XMPP client library written in Lua."
+DESCRIPTION="System statistics library for Lua"
 HOMEPAGE="http://code.matthewwild.co.uk/";
 EHG_REPO_URI="http://code.matthewwild.co.uk/${PN}/";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
-IUSE=""
+IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+RDEPEND="
+       virtual/lua[luajit=]
        dev-lua/squish
-       dev-lua/luasocket"
+       dev-lua/luasocket
+"
 DEPEND="${RDEPEND}"
 
 src_install() {
-       insinto $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)/${PN}/;
+       local lua=lua;
+       use luajit && lua=luajit;
+       insinto $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})/${PN}/;
        doins *.lua || die
 }

diff --git a/dev-lua/lua-cjson/lua-cjson-9999.ebuild 
b/dev-lua/lua-cjson/lua-cjson-9999.ebuild
index a97c068..a9b599a 100644
--- a/dev-lua/lua-cjson/lua-cjson-9999.ebuild
+++ b/dev-lua/lua-cjson/lua-cjson-9999.ebuild
@@ -18,8 +18,7 @@ KEYWORDS=""
 IUSE="examples luajit"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}"
 

diff --git a/dev-lua/lua-csv/lua-csv-9999.ebuild 
b/dev-lua/lua-csv/lua-csv-9999.ebuild
index d8af8f9..8141bf2 100644
--- a/dev-lua/lua-csv/lua-csv-9999.ebuild
+++ b/dev-lua/lua-csv/lua-csv-9999.ebuild
@@ -18,8 +18,7 @@ KEYWORDS=""
 IUSE="luajit +lpeg_replace"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}"
 

diff --git a/dev-lua/lua-curl/lua-curl-9999.ebuild 
b/dev-lua/lua-curl/lua-curl-9999.ebuild
index 3438eda..8a8702e 100644
--- a/dev-lua/lua-curl/lua-curl-9999.ebuild
+++ b/dev-lua/lua-curl/lua-curl-9999.ebuild
@@ -18,12 +18,11 @@ KEYWORDS=""
 IUSE="doc examples luajit"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
        net-misc/curl
 "
 DEPEND="${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {
@@ -38,8 +37,6 @@ src_configure() {
 
 
 src_install() {
-       local lua=lua;
-       use luajit && lua=luajit
        use examples && {
                docompress -x /usr/share/doc/${PF}/examples
                dodoc -r examples

diff --git a/dev-lua/lua-fann/Manifest b/dev-lua/lua-fann/Manifest
index 95e909f..b4c922a 100644
--- a/dev-lua/lua-fann/Manifest
+++ b/dev-lua/lua-fann/Manifest
@@ -1,2 +1 @@
-DIST lua-fann-0.2.tgz 17370 SHA256 
909537472efbb64026556140b04a77946c17a253183b99c339893e5678e0d245 SHA512 
0cbc675d7550192cc4b88d48c1ff8707d1cbaa538e94eab31f3fac68f2ddd75f443de59e01d738962fb2ac04f76148ba8b98084ec31f7176f29405ff6e635009
 WHIRLPOOL 
3ea8b2c16fc452f6ea0424d26d5234cb7933251a14eb2215cfa4b01c39fe8b5211230fba2fbf1c786ef832c30f63671c6b9bf06b520e2a67166ee80eeaa479f2
-DIST lua-fann-0.3.tgz 17367 SHA256 
7cab0faa40983025c6f8a207c7f2854992fca14bb17871131aa5019cb1d5c47e SHA512 
d798e1011950630247b3f6042e6bf767db8975e3eaa8607b44d0cb68194c6cf6fca3aa909031c459bb90ac54a933b72b9fcf1126111283c4c3d8de72400c3c31
 WHIRLPOOL 
d15f91eed120530766df65cc529deb576c70b45f37105fbe5efe355a0ea795caeaede3858f96c9a71223b17ee6c988aef41e318d428094648821799b95c4ac38
+DIST lua-fann-0.4.tgz 18418 SHA256 
e9e698244d291236b6dbc8d452ce2a37b556f372508c3ae94be1dfdbe1f61316 SHA512 
0fc714d6b869f3aa3ae9909c7f4be257459a097dac870b36ab229607201d0c9bcee967c925ef993f1c4de18f5b43157a9a0345a1080f20b8bcc8dcc365c97500
 WHIRLPOOL 
e6ac0333f245fe32e8c118042177822b878e00b11983975ea0c45074746428048b261bf1cdcb03b2a73036caa7286e92923d01c5af572e302f46a40fa3198325

diff --git a/dev-lua/lua-fann/lua-fann-0.3.ebuild 
b/dev-lua/lua-fann/lua-fann-0.3.ebuild
deleted file mode 100644
index 60bc0b2..0000000
--- a/dev-lua/lua-fann/lua-fann-0.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: This ebuild is from Lua overlay; Bumped by mva; $
-
-EAPI="5"
-
-inherit eutils
-
-P_SHA="0265161"
-DESCRIPTION="A set of Lua bindings for the Fast Artificial Neural Network 
(FANN) library."
-HOMEPAGE="https://github.com/msva/lua-fann";
-SRC_URI="https://github.com/msva/${PN}/tarball/${PV} -> ${P}.tgz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS=""
-IUSE="doc luajit"
-
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       sci-mathematics/fann"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/msva-${PN}-${P_SHA}"
-
-src_prepare() {
-       LUABIN="lua"
-       default
-       epatch_user
-       use luajit && export LUA_INCLUDE_DIR="/usr/$(get_libdir)/luajit-2.0"
-       use luajit && export LUABIN="luajit"
-}
-
-src_test() {
-       emake test
-}
-
-src_install() {
-       dodoc README.md TODO || die "dodoc failed"
-       use doc && (
-               emake docs
-               dohtml doc/luafann.html
-       )
-       default
-}

diff --git a/dev-lua/lua-fann/lua-fann-0.2.ebuild 
b/dev-lua/lua-fann/lua-fann-0.4.ebuild
similarity index 62%
rename from dev-lua/lua-fann/lua-fann-0.2.ebuild
rename to dev-lua/lua-fann/lua-fann-0.4.ebuild
index 851f82d..92c18eb 100644
--- a/dev-lua/lua-fann/lua-fann-0.2.ebuild
+++ b/dev-lua/lua-fann/lua-fann-0.4.ebuild
@@ -4,30 +4,33 @@
 
 EAPI="5"
 
-inherit eutils
+inherit eutils toolchain-funcs
 
-P_SHA="e0a38bb"
 DESCRIPTION="A set of Lua bindings for the Fast Artificial Neural Network 
(FANN) library."
 HOMEPAGE="https://github.com/msva/lua-fann";
-SRC_URI="https://github.com/msva/${PN}/tarball/${PV} -> ${P}.tgz"
+SRC_URI="https://github.com/msva/{$PN}/archive/${PV}.tar.gz -> ${P}.tgz"
 
 LICENSE="LGPL-2.1"
 SLOT="0"
 KEYWORDS=""
 IUSE="doc luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       sci-mathematics/fann"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/msva-${PN}-${P_SHA}"
+RDEPEND="
+       virtual/lua[luajit=]
+       sci-mathematics/fann
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_prepare() {
-       LUABIN="lua"
+       local lua=lua;
+       use luajit && lua=luajit;
        default
        epatch_user
-       use luajit && export LUA_INCLUDE_DIR="/usr/$(get_libdir)/luajit-2.0"
-       use luajit && export LUABIN="luajit"
+       export LUA_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable includedir 
${lua})"
+       export LUABIN="${lua}"
 }
 
 src_test() {

diff --git a/dev-lua/lua-fann/lua-fann-9999.ebuild 
b/dev-lua/lua-fann/lua-fann-9999.ebuild
index d0f8b1a..b9b7401 100644
--- a/dev-lua/lua-fann/lua-fann-9999.ebuild
+++ b/dev-lua/lua-fann/lua-fann-9999.ebuild
@@ -4,22 +4,27 @@
 
 EAPI="5"
 
-inherit eutils git-r3
+inherit eutils git-r3 toolchain-funcs
 
 DESCRIPTION="A set of Lua bindings for the Fast Artificial Neural Network 
(FANN) library."
 HOMEPAGE="https://github.com/msva/lua-fann";
 SRC_URI=""
 
-EGIT_REPO_URI="https://github.com/msva/lua-fann git://github.com/msva/lua-fann"
+EGIT_REPO_URI="https://github.com/msva/lua-fann";
 
 LICENSE="LGPL-2.1"
 SLOT="0"
 KEYWORDS=""
 IUSE="doc luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       sci-mathematics/fann"
-DEPEND="${RDEPEND}"
+RDEPEND="
+       virtual/lua[luajit=]
+       sci-mathematics/fann
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_prepare() {
        local lua=lua;

diff --git a/dev-lua/lua-fastcgi/lua-fastcgi-9999.ebuild 
b/dev-lua/lua-fastcgi/lua-fastcgi-9999.ebuild
index 468a360..c7509f4 100644
--- a/dev-lua/lua-fastcgi/lua-fastcgi-9999.ebuild
+++ b/dev-lua/lua-fastcgi/lua-fastcgi-9999.ebuild
@@ -10,7 +10,7 @@ DESCRIPTION="A FastCGI server for Lua, written in C"
 HOMEPAGE="https://github.com/cramey/lua-fastcgi";
 SRC_URI=""
 
-EGIT_REPO_URI="git://github.com/cramey/lua-fastcgi.git"
+EGIT_REPO_URI="https://github.com/cramey/lua-fastcgi.git";
 EGIT_BRANCH="public"
 
 LICENSE="MIT"
@@ -19,8 +19,7 @@ KEYWORDS=""
 IUSE="doc luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit]
        dev-libs/fcgi
 "
 DEPEND="${RDEPEND}"
@@ -29,12 +28,12 @@ src_prepare() {
        local lua=lua
        use luajit && lua=luajit
 
-       LUA_LIB="$($(tc-getPKG_CONFIG) --variable libname ${lua})"
+       LUA_LIB="$($(tc-getPKG_CONFIG) libs ${lua})"
 
        sed -r \
-               -e "s#^(CFLAGS=.*)#\1 $($(tc-getPKG_CONFIG) --variable cflags 
${lua}) -I$($(tc-getPKG_CONFIG) --variable includedir ${lua})#" \
+               -e "s#^(CFLAGS=.*)#\1 $($(tc-getPKG_CONFIG) --variable cflags 
${lua})#" \
                -e "s/-Wl,[^ ]*//g" \
-               -e "s#lua5.1#${LUA_LIB}#g" \
+               -e "s#-llua5.1#${LUA_LIB}#g" \
                -i Makefile
        sed \
                -e "s#lua5.1/##" \

diff --git a/dev-lua/lua-feeds/lua-feeds-9999.ebuild 
b/dev-lua/lua-feeds/lua-feeds-9999.ebuild
index 384865a..b4c56a6 100644
--- a/dev-lua/lua-feeds/lua-feeds-9999.ebuild
+++ b/dev-lua/lua-feeds/lua-feeds-9999.ebuild
@@ -16,12 +16,13 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       || ( dev-lang/lua dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
+
 DEPEND="
        ${RDEPEND}
        dev-lua/squish
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 DOCS=( "demo.lua" "demo_string.lua" )
@@ -34,4 +35,4 @@ src_install() {
        insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
        newins "feeds.min.lua" "feeds.lua"
        base_src_install_docs
-}
\ No newline at end of file
+}

diff --git a/dev-lua/lua-gd/lua-gd-2.0.33.2.ebuild 
b/dev-lua/lua-gd/lua-gd-2.0.33.2.ebuild
index 781b213..3aa56fe 100644
--- a/dev-lua/lua-gd/lua-gd-2.0.33.2.ebuild
+++ b/dev-lua/lua-gd/lua-gd-2.0.33.2.ebuild
@@ -19,12 +19,13 @@ KEYWORDS="~amd64 ~x86"
 IUSE="doc examples luajit"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
        media-libs/gd[png]
 "
-DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 S=${WORKDIR}/${MY_P}
 

diff --git a/dev-lua/lua-gd/lua-gd-9999.ebuild 
b/dev-lua/lua-gd/lua-gd-9999.ebuild
index 582745c..1ce34df 100644
--- a/dev-lua/lua-gd/lua-gd-9999.ebuild
+++ b/dev-lua/lua-gd/lua-gd-9999.ebuild
@@ -17,11 +17,13 @@ KEYWORDS=""
 IUSE="doc examples luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
-       media-libs/gd[png]"
-DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+       virtual/lua[luajit=]
+       media-libs/gd[png]
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 QA_PREBUILT="usr/$(get_libdir)/*"
 # ^ sorry for that, but upstream prestrips module, and it is impossible to ask

diff --git a/dev-lua/lua-geoip/lua-geoip-9999.ebuild 
b/dev-lua/lua-geoip/lua-geoip-9999.ebuild
index 1b8d28d..dc66932 100644
--- a/dev-lua/lua-geoip/lua-geoip-9999.ebuild
+++ b/dev-lua/lua-geoip/lua-geoip-9999.ebuild
@@ -4,7 +4,7 @@
 
 EAPI="5"
 
-inherit autotools eutils git-r3
+inherit autotools eutils git-r3 toolchain-funcs
 
 DESCRIPTION="Lua GeoIP Library"
 HOMEPAGE="https://github.com/msva/lua-geoip";
@@ -17,16 +17,19 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
-DEPEND="${RDEPEND}
-       dev-libs/geoip"
+RDEPEND="virtual/lua[luajit=]"
+DEPEND="
+       ${RDEPEND}
+       dev-libs/geoip
+"
 
 src_prepare() {
-       LUA="lua"
+       local lua="lua"
+       use luajit && lua="luajit";
        default
        epatch_user
-       use luajit && export LUA_INCLUDE_DIR="/usr/$(get_libdir)/luajit-2.0"
-       use luajit && export LUA="luajit"
+       export LUA_INCLUDE_DIR="$($(tc-getPKG_CONFIG) --variable includedir 
${lua})"
+       export LUA="${lua}"
 }
 
 #Temporarily(?) broken on city database checking
@@ -35,6 +38,6 @@ src_prepare() {
 #}
 
 src_install() {
-       dodoc README.md TODO || die "dodoc failed"
        default
+       dodoc README.md TODO || die "dodoc failed"
 }

diff --git a/dev-lua/lua-getopt/lua-getopt-9999.ebuild 
b/dev-lua/lua-getopt/lua-getopt-9999.ebuild
index 521af49..597fe2e 100644
--- a/dev-lua/lua-getopt/lua-getopt-9999.ebuild
+++ b/dev-lua/lua-getopt/lua-getopt-9999.ebuild
@@ -16,12 +16,11 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( dev-lang/lua )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 

diff --git a/dev-lua/lua-iconv/lua-iconv-9999.ebuild 
b/dev-lua/lua-iconv/lua-iconv-9999.ebuild
index bf328bc..08c1aa2 100644
--- a/dev-lua/lua-iconv/lua-iconv-9999.ebuild
+++ b/dev-lua/lua-iconv/lua-iconv-9999.ebuild
@@ -10,16 +10,18 @@ DESCRIPTION="Lua cURL Library"
 HOMEPAGE="http://ittner.github.com/lua-iconv";
 SRC_URI=""
 
-EGIT_REPO_URI="git://github.com/ittner/lua-iconv.git"
+EGIT_REPO_URI="https://github.com/ittner/lua-iconv.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
-DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+RDEPEND="virtual/lua[luajit=]"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_prepare() {
        epatch_user
@@ -37,4 +39,4 @@ src_install() {
        local lua=lua;
        use luajit && lua=luajit;
        emake DESTDIR="${D}" INSTALL_PATH="$($(tc-getPKG_CONFIG) --variable 
INSTALL_CMOD ${lua})" install || die "Can't install"
-}
\ No newline at end of file
+}

diff --git a/dev-lua/lua-sendmail/lua-sendmail-9999.ebuild 
b/dev-lua/lua-sendmail/lua-sendmail-9999.ebuild
index e4c18c6..a4f6ec1 100644
--- a/dev-lua/lua-sendmail/lua-sendmail-9999.ebuild
+++ b/dev-lua/lua-sendmail/lua-sendmail-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-lua/luasocket
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 HTML_DOCS=( "docs/" )

diff --git a/dev-lua/lua-stdlib/lua-stdlib-9999.ebuild 
b/dev-lua/lua-stdlib/lua-stdlib-9999.ebuild
index 25424af..8052ea2 100644
--- a/dev-lua/lua-stdlib/lua-stdlib-9999.ebuild
+++ b/dev-lua/lua-stdlib/lua-stdlib-9999.ebuild
@@ -18,8 +18,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}"
 

diff --git a/dev-lua/lua-zip/lua-zip-9999.ebuild 
b/dev-lua/lua-zip/lua-zip-9999.ebuild
index 2bb0d7b..936a609 100644
--- a/dev-lua/lua-zip/lua-zip-9999.ebuild
+++ b/dev-lua/lua-zip/lua-zip-9999.ebuild
@@ -15,18 +15,21 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-               dev-libs/libzip"
-DEPEND="${RDEPEND}
-               dev-util/pkgconfig"
+RDEPEND="
+       virtual/lua[luajit=]
+       dev-libs/libzip"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_prepare() {
        mv *-${PN}-* "${S}"
 }
 
 src_configure() {
-       local LUA="lua"
-       use luajit && LUA="luajit"
-       MYCMAKEARGS="-DINSTALL_CMOD='$($(tc-getPKG_CONFIG) --variable 
INSTALL_CMOD ${LUA})'"
+       local lua="lua"
+       use luajit && lua="luajit"
+       MYCMAKEARGS="-DINSTALL_CMOD='$($(tc-getPKG_CONFIG) --variable 
INSTALL_CMOD ${lua})'"
        cmake-utils_src_configure
 }

diff --git a/dev-lua/lua-zlib/lua-zlib-9999.ebuild 
b/dev-lua/lua-zlib/lua-zlib-9999.ebuild
index 1a2364a..5634b13 100644
--- a/dev-lua/lua-zlib/lua-zlib-9999.ebuild
+++ b/dev-lua/lua-zlib/lua-zlib-9999.ebuild
@@ -4,7 +4,7 @@
 
 EAPI="5"
 
-inherit cmake-utils git-r3
+inherit cmake-utils git-r3 toolchain-funcs
 
 DESCRIPTION="Lua bindings to zlib"
 HOMEPAGE="http://github.com/brimworks/lua-zlib";
@@ -16,13 +16,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        sys-libs/zlib
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/lua2html/lua2html-9999.ebuild 
b/dev-lua/lua2html/lua2html-9999.ebuild
index f2de14b..bbc9aa9 100644
--- a/dev-lua/lua2html/lua2html-9999.ebuild
+++ b/dev-lua/lua2html/lua2html-9999.ebuild
@@ -13,17 +13,27 @@ EHG_REPO_URI="http://code.matthewwild.co.uk/${PN}/";
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
-IUSE=""
+IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       dev-lua/squish"
+RDEPEND="
+       virtual/lua[luajit=]
+       dev-lua/squish
+"
 DEPEND="${RDEPEND}"
 
+src_prepare() {
+       local lua=lua
+       use luajit && lua=luajit;
+       sed -r \
+               -e "1s|^(!#.*) lua|\1 ${lua}|" \
+               -i lua2html.lua
+}
+
 src_compile() {
        squish
 }
 
 src_install() {
-       dobin lua2html || die
-       dodoc README || die
+       dobin lua2html
+       dodoc README
 }

diff --git a/dev-lua/luacrypto/luacrypto-9999.ebuild 
b/dev-lua/luacrypto/luacrypto-9999.ebuild
index de1b36a..47581b2 100644
--- a/dev-lua/luacrypto/luacrypto-9999.ebuild
+++ b/dev-lua/luacrypto/luacrypto-9999.ebuild
@@ -21,13 +21,12 @@ IUSE="doc luajit"
 IUSE+="${LANGS// / linguas_}"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
        >=dev-libs/openssl-0.9.7
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/luadbi/luadbi-9999.ebuild 
b/dev-lua/luadbi/luadbi-9999.ebuild
index 19acec7..ec987bb 100644
--- a/dev-lua/luadbi/luadbi-9999.ebuild
+++ b/dev-lua/luadbi/luadbi-9999.ebuild
@@ -16,12 +16,14 @@ SLOT="0"
 KEYWORDS=""
 IUSE="mysql postgres sqlite luajit"
 
-RDEPEND="      || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-               mysql? ( || ( dev-db/mysql dev-db/mariadb ) )
-               postgres? ( dev-db/postgresql )
-               sqlite? ( >=dev-db/sqlite-3 )"
+RDEPEND="
+       virtual/lua[luajit=]
+       mysql? ( || ( dev-db/mysql dev-db/mariadb ) )
+       postgres? ( dev-db/postgresql )
+       sqlite? ( >=dev-db/sqlite-3 )
+"
 DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+       virtual/pkgconfig"
 
 S="${WORKDIR}"
 

diff --git a/dev-lua/luadoc/luadoc-3.0.1.ebuild 
b/dev-lua/luadoc/luadoc-3.0.1.ebuild
index 568b8e5..f08ae6c 100644
--- a/dev-lua/luadoc/luadoc-3.0.1.ebuild
+++ b/dev-lua/luadoc/luadoc-3.0.1.ebuild
@@ -4,9 +4,9 @@
 
 EAPI="5"
 
-inherit multilib
+inherit multilib toolchain-funcs
 DESCRIPTION="LuaDoc is a documentation tool for Lua source code"
-HOMEPAGE="http://luadoc.luaforge.net/";
+HOMEPAGE="http://keplerproject.github.io/luadoc/";
 SRC_URI="http://luaforge.net/frs/download.php/3185/${P}.tar.gz";
 
 LICENSE="MIT"
@@ -16,25 +16,27 @@ IUSE="luajit"
 
 DEPEND=""
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1.3 )
-       luajit? ( dev-lang/luajit:2 )
-       dev-lua/luafilesystem"
+       virtual/lua[luajit=]
+       dev-lua/luafilesystem
+"
 
 src_prepare() {
-       cd "${S}"
-       sed \
-               -e "s|/usr/local|\$(DESTDIR)/usr|" \
-               -e "s|lib|$(get_libdir)|" \
-               -e "s|lua5.1|lua|" \
-               -i config || die
-
-       use luajit && sed \
-               -e "s|#!/usr/bin/env lua|#! /usr/bin/env luajit|" \
+       local lua=lua;
+       use luajit && lua=luajit;
+
+       echo "
+               PREFIX=/usr
+               LUA_LIBDIR=$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})
+               LUA_DIR=$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})
+               SYS_BINDIR= ${EROOT}/usr/bin
+       " > "${S}/config"
+
+       sed -r \
+               -e "1s|^(#!.* ) lua|\1 ${lua}|" \
                -i src/luadoc.lua.in
 
        # lua-5.1.3
-       find . -name '*.lua' | xargs sed -i -e "s/gfind/gmatch/g" || die
-
+       find . -name '*.lua' | xargs sed -e "s/gfind/gmatch/g" -i || die
 }
 
 src_install() {

diff --git a/dev-lua/luaevent/luaevent-9999.ebuild 
b/dev-lua/luaevent/luaevent-9999.ebuild
index 5d50c2c..144c297 100644
--- a/dev-lua/luaevent/luaevent-9999.ebuild
+++ b/dev-lua/luaevent/luaevent-9999.ebuild
@@ -15,10 +15,14 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       >=dev-libs/libevent-1.4"
-DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+RDEPEND="
+       virtual/lua[luajit=]
+       >=dev-libs/libevent-1.4
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_prepare() {
        local lua=lua;

diff --git a/dev-lua/luaexpat/luaexpat-9999.ebuild 
b/dev-lua/luaexpat/luaexpat-9999.ebuild
index 81cea9e..3d06534 100644
--- a/dev-lua/luaexpat/luaexpat-9999.ebuild
+++ b/dev-lua/luaexpat/luaexpat-9999.ebuild
@@ -17,12 +17,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-libs/expat
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_compile() {

diff --git a/dev-lua/luafilesystem/luafilesystem-9999.ebuild 
b/dev-lua/luafilesystem/luafilesystem-9999.ebuild
index d7c18ae..1f0191f 100644
--- a/dev-lua/luafilesystem/luafilesystem-9999.ebuild
+++ b/dev-lua/luafilesystem/luafilesystem-9999.ebuild
@@ -3,7 +3,7 @@
 # $Header: This ebuild is from Lua overlay; Bumped by mva; $
 
 EAPI="5"
-inherit multilib eutils git-r3
+inherit multilib eutils git-r3 toolchain-funcs
 
 DESCRIPTION="File System Library for the Lua Programming Language"
 HOMEPAGE="http://keplerproject.github.com/luafilesystem/";
@@ -16,9 +16,7 @@ SLOT="0"
 KEYWORDS=""
 IUSE="doc luajit"
 
-DEPEND="
-       !luajit? ( dev-lang/lua )
-       luajit? ( dev-lang/luajit:2 )"
+DEPEND="virtual/lua[luajit=]"
 RDEPEND="${DEPEND}"
 
 DOCS=( README )

diff --git a/dev-lua/lualdap/lualdap-9999.ebuild 
b/dev-lua/lualdap/lualdap-9999.ebuild
index 7acb787..18c193c 100644
--- a/dev-lua/lualdap/lualdap-9999.ebuild
+++ b/dev-lua/lualdap/lualdap-9999.ebuild
@@ -18,7 +18,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        net-nds/openldap
 "
 DEPEND="${RDEPEND}"
@@ -34,4 +34,4 @@ src_prepare() {
                -e "s#^(LUA_LIBDIR).*#\1=$($(tc-getPKG_CONFIG) --variable 
INSTALL_CMOD ${lua})#" \
                -e "s#^(CC).*#\1=$(tc-getCC)#" \
                -i config
-}
\ No newline at end of file
+}

diff --git a/dev-lua/luamacro/luamacro-9999.ebuild 
b/dev-lua/luamacro/luamacro-9999.ebuild
index b73e31b..199d467 100644
--- a/dev-lua/luamacro/luamacro-9999.ebuild
+++ b/dev-lua/luamacro/luamacro-9999.ebuild
@@ -18,12 +18,11 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       luajit? ( dev-landg/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/luamongo/luamongo-9999.ebuild 
b/dev-lua/luamongo/luamongo-9999.ebuild
index b710060..234521a 100644
--- a/dev-lua/luamongo/luamongo-9999.ebuild
+++ b/dev-lua/luamongo/luamongo-9999.ebuild
@@ -17,7 +17,8 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+RDEPEND="
+       virtual/lua[luajit=]
        dev-libs/boost
        dev-db/mongodb[sharedclient]
 "
@@ -37,4 +38,4 @@ src_install() {
        insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})"
        doins "mongo.so"
        base_src_install_docs
-}
\ No newline at end of file
+}

diff --git a/dev-lua/luancurses/luancurses-9999.ebuild 
b/dev-lua/luancurses/luancurses-9999.ebuild
index 892034f..a19a8da 100644
--- a/dev-lua/luancurses/luancurses-9999.ebuild
+++ b/dev-lua/luancurses/luancurses-9999.ebuild
@@ -17,13 +17,15 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       sys-libs/ncurses"
+RDEPEND="
+       virtual/lua[luajit=]
+       sys-libs/ncurses
+"
 DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+       virtual/pkgconfig"
 
 src_prepare() {
        local lua=lua;
        use luajit && lua=luajit;
        echo LUA_IMPL="${lua}" > .config
-}
\ No newline at end of file
+}

diff --git a/dev-lua/luaposix/luaposix-9999.ebuild 
b/dev-lua/luaposix/luaposix-9999.ebuild
index 3aeddb7..95c2cf0 100644
--- a/dev-lua/luaposix/luaposix-9999.ebuild
+++ b/dev-lua/luaposix/luaposix-9999.ebuild
@@ -18,16 +18,8 @@ KEYWORDS=""
 IUSE="luajit ncurses"
 
 RDEPEND="
-       !luajit? (
-               || (
-                       (
-                               =dev-lang/lua-5.1*
-                               dev-lua/LuaBitOp
-                       )
-                       >=dev-lang/lua-5.2
-               )
-       )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[bit,luajit=]
+       ncurses? ( sys-libs/ncurses )
 "
 #      dev-lua/ldoc
 #      dev-lua/specl
@@ -74,11 +66,3 @@ src_configure() {
        base_src_configure "${myeconfargs[@]}"
 }
 
-#src_compile() {
-#      emake all-am
-#}
-#
-#src_install() {
-#      emake install-am
-##     insinto $($(tc-getPKG_CONFIG) --variable includedir ${LUA})"
-#}

diff --git a/dev-lua/luarocks/luarocks-9999.ebuild 
b/dev-lua/luarocks/luarocks-9999.ebuild
index fffc2dc..0bd3579 100644
--- a/dev-lua/luarocks/luarocks-9999.ebuild
+++ b/dev-lua/luarocks/luarocks-9999.ebuild
@@ -8,7 +8,7 @@ inherit eutils toolchain-funcs git-r3
 
 DESCRIPTION="A deployment and management system for Lua modules"
 HOMEPAGE="http://www.luarocks.org";
-EGIT_REPO_URI="git://github.com/keplerproject/luarocks.git"
+EGIT_REPO_URI="https://github.com/keplerproject/luarocks.git";
 
 LICENSE="MIT"
 SLOT="0"
@@ -16,14 +16,13 @@ KEYWORDS=""
 IUSE="curl openssl luajit"
 
 DEPEND="
-               !luajit? ( >=dev-lang/lua-5.1 )
-               luajit? ( dev-lang/luajit:2 )
-               curl? ( net-misc/curl )
-               openssl? ( dev-libs/openssl )
+       virtual/lua[luajit=]
+       curl? ( net-misc/curl )
+       openssl? ( dev-libs/openssl )
 "
 RDEPEND="${DEPEND}
-               app-arch/unzip
-               dev-util/pkg-config
+       app-arch/unzip
+       virtual/pkgconfig
 "
 
 src_configure() {

diff --git a/dev-lua/luasec/luasec-9999.ebuild 
b/dev-lua/luasec/luasec-9999.ebuild
index 7c12a9d..7350f18 100644
--- a/dev-lua/luasec/luasec-9999.ebuild
+++ b/dev-lua/luasec/luasec-9999.ebuild
@@ -18,14 +18,13 @@ KEYWORDS=""
 IUSE="examples luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1[deprecated] )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit]
        dev-lua/luasocket
        dev-libs/openssl
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 

diff --git a/dev-lua/luasignal/luasignal-9999.ebuild 
b/dev-lua/luasignal/luasignal-9999.ebuild
index 2e4abe2..6b175a5 100644
--- a/dev-lua/luasignal/luasignal-9999.ebuild
+++ b/dev-lua/luasignal/luasignal-9999.ebuild
@@ -10,16 +10,18 @@ DESCRIPTION="Lua signal Library"
 HOMEPAGE="https://github.com/msva/lua-signal";
 SRC_URI=""
 
-EGIT_REPO_URI="git://github.com/msva/lua-signal.git"
+EGIT_REPO_URI="https://github.com/msva/lua-signal.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
-DEPEND="${RDEPEND}
-       virtual/pkgconfig"
+RDEPEND="virtual/lua[luajit=]"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_configure() {
        local lua=lua;

diff --git a/dev-lua/luasocket/luasocket-9999.ebuild 
b/dev-lua/luasocket/luasocket-9999.ebuild
index 380728a..3283ce2 100644
--- a/dev-lua/luasocket/luasocket-9999.ebuild
+++ b/dev-lua/luasocket/luasocket-9999.ebuild
@@ -15,9 +15,11 @@ SLOT="0"
 KEYWORDS=""
 IUSE="debug luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
-DEPEND="${RDEPEND}
-       dev-util/pkgconfig"
+RDEPEND="virtual/lua[luajit=]"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 DOCS=( "NEW" "README" )
 HTML_DOCS=( "doc/" )

diff --git a/dev-lua/luaunbound/luaunbound-9999.ebuild 
b/dev-lua/luaunbound/luaunbound-9999.ebuild
index d5f0d3d..063bc16 100644
--- a/dev-lua/luaunbound/luaunbound-9999.ebuild
+++ b/dev-lua/luaunbound/luaunbound-9999.ebuild
@@ -16,14 +16,13 @@ KEYWORDS=""
 IUSE="prosody luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        net-dns/unbound
        prosody? ( net-im/prosody )
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 DOCS=( "README.markdown" )

diff --git a/dev-lua/luaxml/luaxml-9999.ebuild 
b/dev-lua/luaxml/luaxml-9999.ebuild
index 6da4572..75f852e 100644
--- a/dev-lua/luaxml/luaxml-9999.ebuild
+++ b/dev-lua/luaxml/luaxml-9999.ebuild
@@ -16,11 +16,10 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}
-               dev-util/pkgconfig"
+               virtual/pkgconfig"
 
 src_configure() {
        local lua="lua"

diff --git a/dev-lua/luazip/luazip-9999.ebuild 
b/dev-lua/luazip/luazip-9999.ebuild
index 7118961..0196764 100644
--- a/dev-lua/luazip/luazip-9999.ebuild
+++ b/dev-lua/luazip/luazip-9999.ebuild
@@ -4,27 +4,31 @@
 
 EAPI="5"
 
-inherit git-r3
+inherit git-r3 toolchain-funcs
 
 DESCRIPTION="Lua bindings to zziplib"
-HOMEPAGE="http://github.com/luaforge/luazip";
-EGIT_REPO_URI="git://github.com/luaforge/luazip.git"
+HOMEPAGE="https://github.com/luaforge/luazip";
+EGIT_REPO_URI="https://github.com/luaforge/luazip.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-               dev-libs/zziplib"
-DEPEND="${RDEPEND}
-               dev-util/pkgconfig"
+RDEPEND="
+       virtual/lua[luajit=]
+       dev-libs/zziplib
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_configure() {
-       local LUA_INC="/usr/include"
-       use luajit && LUA_INC="/usr/include/luajit-2.0"
+       local lua=lua;
+       use luajit && lua=luajit;
        sed -r \
-               -e "s#(LUA_INC)=.*#\1=${LUA_INC}#" \
+               -e "s#(LUA_INC)=.*#\1=$($(tc-getPKG_CONFIG) --variable 
includedir ${lua})#" \
                -e 's#(PREFIX) =.*#\1=$(DESTDIR)/usr#' \
                -e "s#(ZZLIB_INC)=.*#\1=/usr/include#" \
                -e "s#(LUA_VERSION_NUM)=.*#\1=510#" \

diff --git a/dev-lua/lullaby/lullaby-9999.ebuild 
b/dev-lua/lullaby/lullaby-9999.ebuild
index 2dd42e9..f66660e 100644
--- a/dev-lua/lullaby/lullaby-9999.ebuild
+++ b/dev-lua/lullaby/lullaby-9999.ebuild
@@ -18,12 +18,11 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 HTML_DOCS=( "htmlspec/" )
@@ -36,4 +35,4 @@ src_install() {
        doins -r lullaby.lua lullaby
 
        base_src_install_docs
-}
\ No newline at end of file
+}

diff --git a/dev-lua/lulpeg/lulpeg-9999.ebuild 
b/dev-lua/lulpeg/lulpeg-9999.ebuild
index 3b04483..d754b9e 100644
--- a/dev-lua/lulpeg/lulpeg-9999.ebuild
+++ b/dev-lua/lulpeg/lulpeg-9999.ebuild
@@ -18,8 +18,7 @@ KEYWORDS=""
 IUSE="luajit +lpeg_replace"
 
 RDEPEND="
-       luajit? ( dev-lang/luajit:2 )
-       !luajit? ( >=dev-lang/lua-5.1 )
+       virtual/lua[luajit=]
        lpeg_replace? ( !dev-lua/lpeg )
 "
 DEPEND="${RDEPEND}"

diff --git a/dev-lua/lyaml/lyaml-9999.ebuild b/dev-lua/lyaml/lyaml-9999.ebuild
index e6397dc..f09c5e6 100644
--- a/dev-lua/lyaml/lyaml-9999.ebuild
+++ b/dev-lua/lyaml/lyaml-9999.ebuild
@@ -18,10 +18,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? (
-               =dev-lang/lua-5.1*
-       )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-libs/libyaml
 "
 DEPEND="${RDEPEND}"

diff --git a/dev-lua/messagepack/messagepack-9999.ebuild 
b/dev-lua/messagepack/messagepack-9999.ebuild
index 22dd87b..ca713db 100644
--- a/dev-lua/messagepack/messagepack-9999.ebuild
+++ b/dev-lua/messagepack/messagepack-9999.ebuild
@@ -14,29 +14,20 @@ 
EGIT_REPO_URI="https://github.com/fperrad/lua-MessagePack.git";
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="luajit lua53"
+IUSE="luajit"
 
 RDEPEND="
-       !luajit? (
-               !lua53? (
-                       || (
-                               =dev-lang/lua-5.1*
-                               =dev-lang/lua-5.2*
-                       )
-               )
-               lua53? ( =dev-lang/lua-5.3* )
-       )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}
-               dev-util/pkgconfig"
+               virtual/pkgconfig"
 
 src_install() {
        local lua=lua
        use luajit && lua=luajit
 
        insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
-       if use lua53; then
+       if [[ "${lua}" = "lua" ]] && [[ $(${lua} -v 2>&1) =~ "5.3" ]]; then
                doins src5.3/MessagePack.lua
        else
                doins src/MessagePack.lua

diff --git a/dev-lua/moonscript/moonscript-9999.ebuild 
b/dev-lua/moonscript/moonscript-9999.ebuild
index 7c0a031..6989367 100644
--- a/dev-lua/moonscript/moonscript-9999.ebuild
+++ b/dev-lua/moonscript/moonscript-9999.ebuild
@@ -18,8 +18,7 @@ KEYWORDS=""
 IUSE="luajit +inotify"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-lua/lpeg
        dev-lua/luafilesystem
        dev-lua/alt-getopt
@@ -27,7 +26,7 @@ RDEPEND="
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 HTML_DOCS=( "docs/" "README.md" )

diff --git a/dev-lua/orbit/orbit-9999.ebuild b/dev-lua/orbit/orbit-9999.ebuild
index add677c..2b015df 100644
--- a/dev-lua/orbit/orbit-9999.ebuild
+++ b/dev-lua/orbit/orbit-9999.ebuild
@@ -4,46 +4,54 @@
 
 EAPI="5"
 
-inherit multilib eutils git-r3
+inherit multilib eutils git-r3 toolchain-funcs
 
 DESCRIPTION="MVC Web Framework for Lua"
 HOMEPAGE="https://github.com/keplerproject/orbit";
 SRC_URI=""
 
-EGIT_REPO_URI="git://github.com/msva/orbit.git 
https://github.com/msva/orbit.git";
+EGIT_REPO_URI="https://github.com/keplerproject/orbit.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="luajit doc"
 
-RDEPEND=" || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+RDEPEND="
+       virual/lua[luajit=]
        dev-lua/wsapi
-       dev-lua/cosmo"
-DEPEND="${RDEPEND}"
+       dev-lua/cosmo
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
+"
 
 src_prepare() {
-       use luajit && \
-       sed -e "s%#!.*lua$%#!/usr/bin/env luajit%g" \
-       -i src/launchers/ob{.cgi,.fcgi} src/launchers/orbit
+    local lua=lua
+    use luajit && lua=luajit
+    sed -r \
+        -e "s/^M//g" \
+        -e "1s%#!#.*lua$%#!/usr/bin/env ${lua}%g" \
+        -i src/launchers/ob{.cgi,.fcgi} src/launchers/orbit
+    echo "
+        BIN_DIR=${ED}/usr/bin
+        LUA_DIR=${ED}/$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})
+    " > "${S}/config"
 }
 
 src_configure() {
-       LUA="lua";
-       use luajit && LUA="luajit"
-       cd "${S}"
-       ./configure "${LUA}"
+    :
 }
 
 src_install() {
-        docompress -x /usr/share/doc
-       emake DESTDIR="${D}" install || die "Can't install Orbit"
-        use doc && (
-                insinto /usr/share/doc/${PF}/examples
-                doins -r samples/*
-                insinto /usr/share/doc/${PF}
-                doins -r doc/*
-        )
-
-#emake DESTDIR="${D}" PREFIX="/usr/share/doc/${P}" install-doc install-samples
+    docompress -x /usr/share/doc
+    default
+    use doc && (
+        insinto /usr/share/doc/${PF}/examples
+        doins -r samples/*
+        insinto /usr/share/doc/${PF}
+        doins -r doc/*
+    )
 }
+

diff --git a/dev-lua/penlight/penlight-9999.ebuild 
b/dev-lua/penlight/penlight-9999.ebuild
index 8fbd6e3..73e0b24 100644
--- a/dev-lua/penlight/penlight-9999.ebuild
+++ b/dev-lua/penlight/penlight-9999.ebuild
@@ -20,12 +20,13 @@ IUSE="doc +examples test luajit"
 # TODO: Lua 5.2 handling
 
 RDEPEND="
-       || ( virtual/lua dev-lang/luajit:2 =dev-lang/lua-5.1* )
+       virtual/lua[luajit=]
        doc? ( dev-lua/luadoc )
+"
+DEPEND="
+       ${RDEPEND}
        virtual/pkgconfig
 "
-DEPEND="${RDEPEND}"
-
 DOCS=( README.md CHANGES.md CONTRIBUTING.md )
 
 src_test() {

diff --git a/dev-lua/profi/profi-12.ebuild b/dev-lua/profi/profi-12.ebuild
index a0dad73..a2550b6 100644
--- a/dev-lua/profi/profi-12.ebuild
+++ b/dev-lua/profi/profi-12.ebuild
@@ -16,11 +16,12 @@ KEYWORDS="x86 amd64 ppc mips arm"
 IUSE="luajit"
 
 RDEPEND="
-       || ( virtual/lua dev-lang/luajit:2 =dev-lang/lua-5.1* )
+       virtual/lua[luajit=]
+"
+DEPEND="
+       ${RDEPEND}
        virtual/pkgconfig
 "
-DEPEND="${RDEPEND}"
-
 src_install() {
        local lua=lua;
        use luajit && lua=luajit

diff --git a/dev-lua/rds-parser/rds-parser-9999.ebuild 
b/dev-lua/rds-parser/rds-parser-9999.ebuild
index 98fd8a5..37af489 100644
--- a/dev-lua/rds-parser/rds-parser-9999.ebuild
+++ b/dev-lua/rds-parser/rds-parser-9999.ebuild
@@ -18,17 +18,16 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {
        local lua=lua;
-        use luajit && lua=luajit;
+       use luajit && lua=luajit;
 
        sed -r \
                -e "s#^(PREFIX).*#\1=/usr#" \

diff --git a/dev-lua/redis-parser/redis-parser-9999.ebuild 
b/dev-lua/redis-parser/redis-parser-9999.ebuild
index 87ac021..51429d6 100644
--- a/dev-lua/redis-parser/redis-parser-9999.ebuild
+++ b/dev-lua/redis-parser/redis-parser-9999.ebuild
@@ -18,12 +18,11 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-cookie/resty-cookie-9999.ebuild 
b/dev-lua/resty-cookie/resty-cookie-9999.ebuild
index af0307a..13ee2dc 100644
--- a/dev-lua/resty-cookie/resty-cookie-9999.ebuild
+++ b/dev-lua/resty-cookie/resty-cookie-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( dev-lang/lua )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 

diff --git a/dev-lua/resty-core/resty-core-9999.ebuild 
b/dev-lua/resty-core/resty-core-9999.ebuild
index c5db5d9..7942fc2 100644
--- a/dev-lua/resty-core/resty-core-9999.ebuild
+++ b/dev-lua/resty-core/resty-core-9999.ebuild
@@ -18,13 +18,13 @@ KEYWORDS=""
 IUSE=""
 
 RDEPEND="
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        www-servers/nginx[nginx_modules_http_lua]
        dev-lua/resty-lrucache
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-dns/resty-dns-9999.ebuild 
b/dev-lua/resty-dns/resty-dns-9999.ebuild
index d7cdd48..8261dd6 100644
--- a/dev-lua/resty-dns/resty-dns-9999.ebuild
+++ b/dev-lua/resty-dns/resty-dns-9999.ebuild
@@ -18,18 +18,17 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 dev-lua/LuaBitOp )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {
        local lua=lua;
-        use luajit && lua=luajit;
+       use luajit && lua=luajit;
 
        sed -r \
                -e "s#^(PREFIX).*#\1=/usr#" \

diff --git a/dev-lua/resty-lock/resty-lock-9999.ebuild 
b/dev-lua/resty-lock/resty-lock-9999.ebuild
index 18614d2..9db35bd 100644
--- a/dev-lua/resty-lock/resty-lock-9999.ebuild
+++ b/dev-lua/resty-lock/resty-lock-9999.ebuild
@@ -18,12 +18,12 @@ KEYWORDS=""
 IUSE=""
 
 RDEPEND="
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-lrucache/resty-lrucache-9999.ebuild 
b/dev-lua/resty-lrucache/resty-lrucache-9999.ebuild
index 018e5dc..f99aa97 100644
--- a/dev-lua/resty-lrucache/resty-lrucache-9999.ebuild
+++ b/dev-lua/resty-lrucache/resty-lrucache-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_install() {

diff --git a/dev-lua/resty-memcached/resty-memcached-9999.ebuild 
b/dev-lua/resty-memcached/resty-memcached-9999.ebuild
index 0dfe633..ae0bc8e 100644
--- a/dev-lua/resty-memcached/resty-memcached-9999.ebuild
+++ b/dev-lua/resty-memcached/resty-memcached-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-mysql/resty-mysql-9999.ebuild 
b/dev-lua/resty-mysql/resty-mysql-9999.ebuild
index b9fd43e..620dffb 100644
--- a/dev-lua/resty-mysql/resty-mysql-9999.ebuild
+++ b/dev-lua/resty-mysql/resty-mysql-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 dev-lua/LuaBitOp )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[bit,luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-random/resty-random-9999.ebuild 
b/dev-lua/resty-random/resty-random-9999.ebuild
index 4ac72d0..94da120 100644
--- a/dev-lua/resty-random/resty-random-9999.ebuild
+++ b/dev-lua/resty-random/resty-random-9999.ebuild
@@ -18,12 +18,12 @@ KEYWORDS=""
 IUSE=""
 
 RDEPEND="
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        www-servers/nginx[nginx_modules_http_lua,ssl]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 DOCS=( "README.md" )

diff --git a/dev-lua/resty-redis/resty-redis-9999.ebuild 
b/dev-lua/resty-redis/resty-redis-9999.ebuild
index 8a23510..6379f79 100644
--- a/dev-lua/resty-redis/resty-redis-9999.ebuild
+++ b/dev-lua/resty-redis/resty-redis-9999.ebuild
@@ -18,18 +18,17 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {
        local lua=lua;
-        use luajit && lua=luajit;
+       use luajit && lua=luajit;
 
        sed -r \
                -e "s#^(PREFIX).*#\1=/usr#" \

diff --git a/dev-lua/resty-session/resty-session-9999.ebuild 
b/dev-lua/resty-session/resty-session-9999.ebuild
index 184d510..b167150 100644
--- a/dev-lua/resty-session/resty-session-9999.ebuild
+++ b/dev-lua/resty-session/resty-session-9999.ebuild
@@ -18,14 +18,14 @@ KEYWORDS=""
 IUSE=""
 
 RDEPEND="
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        www-servers/nginx[nginx_modules_http_lua]
        dev-lua/lua-cjson
        dev-lua/resty-string
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 DOCS=( "README.md" )

diff --git a/dev-lua/resty-string/resty-string-9999.ebuild 
b/dev-lua/resty-string/resty-string-9999.ebuild
index 273d128..8755d66 100644
--- a/dev-lua/resty-string/resty-string-9999.ebuild
+++ b/dev-lua/resty-string/resty-string-9999.ebuild
@@ -18,13 +18,13 @@ KEYWORDS=""
 IUSE=""
 
 RDEPEND="
-       dev-lang/luajit:2
+       virtual/lua[luajit]
        www-servers/nginx[nginx_modules_http_lua]
        dev-libs/openssl
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-template/resty-template-9999.ebuild 
b/dev-lua/resty-template/resty-template-9999.ebuild
index 4dfde70..637a4cf 100644
--- a/dev-lua/resty-template/resty-template-9999.ebuild
+++ b/dev-lua/resty-template/resty-template-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 DOCS=( "README.md" )

diff --git a/dev-lua/resty-upload/resty-upload-9999.ebuild 
b/dev-lua/resty-upload/resty-upload-9999.ebuild
index 2b512c0..0c6de13 100644
--- a/dev-lua/resty-upload/resty-upload-9999.ebuild
+++ b/dev-lua/resty-upload/resty-upload-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git 
a/dev-lua/resty-upstream-healthcheck/resty-upstream-healthcheck-9999.ebuild 
b/dev-lua/resty-upstream-healthcheck/resty-upstream-healthcheck-9999.ebuild
index 1ddcea9..3da7379 100644
--- a/dev-lua/resty-upstream-healthcheck/resty-upstream-healthcheck-9999.ebuild
+++ b/dev-lua/resty-upstream-healthcheck/resty-upstream-healthcheck-9999.ebuild
@@ -22,7 +22,7 @@ RDEPEND="
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/resty-websocket/resty-websocket-9999.ebuild 
b/dev-lua/resty-websocket/resty-websocket-9999.ebuild
index 0d4140e..decfef4 100644
--- a/dev-lua/resty-websocket/resty-websocket-9999.ebuild
+++ b/dev-lua/resty-websocket/resty-websocket-9999.ebuild
@@ -18,13 +18,12 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit?  ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        www-servers/nginx[nginx_modules_http_lua]
 "
 DEPEND="
        ${RDEPEND}
-       dev-util/pkgconfig
+       virtual/pkgconfig
 "
 
 src_prepare() {

diff --git a/dev-lua/rings/rings-9999.ebuild b/dev-lua/rings/rings-9999.ebuild
index b675a71..f9db462 100644
--- a/dev-lua/rings/rings-9999.ebuild
+++ b/dev-lua/rings/rings-9999.ebuild
@@ -19,8 +19,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? ( >=dev-lang/lua-5.1 )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
 "
 DEPEND="${RDEPEND}"
 

diff --git a/dev-lua/specl/specl-9999.ebuild b/dev-lua/specl/specl-9999.ebuild
index dfb2673..1b80a24 100644
--- a/dev-lua/specl/specl-9999.ebuild
+++ b/dev-lua/specl/specl-9999.ebuild
@@ -18,10 +18,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       !luajit? (
-               =dev-lang/lua-5.1*
-       )
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-lua/luamacro
        dev-lua/lyaml
 "

diff --git a/dev-lua/squish/squish-9999.ebuild 
b/dev-lua/squish/squish-9999.ebuild
index a88866e..c31313e 100644
--- a/dev-lua/squish/squish-9999.ebuild
+++ b/dev-lua/squish/squish-9999.ebuild
@@ -15,12 +15,12 @@ SLOT="0"
 KEYWORDS=""
 IUSE="luajit"
 
-RDEPEND="|| ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )"
+RDEPEND="virtual/lua[luajit=]"
 DEPEND="${RDEPEND}"
 
 src_prepare() {
        use luajit && sed -r \
-               -e 's:(env lua):\1jit:' \
+               -e '1s:(env lua):\1jit:' \
                -i squish.lua make_squishy
 }
 

diff --git a/dev-lua/toluapp/toluapp-1.0.93.ebuild 
b/dev-lua/toluapp/toluapp-1.0.93.ebuild
index 828bdd0..386c38c 100644
--- a/dev-lua/toluapp/toluapp-1.0.93.ebuild
+++ b/dev-lua/toluapp/toluapp-1.0.93.ebuild
@@ -17,7 +17,9 @@ SLOT="0"
 KEYWORDS="alpha amd64 ppc ppc64 sparc x86"
 IUSE="luajit"
 
-RDEPEND="|| ( =dev-lang/lua-5.1*[deprecated] dev-lang/luajit:2 )"
+RDEPEND="
+       virtual/lua[luajit=]
+"
 DEPEND="
        ${RDEPEND}
        dev-util/scons
@@ -27,7 +29,7 @@ S="${WORKDIR}/${MY_P}"
 
 src_prepare() {
        local lua=lua;
-       use luajit && lua=luajit-5.1;
+       use luajit && lua=$($(tc-getPKG_CONFIG) --variable libname luajit);
        echo "LIBS = ['${lua}', 'dl', 'm']" > ${S}/custom.py
        sed -r \
                -e 's|(if rawtype.*arg.*)|\tlocal arg = {n=select('#', ...), 
...};\n\1|' \

diff --git a/dev-lua/verse/verse-9999.ebuild b/dev-lua/verse/verse-9999.ebuild
index 2bc93d6..f0cadc6 100644
--- a/dev-lua/verse/verse-9999.ebuild
+++ b/dev-lua/verse/verse-9999.ebuild
@@ -20,15 +20,12 @@ RDEPEND="
        dev-lua/luasocket
        dev-lua/luaexpat
        dev-lua/luafilesystem
-       !luajit? (
-               dev-lua/LuaBitOp
-               =dev-lang/lua-5.1*
-       )
-       luajit? (
-               dev-lang/luajit:2
-       )
+       virtual/lua[bit,luajit=]
+"
+DEPEND="
+       ${RDEPEND}
+       virtual/pkgconfig
 "
-DEPEND="${RDEPEND}"
 
 src_compile() {
        squish --use-http

diff --git a/dev-lua/wsapi/wsapi-9999.ebuild b/dev-lua/wsapi/wsapi-9999.ebuild
index a5689de..9ce7d83 100644
--- a/dev-lua/wsapi/wsapi-9999.ebuild
+++ b/dev-lua/wsapi/wsapi-9999.ebuild
@@ -4,22 +4,21 @@
 
 EAPI="5"
 
-inherit multilib eutils git-r3
+inherit multilib eutils git-r3 toolchain-funcs
 
 DESCRIPTION="Lua WSAPI Library"
 HOMEPAGE="https://github.com/keplerproject/wsapi";
 SRC_URI=""
 
-#s/msva/keplerproject/ somewhen in the future
-EGIT_REPO_URI="git://github.com/msva/wsapi.git 
https://github.com/msva/wsapi.git";
+EGIT_REPO_URI="https://github.com/keplerproject/wsapi.git";
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
 IUSE="luajit doc uwsgi +fcgi"
 #TODO: xavante"
-RDEPEND=" || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
-       luajit? ( dev-lang/luajit:2 )
+RDEPEND="
+       virtual/lua[luajit=]
        fcgi? (
                dev-libs/fcgi
                virtual/httpd-fastcgi
@@ -28,38 +27,42 @@ RDEPEND=" || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
                www-servers/uwsgi
        )
        dev-lua/rings
-       dev-lua/coxpcall"
+       dev-lua/coxpcall
+"
 #TODO: xavante? ( dev-lua/xavante )"
 DEPEND="${RDEPEND}"
 
 src_prepare() {
-       use luajit && \
-       sed -e "s/
//g" -e "s%#!.*lua$%#!/usr/bin/env luajit%g" \
-       -i src/launcher/wsapi{,.cgi,.fcgi}
+       local lua=lua
+       use luajit && lua=luajit
+       sed -r \
+               -e "s/
//g" \
+               -e "1s%#!#.*lua$%#!/usr/bin/env ${lua}%g" \
+               -i src/launcher/wsapi{,.cgi,.fcgi}
+       echo "
+               LIB_OPTION=-shared -fPIC
+               BIN_DIR=/usr/bin
+               LUA_DIR=$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})
+               LUA_LIBDIR=$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})
+               INC=-I$($(tc-getPKG_CONFIG) --variable includedir ${lua})
+               CC=$(tc-getCC) -fPIC -DPIC
+               LDFLAGS=${LDFLAGS}
+               CFLAGS=${CFLAGS}
+               DESTDIR=${ED}
+       " > "${S}/config"
 }
 
 src_configure() {
-       LUA="lua";
-       use luajit && LUA="luajit"
-       cd "${S}"
-       ./configure "${LUA}"
-}
-
-src_compile() {
-       use luajit && INC="-I/usr/include/luajit-2.0/"
-       emake DESTDIR="${D}" CC="$(tc-getCC) -fPIC -DPIC" LDFLAGS="${LDFLAGS}" 
INC="${INC}" CFLAGS="${CFLAGS}" || die "Can't copmile Lua-FCGI library"
+       :
 }
 
 src_install() {
-        docompress -x /usr/share/doc
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install-fcgi
-        use doc && (
-                insinto /usr/share/doc/${PF}/examples
-                doins -r samples/*
-                insinto /usr/share/doc/${PF}
-                doins -r doc/*
-        )
-
-#emake DESTDIR="${D}" PREFIX="/usr/share/doc/${P}" install-doc install-samples
+       docompress -x /usr/share/doc
+       default
+       use doc && (
+               insinto /usr/share/doc/${PF}/examples
+               doins -r samples/*
+               insinto /usr/share/doc/${PF}
+               doins -r doc/*
+       )
 }

diff --git a/dev-lua/yubikey-lua/yubikey-lua-9999.ebuild 
b/dev-lua/yubikey-lua/yubikey-lua-9999.ebuild
index 443cf56..de31051 100644
--- a/dev-lua/yubikey-lua/yubikey-lua-9999.ebuild
+++ b/dev-lua/yubikey-lua/yubikey-lua-9999.ebuild
@@ -16,7 +16,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       || ( >=dev-lang/lua-5.1 dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-lua/squish
 "
 DEPEND="${RDEPEND}"

diff --git a/games-engines/love/Manifest b/games-engines/love/Manifest
index 64a9785..c280d84 100644
--- a/games-engines/love/Manifest
+++ b/games-engines/love/Manifest
@@ -1 +1 @@
-DIST love-0.7.2-linux-src.tar.gz 900209 SHA256 
a57adcb0cbdc390a9bd8e2fe477bc175799b9ffd3486e01f859a36bf27f7f268 SHA512 
cbca1d7e3425d1ecbdae019212dfa2814d8ac3bad1faedd4b052cf3e89b5bf2fac6e422283628e4c125858c9db050dee2129476d1a73ec44ffe8a4704f170f61
 WHIRLPOOL 
1c5258fefca15c71065e0cfff795bfaf30b7c9acabf89ffa5fd71311ce1ee767f98088dbac844f26f50fc69d2d8d384819fce69372f573a48f5d3848a2d1da8f
+DIST love-0.9.2-linux-src.tar.gz 1451535 SHA256 
a995d062dc14e7944c239934b9343583153718774511d8625885aa57f2b5c172 SHA512 
a6948eb77334b1a73a3595268eca8bd7a04a723e9e027ef4b1b8133b4365c06b0a0c4d4e09040ab74bd1f8564d70ec8d07c61aa67d75d86ecba41b2baca629ab
 WHIRLPOOL 
100c8abd20ee43a26f8e36d9457dca7c91f23f38d03e0504e8386a0e9aa109ca362ba09d21f738598f7f18529a59a6d9cf296616ddd72cccd23cd97162b081bc

diff --git a/games-engines/love/love-0.7.2.ebuild 
b/games-engines/love/love-0.9.2.ebuild
similarity index 86%
rename from games-engines/love/love-0.7.2.ebuild
rename to games-engines/love/love-0.9.2.ebuild
index c1542d2..2b5b855 100644
--- a/games-engines/love/love-0.7.2.ebuild
+++ b/games-engines/love/love-0.9.2.ebuild
@@ -15,8 +15,9 @@ SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="luajit"
 
-RDEPEND="dev-games/physfs
-       dev-lang/lua
+RDEPEND="
+       dev-games/physfs
+       virtual/lua[luajit=]
        media-libs/devil[mng,tiff]
        media-libs/freetype
        media-libs/libmodplug
@@ -24,10 +25,13 @@ RDEPEND="dev-games/physfs
        media-libs/libvorbis
        media-libs/openal
        media-sound/mpg123
-       virtual/opengl"
-DEPEND="${RDEPEND}
+       virtual/opengl
+"
+DEPEND="
+       ${RDEPEND}
        media-libs/libmng
-       media-libs/tiff"
+       media-libs/tiff
+"
 
 S=${WORKDIR}/${PN}-HEAD
 

diff --git a/games-engines/love/love-9999.ebuild 
b/games-engines/love/love-9999.ebuild
index 26338aa..5987b4d 100644
--- a/games-engines/love/love-9999.ebuild
+++ b/games-engines/love/love-9999.ebuild
@@ -22,7 +22,8 @@ LICENSE="ZLIB"
 SLOT="0"
 IUSE="luajit"
 
-RDEPEND="dev-games/physfs
+RDEPEND="
+       dev-games/physfs
        media-libs/devil[mng,tiff]
        media-libs/freetype
        media-libs/libmodplug
@@ -30,11 +31,14 @@ RDEPEND="dev-games/physfs
        media-libs/libvorbis
        media-libs/openal
        media-sound/mpg123
-       virtual/lua
-       virtual/opengl"
-DEPEND="${RDEPEND}
+       virtual/lua[luajit=]
+       virtual/opengl
+"
+DEPEND="
+       ${RDEPEND}
        media-libs/libmng
-       media-libs/tiff"
+       media-libs/tiff
+"
 
 DOCS=( "readme.md" "changes.txt" )
 

diff --git a/net-im/clix/clix-9999.ebuild b/net-im/clix/clix-9999.ebuild
index 249fa5d..7d01b20 100644
--- a/net-im/clix/clix-9999.ebuild
+++ b/net-im/clix/clix-9999.ebuild
@@ -16,7 +16,7 @@ KEYWORDS=""
 IUSE="luajit"
 
 RDEPEND="
-       || ( =dev-lang/lua-5.1* dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        dev-lua/squish
        dev-lua/verse
        dev-lua/luaexpat

diff --git a/net-im/prosody-modules/prosody-modules-9999.ebuild 
b/net-im/prosody-modules/prosody-modules-9999.ebuild
index 8c65984..b3f2b29 100644
--- a/net-im/prosody-modules/prosody-modules-9999.ebuild
+++ b/net-im/prosody-modules/prosody-modules-9999.ebuild
@@ -100,11 +100,7 @@ RDEPEND="
                dev-lua/luafilesystem
        )
        prosody_modules_onions? (
-               || (
-                       >=dev-lang/lua-5.2
-                       dev-lang/luajit:2
-                       dev-lua/LuaBitOp
-               )
+               virtual/lua[bit]
        )
        prosody_modules_couchdb? (
                dev-lua/luasocket
@@ -120,11 +116,7 @@ RDEPEND="
                dev-lua/luasec
        )
        prosody_modules_auth_internal_yubikey? (
-               || (
-                       >=dev-lang/lua-5.2
-                       dev-lang/luajit:2
-                       dev-lua/LuaBitOp
-               )
+               virtual/lua[bit,luajit=]
                dev-lua/yubikey-lua
        )
        prosody_modules_auth_dovecot? (

diff --git a/net-im/prosody/Manifest b/net-im/prosody/Manifest
index 2b3093b..aa7b9c6 100644
--- a/net-im/prosody/Manifest
+++ b/net-im/prosody/Manifest
@@ -1 +1 @@
-DIST prosody-0.9.7.tar.gz 266638 SHA256 
dd4b99b39976442055898c933c013598e558beed11d7795d76ffc0f1a87e2e00 SHA512 
fc1f0855e7af2132058af493bb9af20f9f1aa3051e6d8550ba9942264d85dc6840085b17e2a0226d4015745407f445c691455d998c4a43a3a9aa2d036a01ce9e
 WHIRLPOOL 
5de40437be364856acbcaa2553aa54119bd46ed0afda9127211ff65ad9b4acea8b7a447452c7555ecfb9a58266cca319ecc2eb2a4959cb4e2390dc99dcf20b82
+DIST prosody-0.9.8.tar.gz 268716 SHA256 
9470415c56e0b847089b45fabd48bc1f8211cd525fba56967409d064f4257871 SHA512 
08ca8c8028a947a22d68ddc1d7eb93d3d205894102c900ece9e537ef9dd9332e8509e4b170069383e4f9717b52fd41aec2aa9d959e16ddebf0c3d54fe31aef3c
 WHIRLPOOL 
ab0b7a7e4324dd5ea59db4c6470f36cd047aa9da240cd987b9159cfa753e6f28cbf33bb726f8e89762e31ec6a09b7915162beb46e7e429159e52e6cb50dd2728

diff --git a/net-im/prosody/prosody-0.9.7.ebuild 
b/net-im/prosody/prosody-0.9.8.ebuild
similarity index 98%
rename from net-im/prosody/prosody-0.9.7.ebuild
rename to net-im/prosody/prosody-0.9.8.ebuild
index 03d56a4..ac240e7 100644
--- a/net-im/prosody/prosody-0.9.7.ebuild
+++ b/net-im/prosody/prosody-0.9.8.ebuild
@@ -17,9 +17,8 @@ KEYWORDS="x86 amd64 mips arm sparc"
 IUSE="doc +libevent mysql postgres sqlite +ssl +zlib luajit ipv6 migration"
 
 DEPEND="
-       || ( dev-lang/luajit:2 =dev-lang/lua-5.1* )
        net-im/jabber-base
-       luajit? ( dev-lang/luajit:2 )
+       virtual/lua[luajit=]
        >=net-dns/libidn-1.1
        >=dev-libs/openssl-0.9.8
 "

diff --git a/net-im/prosody/prosody-9999.ebuild 
b/net-im/prosody/prosody-9999.ebuild
index b4921b0..371d48f 100644
--- a/net-im/prosody/prosody-9999.ebuild
+++ b/net-im/prosody/prosody-9999.ebuild
@@ -13,21 +13,10 @@ EHG_REPO_URI="http://hg.prosody.im/trunk";
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS=""
-IUSE="doc +libevent mysql postgres sqlite +ssl +zlib luajit ipv6 migration 
-lua52"
+IUSE="doc +libevent mysql postgres sqlite +ssl +zlib luajit ipv6 migration"
 
 DEPEND="
-       luajit? (
-               dev-lang/luajit:2
-       )
-       !luajit? (
-               lua52? (
-                       =dev-lang/lua-5.2*
-               )
-               !lua52? (
-                       =dev-lang/lua-5.1*
-                       dev-lua/LuaBitOp
-               )
-       )
+       virtual/lua[luajit=,bit]
        net-im/jabber-base
        >=net-dns/libidn-1.1
        || (

diff --git a/virtual/lua/lua-5.ebuild b/virtual/lua/lua-5.ebuild
index 33479f0..088306f 100644
--- a/virtual/lua/lua-5.ebuild
+++ b/virtual/lua/lua-5.ebuild
@@ -14,8 +14,31 @@ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 
~s390 ~sh ~sparc ~x86
 IUSE="lua luajit"
 
 RDEPEND="
-       || ( >=dev-lang/lua-5 dev-lang/luajit:2 )
-       luajit? ( dev-lang/luajit:2 app-eselect/eselect-luajit )
+       !luajit? (
+               || (
+                       dev-lang/lua:5.1[deprecated]
+                       dev-lang/lua:5.2[deprecared]
+                       dev-lang/lua:5.3[deprecated]
+               )
+       )
+       bit? (
+               || (
+                       dev-lang/lua:5.2[deprecated]
+                       dev-lang/lua:5.3[deprecated]
+                       dev-lang/luajit:2.0
+                       dev-lang/luajit:2.1
+                       dev-lua/LuaBitOp
+               )
+       )
+       luajit? (
+               || (
+                       dev-lang/luajit:2.0
+                       dev-lang/luajit:2.1
+               )
+               app-eselect/eselect-luajit
+       )
        app-eselect/eselect-lua
+       !!dev-lang/lua:0
+       !!dev-lang/luajit:2
 "
 DEPEND="${RDEPEND}"

Reply via email to