summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/lua/Manifest4
-rw-r--r--dev-lang/lua/files/lua-5.1-make-r2.patch97
-rw-r--r--dev-lang/lua/files/lua-5.1-make_static-r1.patch12
-rw-r--r--dev-lang/lua/files/lua-5.1-module_paths.patch30
-rw-r--r--dev-lang/lua/files/lua-5.1-readline.patch10
-rw-r--r--dev-lang/lua/files/lua-5.1.4-deprecated.patch46
-rw-r--r--dev-lang/lua/files/lua-5.1.4-test.patch11
-rw-r--r--dev-lang/lua/files/lua-5.2-make-r1.patch75
-rw-r--r--dev-lang/lua/files/lua-5.3-make.patch23
-rw-r--r--dev-lang/lua/lua-5.1.5-r101.ebuild140
-rw-r--r--dev-lang/lua/lua-5.2.4.ebuild130
-rw-r--r--dev-lang/lua/lua-5.3.1.ebuild (renamed from dev-lang/lua/lua-5.3.0.ebuild)8
-rw-r--r--dev-lang/luajit/luajit-2.0.9999.ebuild51
-rw-r--r--dev-lang/luajit/luajit-2.1.9999.ebuild53
-rw-r--r--dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild36
-rw-r--r--dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild36
-rw-r--r--dev-lua/ansicolors/ansicolors-9999.ebuild25
-rw-r--r--dev-lua/captcha/captcha-9999.ebuild34
-rw-r--r--dev-lua/cmsgpack/cmsgpack-9999.ebuild34
-rw-r--r--dev-lua/cosmo/cosmo-9999.ebuild38
-rw-r--r--dev-lua/coxpcall/coxpcall-9999.ebuild21
-rw-r--r--dev-lua/iluajit/iluajit-9999.ebuild25
-rw-r--r--dev-lua/lahttp/lahttp-9999.ebuild22
-rw-r--r--dev-lua/lapis/lapis-9999.ebuild31
-rw-r--r--dev-lua/ldoc/ldoc-9999.ebuild37
-rw-r--r--dev-lua/linotify/linotify-9999.ebuild33
-rw-r--r--dev-lua/ljsyscall/ljsyscall-9999.ebuild27
-rw-r--r--dev-lua/lpc/lpc-9999.ebuild22
-rw-r--r--dev-lua/lpeg/lpeg-0.12.ebuild50
-rw-r--r--dev-lua/lsysstats/lsysstats-9999.ebuild32
-rw-r--r--dev-lua/lua-cjson/lua-cjson-9999.ebuild31
-rw-r--r--dev-lua/lua-csv/lua-csv-9999.ebuild24
-rw-r--r--dev-lua/lua-curl/lua-curl-9999.ebuild42
-rw-r--r--dev-lua/lua2html/lua2html-9999.ebuild19
-rw-r--r--dev-lua/luacrypto/luacrypto-9999.ebuild51
-rw-r--r--dev-lua/luadbi/luadbi-9999.ebuild73
-rw-r--r--dev-lua/lunit/lunit-9999.ebuild2
-rw-r--r--dev-lua/moonscript/moonscript-9999.ebuild55
-rw-r--r--dev-lua/squish/squish-9999.ebuild19
-rw-r--r--eclass/lua.eclass749
-rw-r--r--profiles/make.defaults2
-rw-r--r--profiles/updates/2Q-20152
-rw-r--r--profiles/updates/3Q-20153
-rw-r--r--virtual/lua/lua-5.ebuild9
44 files changed, 1724 insertions, 550 deletions
diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest
index d9ea152..78e7891 100644
--- a/dev-lang/lua/Manifest
+++ b/dev-lang/lua/Manifest
@@ -1 +1,3 @@
-DIST lua-5.3.0.tar.gz 278045 SHA256 ae4a5eb2d660515eb191bfe3e061f2b8ffe94dce73d32cfd0de090ddcc0ddb01 SHA512 2b423e70c4c992a08d28ef12f1d0b078f2ee7043cda302d93e9d59ff6ab79152bb4971455d37666a98cf5cfe3cafd3d16e30b33a11fd585743d5d817424a2d51 WHIRLPOOL bae9f472f61d45fc6a2f20119a947de5719ca911c3c90d85cd93e82dd95538a421e1d35c1d4726f1544f12a4285f9548612f9ac255cce3617ee6bc092f352a40
+DIST lua-5.1.5.tar.gz 221213 SHA256 2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9 WHIRLPOOL 9dac93b73b9ad1ef6c69e0aa11fb53d5efe89274b65c55a1ac30bab23e8a255851b0e44306db54212b1d481e658cecd38e5ff22a25e1fa974858b7b03fb45b75
+DIST lua-5.2.4.tar.gz 252651 SHA256 b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b SHA512 cd77148aba4b707b6c159758b5e8444e04f968092eb98f6b4c405b2fb647e709370d5a8dcf604176101d3407e196a7433b5dcdce4fe9605c76191d3649d61a8c WHIRLPOOL 4ddd1aefa63ea2df5d7e2a774aa89a427fa6753c11db26c70ebf82eece7b05807b7ada2c0966057fe2ddebf8ab792c0060aa51b0d29cd58572b2a0ba9dbabfdc
+DIST lua-5.3.1.tar.gz 282401 SHA256 072767aad6cc2e62044a66e8562f51770d941e972dc1e4068ba719cd8bffac17 SHA512 94c5e77d25172c1f5de0ea5457fe62f2bea618e573659df989297d1a8cb1b062c4b0133b88ffa9ce74cdbe98d0d1ea356c69115cae308030e1f989a3f6f26321 WHIRLPOOL 4530bb7623b754e5736af6b98538ec17931237f38d66acf0845707da09e3ced241a431c7dfb41718000a9295ca1489e8478e10f99d46b71a61c49db229e01ae2
diff --git a/dev-lang/lua/files/lua-5.1-make-r2.patch b/dev-lang/lua/files/lua-5.1-make-r2.patch
new file mode 100644
index 0000000..2905a62
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.1-make-r2.patch
@@ -0,0 +1,97 @@
+diff -ru lua-5.1.5.orig/Makefile lua-5.1.5/Makefile
+--- lua-5.1.5.orig/Makefile 2014-04-15 17:43:34.845435031 +0200
++++ lua-5.1.5/Makefile 2014-04-15 19:05:08.669304987 +0200
+@@ -11,7 +11,7 @@
+ # so take care if INSTALL_TOP is not an absolute path.
+ INSTALL_TOP= /usr/local
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+-INSTALL_INC= $(INSTALL_TOP)/include
++INSTALL_INC= $(INSTALL_TOP)/include/lua$V
+ INSTALL_LIB= $(INSTALL_TOP)/lib
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ #
+@@ -126,3 +126,21 @@
+ .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
+
+ # (end of Makefile)
++
++# Use libtool for binary installs, etc.
++
++export V
++export LIBTOOL = libtool --quiet --tag=CC
++# See libtool manual about how to set this
++
++gentoo_clean:
++ cd src; $(MAKE) $@
++
++gentoo_test: gentoo_linux
++ test/lua.static test/hello.lua
++
++gentoo_install:
++ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)
++ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN)
++ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
++ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB)
+diff -ru lua-5.1.5.orig/src/Makefile lua-5.1.5/src/Makefile
+--- lua-5.1.5.orig/src/Makefile 2014-04-15 17:43:34.844435031 +0200
++++ lua-5.1.5/src/Makefile 2014-04-15 18:07:21.427397122 +0200
+@@ -29,10 +29,10 @@
+ LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \
+ lstrlib.o loadlib.o linit.o
+
+-LUA_T= lua
++LUA_T= lua$V
+ LUA_O= lua.o
+
+-LUAC_T= luac
++LUAC_T= luac$V
+ LUAC_O= luac.o print.o
+
+ ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
+@@ -51,10 +51,10 @@
+ $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
+ $(RANLIB) $@
+
+-$(LUA_T): $(LUA_O) $(LUA_A)
++origin$(LUA_T): $(LUA_O) $(LUA_A)
+ $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+
+-$(LUAC_T): $(LUAC_O) $(LUA_A)
++origin$(LUAC_T): $(LUAC_O) $(LUA_A)
+ $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+
+ clean:
+@@ -180,3 +180,33 @@
+ ltm.h lzio.h lmem.h lopcodes.h lundump.h
+
+ # (end of Makefile)
++
++export LIBTOOL = libtool --tag=CC
++export LIB_VERSION = 5:1:5
++
++# The following rules use libtool for compiling and linking in order to
++# provide shared library support.
++
++LIB_NAME = liblua$V.la
++LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo)
++
++%.lo %.o: %.c
++ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
++
++$(LIB_NAME): $(LIB_OBJS)
++ $(LIBTOOL) --mode=link $(CC) -version-info 0:0:0 \
++ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
++
++$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
++
++lua_test: $(LUA_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
++
++$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME)
++
++gentoo_clean:
++ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V
++
++gentoo_all: $(LIB_NAME) $(LUA_T) lua_test $(LUAC_T)
diff --git a/dev-lang/lua/files/lua-5.1-make_static-r1.patch b/dev-lang/lua/files/lua-5.1-make_static-r1.patch
new file mode 100644
index 0000000..e5fdc3a
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.1-make_static-r1.patch
@@ -0,0 +1,12 @@
+diff -ru lua-5.1.1.orig/src/Makefile lua-5.1.1/src/Makefile
+--- lua-5.1.1.orig/src/Makefile 2006-11-21 07:19:31 +0000
++++ lua-5.1.1/src/Makefile 2006-11-21 07:19:52 +0000
+@@ -196,7 +196,7 @@
+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
+
+ $(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
+- $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
++ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
+
+ $(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
+ $(LIBTOOL) --mode=link $(CC) -static -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME)
diff --git a/dev-lang/lua/files/lua-5.1-module_paths.patch b/dev-lang/lua/files/lua-5.1-module_paths.patch
new file mode 100644
index 0000000..29ac4c3
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.1-module_paths.patch
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## src_luaconf.h.dpatch by John V. Belmonte <jbelmonte@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Set Lua's default PATH and CPATH.
+
+@DPATCH@
+diff -urNad trunk~/src/luaconf.h trunk/src/luaconf.h
+--- trunk~/src/luaconf.h 2006-02-10 12:44:06.000000000 -0500
++++ trunk/src/luaconf.h 2006-02-17 21:32:55.000000000 -0500
+@@ -83,13 +83,17 @@
+
+ #else
+ #define LUA_ROOT "/usr/local/"
++#define LUA_ROOT2 "/usr/"
+ #define LUA_LDIR LUA_ROOT "share/lua/5.1/"
++#define LUA_LDIR2 LUA_ROOT2 "share/lua/5.1/"
+ #define LUA_CDIR LUA_ROOT "lib/lua/5.1/"
++#define LUA_CDIR2 LUA_ROOT2 "lib/lua/5.1/"
+ #define LUA_PATH_DEFAULT \
+ "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
+- LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua"
++ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \
++ LUA_LDIR2"?.lua;" LUA_LDIR2"?/init.lua"
+ #define LUA_CPATH_DEFAULT \
+- "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so"
++ "./?.so;" LUA_CDIR"?.so;" LUA_CDIR2"?.so;" LUA_CDIR"loadall.so"
+ #endif
+
+
diff --git a/dev-lang/lua/files/lua-5.1-readline.patch b/dev-lang/lua/files/lua-5.1-readline.patch
new file mode 100644
index 0000000..f144861
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.1-readline.patch
@@ -0,0 +1,10 @@
+--- lua-5.1.1.orig/src/luaconf.h 2006-04-10 20:27:23.000000000 +0200
++++ lua-5.1.1/src/luaconf.h 2006-11-15 14:53:07.000000000 +0100
+@@ -36,7 +36,6 @@
+ #if defined(LUA_USE_LINUX)
+ #define LUA_USE_POSIX
+ #define LUA_USE_DLOPEN /* needs an extra library: -ldl */
+-#define LUA_USE_READLINE /* needs some extra libraries */
+ #endif
+
+ #if defined(LUA_USE_MACOSX)
diff --git a/dev-lang/lua/files/lua-5.1.4-deprecated.patch b/dev-lang/lua/files/lua-5.1.4-deprecated.patch
new file mode 100644
index 0000000..a88a991
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.1.4-deprecated.patch
@@ -0,0 +1,46 @@
+diff -rdu lua-5.1.3.orig/src/luaconf.h lua-5.1.3/src/luaconf.h
+--- lua-5.1.3.orig/src/luaconf.h 2008-02-12 17:00:03.000000000 +0000
++++ lua-5.1.3/src/luaconf.h 2008-02-12 17:07:55.000000000 +0000
+@@ -340,14 +340,14 @@
+ ** CHANGE it to undefined as soon as your programs use only '...' to
+ ** access vararg parameters (instead of the old 'arg' table).
+ */
+-#define LUA_COMPAT_VARARG
++#undef LUA_COMPAT_VARARG
+
+ /*
+ @@ LUA_COMPAT_MOD controls compatibility with old math.mod function.
+ ** CHANGE it to undefined as soon as your programs use 'math.fmod' or
+ ** the new '%' operator instead of 'math.mod'.
+ */
+-#define LUA_COMPAT_MOD
++#undef LUA_COMPAT_MOD
+
+ /*
+ @@ LUA_COMPAT_LSTR controls compatibility with old long string nesting
+@@ -355,14 +355,14 @@
+ ** CHANGE it to 2 if you want the old behaviour, or undefine it to turn
+ ** off the advisory error when nesting [[...]].
+ */
+-#define LUA_COMPAT_LSTR 1
++#undef LUA_COMPAT_LSTR
+
+ /*
+ @@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name.
+ ** CHANGE it to undefined as soon as you rename 'string.gfind' to
+ ** 'string.gmatch'.
+ */
+-#define LUA_COMPAT_GFIND
++#undef LUA_COMPAT_GFIND
+
+ /*
+ @@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib'
+@@ -370,7 +370,7 @@
+ ** CHANGE it to undefined as soon as you replace to 'luaL_register'
+ ** your uses of 'luaL_openlib'
+ */
+-#define LUA_COMPAT_OPENLIB
++#undef LUA_COMPAT_OPENLIB
+
+
+
diff --git a/dev-lang/lua/files/lua-5.1.4-test.patch b/dev-lang/lua/files/lua-5.1.4-test.patch
new file mode 100644
index 0000000..99b4ad6
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.1.4-test.patch
@@ -0,0 +1,11 @@
+--- test/sieve.lua~ 2002-10-31 03:52:58.000000000 +0100
++++ test/sieve.lua 2008-02-20 17:44:22.468281121 +0100
+@@ -14,7 +14,7 @@
+ while 1 do
+ local n = g()
+ if n == nil then return end
+- if math.mod(n, p) ~= 0 then coroutine.yield(n) end
++ if math.fmod(n, p) ~= 0 then coroutine.yield(n) end
+ end
+ end)
+ end
diff --git a/dev-lang/lua/files/lua-5.2-make-r1.patch b/dev-lang/lua/files/lua-5.2-make-r1.patch
new file mode 100644
index 0000000..a0624af
--- /dev/null
+++ b/dev-lang/lua/files/lua-5.2-make-r1.patch
@@ -0,0 +1,75 @@
+--- lua-5.1.1.orig/Makefile 2006-06-02 12:53:38.000000000 +0200
++++ lua-5.1.1/Makefile 2006-11-16 02:16:53.000000000 +0100
+@@ -11,7 +11,7 @@
+ # so take care if INSTALL_TOP is not an absolute path.
+ INSTALL_TOP= /usr/local
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+-INSTALL_INC= $(INSTALL_TOP)/include
++INSTALL_INC= $(INSTALL_TOP)/include/lua$V
+ INSTALL_LIB= $(INSTALL_TOP)/lib
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ #
+@@ -127,3 +127,18 @@
+ .PHONY: all $(PLATS) clean install local none dummy echo pecho lecho newer
+
+ # (end of Makefile)
++
++# Use libtool for binary installs, etc.
++
++export V
++export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
++# See libtool manual about how to set this
++
++gentoo_clean:
++ cd src; $(MAKE) $@
++
++gentoo_install:
++ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)
++ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN)
++ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
++ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB)
+--- lua-5.1.1.orig/src/Makefile 2006-03-22 01:41:49.000000000 +0100
++++ lua-5.1.1/src/Makefile 2006-11-16 02:10:27.000000000 +0100
+@@ -39,1 +39,1 @@
+-LUA_T= lua
++LUA_T= lua$V
+@@ -42,1 +42,1 @@
+-LUAC_T= luac
++LUAC_T= luac$V
+@@ -54,1 +54,1 @@
+-$(LUA_T): $(LUA_O) $(LUA_A)
++origin$(LUA_T): $(LUA_O) $(LUA_A)
+@@ -57,1 +57,1 @@
+-$(LUAC_T): $(LUAC_O) $(LUA_A)
++origin$(LUAC_T): $(LUAC_O) $(LUA_A)
+@@ -185,3 +185,30 @@
+ lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \
+ lzio.h
+
++
++export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
++export LIB_VERSION = 6:1:1
++
++# The following rules use libtool for compiling and linking in order to
++# provide shared library support.
++
++LIB_NAME = liblua$V.la
++LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo)
++
++%.lo %.o: %.c
++ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
++
++$(LIB_NAME): $(LIB_OBJS)
++ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \
++ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
++
++$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
++
++$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
++ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME)
++
++gentoo_clean:
++ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V
++
++gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T)
diff --git a/dev-lang/lua/files/lua-5.3-make.patch b/dev-lang/lua/files/lua-5.3-make.patch
index f84176d..ed22597 100644
--- a/dev-lang/lua/files/lua-5.3-make.patch
+++ b/dev-lang/lua/files/lua-5.3-make.patch
@@ -1,16 +1,16 @@
--- lua-5.1.1.orig/Makefile 2006-06-02 12:53:38.000000000 +0200
+++ lua-5.1.1/Makefile 2006-11-16 02:16:53.000000000 +0100
-@@ -11,7 +11,7 @@
- # so take care if INSTALL_TOP is not an absolute path.
+@@ -12,7 +12,7 @@
+ # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
INSTALL_TOP= /usr/local
INSTALL_BIN= $(INSTALL_TOP)/bin
-INSTALL_INC= $(INSTALL_TOP)/include
+INSTALL_INC= $(INSTALL_TOP)/include/lua$V
INSTALL_LIB= $(INSTALL_TOP)/lib
INSTALL_MAN= $(INSTALL_TOP)/man/man1
- #
-@@ -127,3 +127,18 @@
- .PHONY: all $(PLATS) clean install local none dummy echo pecho lecho newer
+ INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
+@@ -112,3 +112,18 @@
+ .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
# (end of Makefile)
+
@@ -36,15 +36,16 @@
@@ -42,1 +42,1 @@
-LUAC_T= luac
+LUAC_T= luac$V
-@@ -54,1 +54,1 @@
+@@ -62,1 +62,1 @@
-$(LUA_T): $(LUA_O) $(LUA_A)
+origin$(LUA_T): $(LUA_O) $(LUA_A)
-@@ -57,1 +57,1 @@
+@@ -65,1 +65,1 @@
-$(LUAC_T): $(LUAC_O) $(LUA_A)
+origin$(LUAC_T): $(LUAC_O) $(LUA_A)
-@@ -185,3 +185,30 @@
- lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \
- lobject.h ltm.h lzio.h
+@@ -195,3 +195,30 @@
+ lobject.h ltm.h lzio.h
+
+ # (end of Makefile)
+
+export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
+export LIB_VERSION = 6:1:1
@@ -72,5 +73,3 @@
+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V
+
+gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T)
-
- # (end of Makefile)
diff --git a/dev-lang/lua/lua-5.1.5-r101.ebuild b/dev-lang/lua/lua-5.1.5-r101.ebuild
new file mode 100644
index 0000000..bcfd7b1
--- /dev/null
+++ b/dev-lang/lua/lua-5.1.5-r101.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib multilib-minimal portability toolchain-funcs versionator
+
+DESCRIPTION="A powerful light-weight programming language designed for extending applications"
+HOMEPAGE="http://www.lua.org/"
+SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="5.1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+deprecated emacs readline static"
+
+RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1[${MULTILIB_USEDEP}] )
+ app-eselect/eselect-lua
+ !dev-lang/lua:0"
+DEPEND="${RDEPEND}
+ sys-devel/libtool"
+PDEPEND="emacs? ( app-emacs/lua-mode )"
+
+SAN_SLOT="${SLOT//.}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/lua${SLOT}/luaconf.h
+)
+
+src_prepare() {
+ local PATCH_PV=${SLOT}
+
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch
+
+ [ -d "${FILESDIR}/${PV}" ] && \
+ EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
+
+ # correct lua versioning
+ sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
+
+ sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
+
+ if ! use deprecated ; then
+ # patches from 5.1.4 still apply
+ epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
+ epatch "${FILESDIR}"/${PN}-5.1.4-test.patch
+ fi
+
+ if ! use readline ; then
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch
+ fi
+
+ # Using dynamic linked lua is not recommended for performance
+ # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
+ # Mainly, this is of concern if your arch is poor with GPRs, like x86
+ # Note that this only affects the interpreter binary (named lua), not the lua
+ # compiler (built statically) nor the lua libraries (both shared and static
+ # are installed)
+ if use static ; then
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch
+ fi
+
+ # custom Makefiles
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # We want packages to find our things...
+ sed -i \
+ -e 's:/usr/local:'${EPREFIX}'/usr:' \
+ -e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
+ etc/lua.pc src/luaconf.h || die
+}
+
+multilib_src_compile() {
+ tc-export CC
+ myflags=
+ # what to link to liblua
+ liblibs="-lm"
+ liblibs="${liblibs} $(dlopen_lib)"
+
+ # what to link to the executables
+ mylibs=
+ if use readline; then
+ mylibs="-lreadline"
+ fi
+
+ cd src
+ emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \
+ RPATH="${EPREFIX}/usr/$(get_libdir)/" \
+ LUA_LIBS="${mylibs}" \
+ LIB_LIBS="${liblibs}" \
+ V=$(get_version_component_range 1-2) \
+ gentoo_all
+
+ mv lua_test ../test/lua.static
+}
+
+multilib_src_install() {
+ emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ V=${SLOT} gentoo_install
+
+ cp "${FILESDIR}/lua.pc" "${WORKDIR}"
+ sed \
+ -e "s:^V=.*:V= ${SLOT}:" \
+ -e "s:^R=.*:R= ${PV}:" \
+ -e "s:/,lib,:/$(get_libdir):g" \
+ -i "${WORKDIR}/lua.pc"
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
+}
+
+multilib_src_install_all() {
+ dodoc HISTORY README
+ dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
+
+ doicon etc/lua.ico
+
+ newman doc/lua.1 lua${SLOT}.1
+ newman doc/luac.1 luac${SLOT}.1
+}
+
+multilib_src_test() {
+ local positive="bisect cf echo env factorial fib fibfor hello printf sieve
+ sort trace-calls trace-globals"
+ local negative="readonly"
+ local test
+
+ cd "${BUILD_DIR}" || die
+ for test in ${positive}; do
+ test/lua.static test/${test}.lua || die "test $test failed"
+ done
+
+ for test in ${negative}; do
+ test/lua.static test/${test}.lua && die "test $test failed"
+ done
+}
diff --git a/dev-lang/lua/lua-5.2.4.ebuild b/dev-lang/lua/lua-5.2.4.ebuild
new file mode 100644
index 0000000..d3d989d
--- /dev/null
+++ b/dev-lang/lua/lua-5.2.4.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils autotools multilib multilib-minimal portability toolchain-funcs
+
+DESCRIPTION="A powerful light-weight programming language designed for extending applications"
+HOMEPAGE="http://www.lua.org/"
+SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="5.2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="+deprecated emacs readline static"
+
+RDEPEND="readline? ( sys-libs/readline )
+ app-eselect/eselect-lua
+ !dev-lang/lua:0"
+DEPEND="${RDEPEND}
+ sys-devel/libtool"
+PDEPEND="emacs? ( app-emacs/lua-mode )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/lua${SLOT}/luaconf.h
+)
+
+src_prepare() {
+ local PATCH_PV=${SLOT}
+
+ epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch
+
+ [ -d "${FILESDIR}/${PV}" ] && \
+ EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
+
+ # correct lua versioning
+ sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
+
+ sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
+
+ if ! use readline ; then
+ sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
+ fi
+
+ # Using dynamic linked lua is not recommended for performance
+ # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
+ # Mainly, this is of concern if your arch is poor with GPRs, like x86
+ # Note that this only affects the interpreter binary (named lua), not the lua
+ # compiler (built statically) nor the lua libraries (both shared and static
+ # are installed)
+ if use static ; then
+ sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die
+ fi
+
+ # upstream does not use libtool, but we do (see bug #336167)
+ cp "${FILESDIR}/configure.in" "${S}"/ || die
+ eautoreconf
+
+ # custom Makefiles
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ sed -i \
+ -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
+ -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
+ src/luaconf.h \
+ || die "failed patching luaconf.h"
+
+ econf
+}
+
+multilib_src_compile() {
+ tc-export CC
+
+ # what to link to liblua
+ liblibs="-lm"
+ liblibs="${liblibs} $(dlopen_lib)"
+
+ # what to link to the executables
+ mylibs=
+ use readline && mylibs="-lreadline"
+
+ cd src
+
+ local myCFLAGS=""
+ use deprecated && myCFLAGS="-DLUA_COMPAT_ALL"
+
+ case "${CHOST}" in
+ *-mingw*) : ;;
+ *) myCFLAGS+=" -DLUA_USE_LINUX" ;;
+ esac
+
+ emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
+ SYSLDFLAGS="${LDFLAGS}" \
+ RPATH="${EPREFIX}/usr/$(get_libdir)/" \
+ LUA_LIBS="${mylibs}" \
+ LIB_LIBS="${liblibs}" \
+ V=${SLOT} \
+ gentoo_all
+}
+
+multilib_src_install() {
+ emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
+ V=${SLOT} gentoo_install
+
+ # We want packages to find our things...
+ cp "${FILESDIR}/lua.pc" "${WORKDIR}"
+ sed \
+ -e "s:^V=.*:V= ${SLOT}:" \
+ -e "s:^R=.*:R= ${PV}:" \
+ -e "s:/,lib,:/$(get_libdir):g" \
+ -i "${WORKDIR}/lua.pc"
+
+ insinto "/usr/$(get_libdir)/pkgconfig"
+ newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
+}
+
+multilib_src_install_all() {
+ dodoc README
+ dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
+
+ newman doc/lua.1 lua${SLOT}.1
+ newman doc/luac.1 luac${SLOT}.1
+}
+
+# Makefile contains a dummy target that doesn't do tests
+# but causes issues with slotted lua (bug #510360)
+src_test() { :; }
diff --git a/dev-lang/lua/lua-5.3.0.ebuild b/dev-lang/lua/lua-5.3.1.ebuild
index 45e8629..04f3437 100644
--- a/dev-lang/lua/lua-5.3.0.ebuild
+++ b/dev-lang/lua/lua-5.3.1.ebuild
@@ -4,7 +4,7 @@
EAPI="5"
-inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator
+inherit eutils autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="http://www.lua.org/"
@@ -16,7 +16,7 @@ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86
IUSE="+deprecated emacs readline static"
RDEPEND="readline? ( sys-libs/readline )
- app-admin/eselect-lua
+ app-eselect/eselect-lua
!dev-lang/lua:0"
DEPEND="${RDEPEND}
sys-devel/libtool"
@@ -27,7 +27,7 @@ MULTILIB_WRAPPED_HEADERS=(
)
src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
+ local PATCH_PV=${SLOT}
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make.patch
@@ -97,7 +97,7 @@ multilib_src_compile() {
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
+ V=${SLOT} \
gentoo_all
}
diff --git a/dev-lang/luajit/luajit-2.0.9999.ebuild b/dev-lang/luajit/luajit-2.0.9999.ebuild
index 67c9fb0..ff280a5 100644
--- a/dev-lang/luajit/luajit-2.0.9999.ebuild
+++ b/dev-lang/luajit/luajit-2.0.9999.ebuild
@@ -10,7 +10,7 @@ DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
HOMEPAGE="http://luajit.org/"
SRC_URI=""
EGIT_REPO_URI="git://repo.or.cz/luajit-2.0.git"
-SLOT="2.0"
+SLOT="2"
LICENSE="MIT"
KEYWORDS=""
@@ -53,28 +53,36 @@ pkg_setup() {
src_prepare(){
# fixing prefix and version
+# sed -r \
+# -e 's|^(VERSION)=.*|\1=$(MAJVER).$(MINVER)|' \
+# -e 's|\$\(MAJVER\)\.\$\(MINVER\)\.\$\(RELVER\)|$(VERSION)|' \
+# -e 's|^(FILE_MAN)=.*|\1=${PN}-$(VERSION).1|' \
+# -e 's|^(INSTALL_PCNAME)=.*|\1=${PN}-$(VERSION).pc|' \
+# -e 's|^(INSTALL_SOSHORT)=.*|\1=lib${PN}-${SLOT}.so|' \
+# -e 's|^(INSTALL_ANAME)=.*|\1=lib${PN}-${SLOT}.a|' \
+# -e 's|^(INSTALL_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
+# -e 's|( PREFIX)=.*|\1=/usr|' \
+# -e '/\$\(SYMLINK\)\ \$\(INSTALL_TNAME\)\ \$\(INSTALL_TSYM\)/d' \
+# -i Makefile || die "failed to fix prefix in Makefile"
+
sed -r \
- -e 's|^(VERSION)=.*|\1=$(MAJVER).$(MINVER)|' \
- -e 's|^(FILE_MAN)=.*|\1=${PN}-$(VERSION).1|' \
+ -e 's|^(VERSION)=.*|\1=${PV}|' \
-e 's|\$\(MAJVER\)\.\$\(MINVER\)\.\$\(RELVER\)|$(VERSION)|' \
- -e 's|^(INSTALL_PCNAME)=.*|\1=${PN}-$(VERSION).pc|' \
- -e 's|^(INSTALL_SOSHORT)=.*|\1=lib${PN}-${SLOT}.so|' \
- -e 's|^(INSTALL_ANAME)=.*|\1=lib${PN}-${SLOT}.a|' \
- -e 's|^(INSTALL_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
+ -e 's|^(INSTALL_PCNAME)=.*|\1=${P}.pc|' \
-e 's|( PREFIX)=.*|\1=/usr|' \
- -e '/\$\(SYMLINK\)\ \$\(INSTALL_TNAME\)\ \$\(INSTALL_TSYM\)/d' \
+ -e 's|^(FILE_MAN)=.*|\1=${P}.1|' \
-i Makefile || die "failed to fix prefix in Makefile"
- sed -r \
- -e 's|^(libname=.*-)\$\{abiver\}|\1${majver}.${minver}|' \
- -i "etc/${PN}.pc" || die "Failed to slottify"
+# sed -r \
+# -e 's|^(libname=.*-)\$\{abiver\}|\1${majver}.${minver}|' \
+# -i "etc/${PN}.pc" || die "Failed to slottify"
- sed -r \
- -e 's|^(TARGET_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
- -i src/Makefile || die "Failed to slottify"
+# sed -r \
+# -e 's|^(TARGET_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
+# -i src/Makefile || die "Failed to slottify"
sed -r \
- -e 's|^(#define LUA_LJDIR).*|\1 "/'${PN}-${SLOT}'/"|' \
+ -e 's|^(#define LUA_LJDIR).*|\1 "/'${P}'/"|' \
-i src/luaconf.h || die "Failed to slotify"
use debug && (
@@ -82,7 +90,7 @@ src_prepare(){
-e 's/#(CCDEBUG= -g)/\1 -ggdb/' \
-i src/Makefile || die "Failed to enable debug"
)
- mv "${S}"/etc/${PN}.1 "${S}"/etc/${PN}-${SLOT}.1
+ mv "${S}"/etc/${PN}.1 "${S}"/etc/${P}.1
multilib_copy_sources
}
@@ -120,16 +128,17 @@ multilib_src_install() {
base_src_install_docs
- host-is-pax && pax-mark m "${ED}usr/bin/${PN}-${SLOT}"
- newman "etc/${PN}-${SLOT}.1" "luacjit-${SLOT}.1"
- newbin "${FILESDIR}/luac.jit" "luacjit-${SLOT}"
+ host-is-pax && pax-mark m "${ED}usr/bin/${P}"
+ newman "etc/${P}.1" "luacjit-${PV}.1"
+ newbin "${FILESDIR}/luac.jit" "luacjit-${PV}"
+ ln -s "${P}" "${ED}usr/bin/${PN}-${SLOT}"
}
pkg_postinst() {
if [[ ! -n $(readlink "${ROOT}"usr/bin/luajit) ]] ; then
- eselect luajit set luajit-${SLOT}
+ eselect luajit set luajit-${PV}
fi
if [[ ! -n $(readlink "${ROOT}"usr/bin/lua) ]] ; then
- eselect lua set jit-${SLOT}
+ eselect lua set jit-${PV}
fi
}
diff --git a/dev-lang/luajit/luajit-2.1.9999.ebuild b/dev-lang/luajit/luajit-2.1.9999.ebuild
index ba75be0..9d5a682 100644
--- a/dev-lang/luajit/luajit-2.1.9999.ebuild
+++ b/dev-lang/luajit/luajit-2.1.9999.ebuild
@@ -10,8 +10,8 @@ DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
HOMEPAGE="http://luajit.org/"
SRC_URI=""
EGIT_REPO_URI="git://repo.or.cz/luajit-2.0.git"
-SLOT="2.1"
-EGIT_BRANCH="v${SLOT}"
+SLOT="2"
+EGIT_BRANCH="v2.1"
LICENSE="MIT"
KEYWORDS=""
@@ -54,28 +54,36 @@ pkg_setup() {
src_prepare(){
# fixing prefix and version
+# sed -r \
+# -e 's|^(VERSION)=.*|\1=$(MAJVER).$(MINVER)|' \
+# -e 's|\$\(MAJVER\)\.\$\(MINVER\)\.\$\(RELVER\)|$(VERSION)|' \
+# -e 's|^(FILE_MAN)=.*|\1=${PN}-$(VERSION).1|' \
+# -e 's|^(INSTALL_PCNAME)=.*|\1=${PN}-$(VERSION).pc|' \
+# -e 's|^(INSTALL_SOSHORT)=.*|\1=lib${PN}-${SLOT}.so|' \
+# -e 's|^(INSTALL_ANAME)=.*|\1=lib${PN}-${SLOT}.a|' \
+# -e 's|^(INSTALL_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
+# -e 's|( PREFIX)=.*|\1=/usr|' \
+# -e '/\$\(SYMLINK\)\ \$\(INSTALL_TNAME\)\ \$\(INSTALL_TSYM\)/d' \
+# -i Makefile || die "failed to fix prefix in Makefile"
+
sed -r \
- -e 's|^(VERSION)=.*|\1=$(MAJVER).$(MINVER)|' \
- -e 's|^(FILE_MAN)=.*|\1=${PN}-$(VERSION).1|' \
+ -e 's|^(VERSION)=.*|\1=${PV}|' \
-e 's|\$\(MAJVER\)\.\$\(MINVER\)\.\$\(RELVER\)|$(VERSION)|' \
- -e 's|^(INSTALL_PCNAME)=.*|\1=${PN}-$(VERSION).pc|' \
- -e 's|^(INSTALL_SOSHORT)=.*|\1=lib${PN}-${SLOT}.so|' \
- -e 's|^(INSTALL_ANAME)=.*|\1=lib${PN}-${SLOT}.a|' \
- -e 's|^(INSTALL_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
+ -e 's|^(INSTALL_PCNAME)=.*|\1=${P}.pc|' \
-e 's|( PREFIX)=.*|\1=/usr|' \
- -e '/\$\(SYMLINK\)\ \$\(INSTALL_TNAME\)\ \$\(INSTALL_TSYM\)/d' \
+ -e 's|^(FILE_MAN)=.*|\1=${P}.1|' \
-i Makefile || die "failed to fix prefix in Makefile"
- sed -r \
- -e 's|^(libname=.*-)\$\{abiver\}|\1${majver}.${minver}|' \
- -i "etc/${PN}.pc" || die "Failed to slottify"
+# sed -r \
+# -e 's|^(libname=.*-)\$\{abiver\}|\1${majver}.${minver}|' \
+# -i "etc/${PN}.pc" || die "Failed to slottify"
- sed -r \
- -e 's|^(TARGET_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
- -i src/Makefile || die "Failed to slottify"
+# sed -r \
+# -e 's|^(TARGET_SONAME)=.*|\1=lib${PN}-${SLOT}.so.${PV}|' \
+# -i src/Makefile || die "Failed to slottify"
sed -r \
- -e 's|^(#define LUA_LJDIR).*|\1 "/'${PN}-${SLOT}'/"|' \
+ -e 's|^(#define LUA_LJDIR).*|\1 "/'${P}'/"|' \
-i src/luaconf.h || die "Failed to slotify"
use debug && (
@@ -83,7 +91,7 @@ src_prepare(){
-e 's/#(CCDEBUG= -g)/\1 -ggdb/' \
-i src/Makefile || die "Failed to enable debug"
)
- mv "${S}"/etc/${PN}.1 "${S}"/etc/${PN}-${SLOT}.1
+ mv "${S}"/etc/${PN}.1 "${S}"/etc/${P}.1
multilib_copy_sources
}
@@ -121,16 +129,17 @@ multilib_src_install() {
base_src_install_docs
- host-is-pax && pax-mark m "${ED}usr/bin/${PN}-${SLOT}"
- newman "etc/${PN}-${SLOT}.1" "luacjit-${SLOT}.1"
- newbin "${FILESDIR}/luac.jit" "luacjit-${SLOT}"
+ host-is-pax && pax-mark m "${ED}usr/bin/${P}"
+ newman "etc/${P}.1" "luacjit-${PV}.1"
+ newbin "${FILESDIR}/luac.jit" "luacjit-${PV}"
+ ln -s "${P}" "${ED}usr/bin/${PN}-${SLOT}"
}
pkg_postinst() {
if [[ ! -n $(readlink "${ROOT}"usr/bin/luajit) ]] ; then
- eselect luajit set luajit-${SLOT}
+ eselect luajit set luajit-${PV}
fi
if [[ ! -n $(readlink "${ROOT}"usr/bin/lua) ]] ; then
- eselect lua set jit-${SLOT}
+ eselect lua set jit-${PV}
fi
}
diff --git a/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild b/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
index 8f4faad..a364492 100644
--- a/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
+++ b/dev-lua/LuaBitOp/LuaBitOp-1.0.2.ebuild
@@ -3,7 +3,11 @@
# $Header: This ebuild is from Lua overlay; Bumped by mva; $
EAPI="5"
-inherit eutils multilib toolchain-funcs
+
+IS_MULTILIB=true
+#LUA_COMPAT="lua51" #actually. But lj, l52 and l53 can load it too
+
+inherit lua
DESCRIPTION="Bit Operations Library for the Lua Programming Language"
HOMEPAGE="http://bitop.luajit.org"
@@ -12,30 +16,20 @@ SRC_URI="http://bitop.luajit.org/download/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="luajit"
+IUSE="doc"
-DEPEND="virtual/lua[luajit=]"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i \
- -e '/^CFLAGS.*=/s/=/ +=/' \
- -e '/^CFLAGS/s/-O2 -fomit-frame-pointer //' \
- Makefile || die "sed failed"
-}
+READMES=( README )
+HTML_DOCS=( doc/ )
-src_compile() {
- emake CC="$(tc-getCC)"
+each_lua_compile() {
+ _lua_setCFLAGS
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
}
-src_test() {
- make test
+each_lua_test() {
+ emake LUA=${LUA} test
}
-src_install() {
- local lua=lua
- use luajit && lua=luajit
- exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})"
- doexe bit.so
- dohtml -r doc/*
+each_lua_install() {
+ dolua bit.so
}
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 f1bf451..d63617f 100644
--- a/dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild
+++ b/dev-lua/alt-getopt/alt-getopt-0.7.0.ebuild
@@ -4,41 +4,27 @@
EAPI="5"
-inherit base toolchain-funcs
+inherit lua
DESCRIPTION="Lua bindings to getopt_long"
HOMEPAGE="http://luaforge.net/projects/alt-getopt"
-SRC_URI="mirror://luaforge/${PN}/${PN}/${PN}-${PV}/lua-${PN}-${PV}.tar.gz"
+MY_P="lua-${P}"
+SRC_URI="mirror://luaforge/${PN}/${PN}/${P}/${MY_P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="x86 amd64"
-IUSE="luajit"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
-RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
+READMES=( README )
-DOCS=( "README" )
+S="${WORKDIR}/all/${MY_P}"
+LUA_S="${MY_P}"
-S="${WORKDIR}/lua-${P}"
-
-src_compile() {
- :
+each_lua_install() {
+ dolua alt_getopt.lua
}
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
-
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins alt_getopt.lua
-
+all_lua_install() {
dobin alt_getopt
-
- base_src_install_docs
}
diff --git a/dev-lua/ansicolors/ansicolors-9999.ebuild b/dev-lua/ansicolors/ansicolors-9999.ebuild
index e79aa3f..e2ac7aa 100644
--- a/dev-lua/ansicolors/ansicolors-9999.ebuild
+++ b/dev-lua/ansicolors/ansicolors-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit base toolchain-funcs git-r3
+VCS=git-r3
+inherit lua
DESCRIPTION="A simple Lua function for printing to the console in color."
HOMEPAGE="https://github.com/kikito/ansicolors.lua"
@@ -15,24 +16,10 @@ EGIT_REPO_URI="https://github.com/kikito/ansicolors.lua"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit"
+IUSE=""
-RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
+READMES=( "README.textile" )
-HTML_DOCS=( "README.textile" )
-
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
-
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins -r ansicolors.lua
-
- base_src_install_docs
+each_lua_install() {
+ dolua ansicolors.lua
}
diff --git a/dev-lua/captcha/captcha-9999.ebuild b/dev-lua/captcha/captcha-9999.ebuild
index 2e93aa4..a61d2a5 100644
--- a/dev-lua/captcha/captcha-9999.ebuild
+++ b/dev-lua/captcha/captcha-9999.ebuild
@@ -4,10 +4,11 @@
EAPI="5"
-inherit eutils toolchain-funcs git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="A small lua module to generate CAPTCHA images using lua-gd"
-HOMEPAGE="https://github.com/mrDoctorWho/lua-${PN}"
+HOMEPAGE="https://github.com/mrDoctorWho/lua-captcha"
SRC_URI=""
EGIT_REPO_URI="https://github.com/mrDoctorWho/lua-${PN}"
@@ -15,32 +16,19 @@ EGIT_REPO_URI="https://github.com/mrDoctorWho/lua-${PN}"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="jpeg luajit png +samples"
+IUSE="jpeg png +examples"
+
+READMES=( README.md )
+EXAMPLES=( examples/* )
RDEPEND="
- virtual/lua[luajit=]
- dev-lua/lua-gd[luajit=]
+ dev-lua/lua-gd
media-libs/gd[jpeg=,truetype,png=]
"
REQUIRED_USE="|| ( jpeg png )"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-src_compile() { :; }
-
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
-
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins -r src/*
-
- if use samples; then
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples
- fi
+each_lua_install() {
+ dolua src/*
}
+
diff --git a/dev-lua/cmsgpack/cmsgpack-9999.ebuild b/dev-lua/cmsgpack/cmsgpack-9999.ebuild
index b44942b..85cdaf9 100644
--- a/dev-lua/cmsgpack/cmsgpack-9999.ebuild
+++ b/dev-lua/cmsgpack/cmsgpack-9999.ebuild
@@ -4,42 +4,34 @@
EAPI="5"
-inherit toolchain-funcs git-r3
+IS_MULTILIB=true
+VCS="git-r3"
+
+inherit lua
DESCRIPTION="A self contained Lua MessagePack C implementation"
HOMEPAGE="https://github.com/antirez/lua-cmsgpack"
-MY_PN="lua_${PN}"
-
EGIT_REPO_URI="https://github.com/antirez/lua-cmsgpack"
KEYWORDS=""
-DOCS=( README.md )
+READMES=( README.md )
LICENSE="BSD-2"
SLOT="0"
-IUSE="luajit test"
+IUSE="test"
-RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="${RDEPEND}"
+each_lua_compile() {
+ _lua_setCFLAGS
+ local MY_PN="lua_${PN}"
-src_compile() {
- 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
}
-src_test() {
- lua test.lua || die
+each_lua_test() {
+ ${LUA} test.lua || die
}
-src_install() {
- local lua=lua
- use luajit && lua=luajit
- default
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})"
- doins "${PN}".so
+each_lua_install() {
+ dolua "${PN}.so"
}
diff --git a/dev-lua/cosmo/cosmo-9999.ebuild b/dev-lua/cosmo/cosmo-9999.ebuild
index 6b85277..bdd7030 100644
--- a/dev-lua/cosmo/cosmo-9999.ebuild
+++ b/dev-lua/cosmo/cosmo-9999.ebuild
@@ -4,52 +4,32 @@
EAPI="5"
-inherit multilib eutils git-r3 toolchain-funcs
+VCS="git-r3"
+inherit lua
DESCRIPTION="safe-template engine for lua"
HOMEPAGE="https://github.com/mascarenhas/cosmo"
SRC_URI=""
-EGIT_REPO_URI="https://github.com/msva/cosmo.git"
+EGIT_REPO_URI="https://github.com/mascarenhas/cosmo.git"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="doc luajit"
+IUSE="doc +examples"
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() {
- :
-}
+DOCS=( README doc/cosmo.md )
+HTML_DOCS=( doc/index.html doc/cosmo.png )
+EXAMPLES=( samples/sample.lua )
-src_install() {
- 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/*
- )
+each_lua_install() {
+ dolua src/*
}
diff --git a/dev-lua/coxpcall/coxpcall-9999.ebuild b/dev-lua/coxpcall/coxpcall-9999.ebuild
index 3d05e24..83f9f18 100644
--- a/dev-lua/coxpcall/coxpcall-9999.ebuild
+++ b/dev-lua/coxpcall/coxpcall-9999.ebuild
@@ -4,30 +4,23 @@
EAPI="5"
-inherit multilib eutils git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="Lua coxpcall Library"
HOMEPAGE="https://github.com/keplerproject/coxpcall"
SRC_URI=""
#s/msva/keplerproject/ when they apply pull-request
-EGIT_REPO_URI="git://github.com/msva/coxpcall.git https://github.com/msva/coxpcall.git"
+EGIT_REPO_URI="https://github.com/msva/coxpcall.git"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="doc luajit"
+IUSE="doc"
-RDEPEND="virtual/lua[luajit=]"
-DEPEND="${RDEPEND}"
+HTML_DOCS=( doc/us/ )
-src_configure() {
- local lua="lua";
- use luajit && lua="luajit";
- ./configure "${lua}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- use doc && emake DESTDIR="${D}" DOC_PREFIX=/usr/share/doc/${PF}/ install-doc
+each_lua_install() {
+ dolua src/*
}
diff --git a/dev-lua/iluajit/iluajit-9999.ebuild b/dev-lua/iluajit/iluajit-9999.ebuild
index f888097..8273747 100644
--- a/dev-lua/iluajit/iluajit-9999.ebuild
+++ b/dev-lua/iluajit/iluajit-9999.ebuild
@@ -4,7 +4,10 @@
EAPI="5"
-inherit eutils git-r3 toolchain-funcs
+LUA_COMPAT="luajit2"
+VCS="git-r3"
+
+inherit lua
DESCRIPTION="Readline powered shell for LuaJIT"
HOMEPAGE="https://github.com/jdesgats/ILuaJIT"
@@ -19,26 +22,24 @@ IUSE="doc +completion"
RDEPEND="
doc? ( dev-lua/luadoc )
- virtual/lua[luajit]
dev-lua/penlight
sys-libs/readline
completion? ( dev-lua/luafilesystem )
- virtual/pkgconfig
"
DEPEND="${RDEPEND}"
-src_install() {
- local lmod="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD luajit)"
+READMES=( README.md )
+HTML_DOCS=( html/ )
- dodoc README.md || die "dodoc failed"
- use doc && (
- luadoc . -d html
- dohtml -r html
- )
+all_lua_prepare() {
+ use doc && luadoc . -d html
+}
- insinto "${lmod}"
- doins *.lua
+each_lua_install() {
+ dolua *.lua
+}
+all_lua_install() {
# make_wrapper "${PN}" "luajit -l ${PN}"
dobin ${FILESDIR}/${PN}
}
diff --git a/dev-lua/lahttp/lahttp-9999.ebuild b/dev-lua/lahttp/lahttp-9999.ebuild
index 1fef463..301b60b 100644
--- a/dev-lua/lahttp/lahttp-9999.ebuild
+++ b/dev-lua/lahttp/lahttp-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit multilib toolchain-funcs flag-o-matic mercurial eutils
+VCS="mercurial"
+inherit lua
DESCRIPTION="Lua Asynchronous HTTP Library."
HOMEPAGE="http://code.matthewwild.co.uk/"
@@ -13,22 +14,25 @@ EHG_REPO_URI="http://code.matthewwild.co.uk/${PN}/"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit"
+IUSE=""
RDEPEND="
- virtual/lua[luajit=]
dev-lua/squish
dev-lua/luasocket
"
DEPEND="${RDEPEND}"
-src_compile() {
+all_lua_prepare() {
+# -e "s#net/httpclient#libs/httpclient#" \ #why it there?
+ sed -r \
+ -e 's#(AutoFetchURL ").*/prosody.im.*(/\?")#\1https://hg.prosody.im/0.8/raw-file/278489ee6e34\2#' \
+ -i squishy
+}
+
+each_lua_compile() {
squish --use-http
}
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins lahttp.lua || die
+each_lua_install() {
+ dolua lahttp.lua
}
diff --git a/dev-lua/lapis/lapis-9999.ebuild b/dev-lua/lapis/lapis-9999.ebuild
index f5bc8e6..b0ac90e 100644
--- a/dev-lua/lapis/lapis-9999.ebuild
+++ b/dev-lua/lapis/lapis-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit base toolchain-funcs git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="A web framework for Lua/MoonScript."
HOMEPAGE="https://github.com/leafo/lapis"
@@ -15,10 +16,9 @@ EGIT_REPO_URI="https://github.com/leafo/lapis"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit moonscript"
+IUSE="doc moonscript"
RDEPEND="
- virtual/lua[luajit=]
moonscript? ( dev-lua/moonscript )
dev-lua/ansicolors
dev-lua/luasocket
@@ -33,24 +33,21 @@ DEPEND="
virtual/pkgconfig
"
-HTML_DOCS=( "docs/" "README.md" )
+DOCS=( docs/ README.md )
-src_compile() {
- use moonscript && emake build
+all_lua_prepare() {
+ use moonscript || find "${S}" -type -name '*.moon' -delete
}
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
-
- use moonscript || find "${S}" -type -name '*.moon' -delete
+each_lua_compile() {
+ use moonscript && emake build
+}
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins -r lapis
+each_lua_install() {
+ use moonscript && dolua lapis.moon
+ dolua lapis
+}
+all_lua_install() {
dobin bin/lapis
-
- use moonscript && doins lapis.moon
-
- base_src_install_docs
}
diff --git a/dev-lua/ldoc/ldoc-9999.ebuild b/dev-lua/ldoc/ldoc-9999.ebuild
index cb39915..4eed4ed 100644
--- a/dev-lua/ldoc/ldoc-9999.ebuild
+++ b/dev-lua/ldoc/ldoc-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit eutils toolchain-funcs git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="A LuaDoc-compatible documentation generation system"
HOMEPAGE="https://github.com/stevedonovan/LDoc/"
@@ -15,33 +16,29 @@ EGIT_REPO_URI="https://github.com/stevedonovan/LDoc/"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit doc"
+IUSE="doc"
RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
+ dev-lua/penlight
"
-src_prepare() {
- local lua=lua
- use luajit && lua=luajit
+DOCS=( doc/doc.md readme.md )
- sed -r \
- -e "1s#(/usr/bin/env).*#\1 ${lua}#" \
- -i ldoc.lua
-}
+HTML_DOCS=( doc_html/ ldoc_html/ )
-src_compile() { :; }
+all_lua_prepare() {
+ local lua="$(lua_get_implementation)"
-src_install() {
- local lua=lua
- use luajit && lua=luajit
+ cd doc; ${lua} ../ldoc.lua . -d ../doc_html; cd ..
+ cd ldoc; ${lua} ../ldoc.lua . -d ../ldoc_html; cd ..
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins -r ldoc ldoc.lua
+ rm ldoc/{SciTE.properties,config.ld}
+}
+
+each_lua_install() {
+ dolua ldoc ldoc.lua
+}
+all_lua_install() {
newbin ldoc.lua ldoc
}
diff --git a/dev-lua/linotify/linotify-9999.ebuild b/dev-lua/linotify/linotify-9999.ebuild
index 8896ccc..6a4e2a4 100644
--- a/dev-lua/linotify/linotify-9999.ebuild
+++ b/dev-lua/linotify/linotify-9999.ebuild
@@ -4,7 +4,9 @@
EAPI="5"
-inherit autotools eutils git-r3
+IS_MULTILIB=true
+VCS="git-r3"
+inherit lua
DESCRIPTION="inotify bindings for Lua"
HOMEPAGE="https://github.com/hoelzro/linotify"
@@ -15,29 +17,18 @@ EGIT_REPO_URI="https://github.com/hoelzro/linotify.git"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit"
+IUSE=""
-RDEPEND="virtual/lua[luajit=]"
-DEPEND="${RDEPEND}"
+RDEPEND="virtual/libc"
-src_prepare() {
- epatch_user
-}
+READMES=( README.md )
-src_compile() {
- LUAPKG_CMD="lua";
- use luajit && LUAPKG_CMD="luajit";
- export LUAPKG_CMD;
- emake \
- CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) ${LUAPKG_CMD} --cflags) -fPIC" \
- || die "emake failed"
+each_lua_compile() {
+ _lua_setCFLAGS
+ emake LUAPKG_CMD="${lua_impl}"
}
-src_install() {
- insinto /usr/share/doc/"${P}";
- doins README.md
- emake install \
- DESTDIR="${D}" \
- INSTALL_PATH="$($(tc-getPKG_CONFIG) ${LUAPKG_CMD} --variable=INSTALL_CMOD)" \
- || die "emake failed"
+each_lua_install() {
+ dolua inotify.so
+# emake LUAPKG_CMD="${lua_impl}" DESTDIR="${D}" install
}
diff --git a/dev-lua/ljsyscall/ljsyscall-9999.ebuild b/dev-lua/ljsyscall/ljsyscall-9999.ebuild
index c56f894..e652395 100644
--- a/dev-lua/ljsyscall/ljsyscall-9999.ebuild
+++ b/dev-lua/ljsyscall/ljsyscall-9999.ebuild
@@ -4,34 +4,29 @@
EAPI="5"
-inherit git-r3 eutils
+VCS="git-r3"
+LUA_COMPAT="luajit2"
+inherit lua
-DESCRIPTION="Lua JSON Library, written in C"
+DESCRIPTION="LuaJIT Unix syscall FFI"
HOMEPAGE="https://github.com/justincormack/ljsyscall"
SRC_URI=""
-EGIT_REPO_URI="https://github.com/justincormack/ljsyscall git://github.com/justincormack/ljsyscall"
+EGIT_REPO_URI="https://github.com/justincormack/ljsyscall"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="test"
+IUSE="doc +examples test"
RDEPEND="
- virtual/lua[luajit]
- || (
- sys-libs/glibc[arm=,x86=,amd64=,ppc=,mips=]
- sys-libs/musl[arm=,x86=,amd64=,ppc=,mips=]
- sys-libs/uclibc[arm=,x86=,amd64=,ppc=,mips=]
- )
+ virtual/libc
"
-REQUIRED_USE="^^ ( arm x86 amd64 ppc mips )"
DEPEND="${RDEPEND}"
-DOCS=( "${S}"/README.md )
+DOCS=( README.md doc/)
+EXAMPLES=( examples/* )
-src_install() {
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD luajit)"
- doins -r syscall syscall.lua
- default
+each_lua_install() {
+ dolua syscall syscall.lua
}
diff --git a/dev-lua/lpc/lpc-9999.ebuild b/dev-lua/lpc/lpc-9999.ebuild
index a878974..a572f23 100644
--- a/dev-lua/lpc/lpc-9999.ebuild
+++ b/dev-lua/lpc/lpc-9999.ebuild
@@ -4,7 +4,9 @@
EAPI="5"
-inherit base multilib toolchain-funcs git-r3
+IS_MULTILIB=true
+VCS="git-r3"
+inherit lua
DESCRIPTION="Allows Lua scripts to call external processes while capturing both their input and output."
HOMEPAGE="http://lua.net-core.org/sputnik.lua?p=Telesto:About"
@@ -13,19 +15,13 @@ EGIT_REPO_URI="https://github.com/LuaDist/lpc"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit"
+IUSE=""
-RDEPEND="virtual/lua[luajit=]"
-DEPEND="${RDEPEND}"
-
-src_compile() {
- local lua=lua;
- use luajit && lua=luajit;
- emake CFLAGS="-I$($(tc-getPKG_CONFIG) --variable includedir ${lua}) -fPIC" CC="$(tc-getCC)"
+each_lua_compile() {
+ _lua_setCFLAGS
+ emake CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
}
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
- emake INSTALL_PREFIX="${D}$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})" install
+each_lua_install() {
+ dolua ${PN}.so
}
diff --git a/dev-lua/lpeg/lpeg-0.12.ebuild b/dev-lua/lpeg/lpeg-0.12.ebuild
index e0141e9..7d3d240 100644
--- a/dev-lua/lpeg/lpeg-0.12.ebuild
+++ b/dev-lua/lpeg/lpeg-0.12.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit flag-o-matic toolchain-funcs eutils multilib
+IS_MULTILIB=true
+inherit lua
DESCRIPTION="Parsing Expression Grammars for Lua"
HOMEPAGE="http://www.inf.puc-rio.br/~roberto/lpeg/"
@@ -13,44 +14,25 @@ SRC_URI="http://www.inf.puc-rio.br/~roberto/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm ~hppa ~mips x86"
-IUSE="debug doc luajit"
-
-RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- local lua=lua
- use luajit && lua=luajit
-
- epatch "${FILESDIR}"/${P}-makefile.patch
- sed -r \
- -e "2s#^(LUADIR).*#\1 = $($(tc-getPKG_CONFIG) --variable includedir ${lua})#" \
- -i makefile
+IUSE="debug doc"
+
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
+DOCS=( HISTORY )
+HTML_DOCS=( {lpeg,re}.html )
+
+all_lua_prepare() {
use debug && append-cflags -DLPEG_DEBUG
}
-src_compile() {
- emake CC="$(tc-getCC)"
+each_lua_compile() {
+ _lua_setCFLAGS
+ emake CC="$(tc-getCC)" DLLFLAGS="${CFLAGS} ${LDFLAGS}" lpeg.so
}
-src_test() {
- local lua=lua
- use luajit && lua=luajit
-
- ${lua} test.lua || die
+each_lua_test() {
+ ${LUA} test.lua
}
-src_install() {
- local lua=lua
- use luajit && lua=luajit
-
- exeinto "$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})"
- doexe lpeg.so
-
- dodoc HISTORY
-
- use doc && dohtml *.html
+each_lua_install() {
+ dolua lpeg.so
}
diff --git a/dev-lua/lsysstats/lsysstats-9999.ebuild b/dev-lua/lsysstats/lsysstats-9999.ebuild
index f8d0006..3450870 100644
--- a/dev-lua/lsysstats/lsysstats-9999.ebuild
+++ b/dev-lua/lsysstats/lsysstats-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit multilib toolchain-funcs flag-o-matic mercurial eutils
+VCS="mercurial"
+inherit lua
DESCRIPTION="System statistics library for Lua"
HOMEPAGE="http://code.matthewwild.co.uk/"
@@ -13,18 +14,19 @@ EHG_REPO_URI="http://code.matthewwild.co.uk/${PN}/"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit"
-
-RDEPEND="
- virtual/lua[luajit=]
- dev-lua/squish
- dev-lua/luasocket
-"
-DEPEND="${RDEPEND}"
-
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
- insinto $($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})/${PN}/;
- doins *.lua || die
+IUSE="+examples"
+
+EXAMPLES=( demo.lua )
+
+all_lua_prepare() {
+ sed -r \
+ -e "s#(require.*)(proc.*)#\1${PN}.\2#" \
+ -i init.lua
+
+ mkdir -p ${PN}
+ mv {init,proc}.lua ${PN}
+}
+
+each_lua_install() {
+ dolua ${PN}
}
diff --git a/dev-lua/lua-cjson/lua-cjson-9999.ebuild b/dev-lua/lua-cjson/lua-cjson-9999.ebuild
index a9b599a..0c0d662 100644
--- a/dev-lua/lua-cjson/lua-cjson-9999.ebuild
+++ b/dev-lua/lua-cjson/lua-cjson-9999.ebuild
@@ -4,35 +4,36 @@
EAPI="5"
-inherit cmake-utils git-r3
+VCS="git-r3"
+IS_MULTILIB=true
+LUA_COMPAT="lua51 luajit2"
+inherit cmake-utils lua
DESCRIPTION="Lua JSON Library, written in C"
HOMEPAGE="http://www.kyne.com.au/~mark/software/lua-cjson.php"
SRC_URI=""
-EGIT_REPO_URI="https://github.com/msva/lua-cjson"
+EGIT_REPO_URI="https://github.com/openresty/lua-cjson"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="examples luajit"
+IUSE="+examples"
-RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="${RDEPEND}"
+EXAMPLES=( tests/* lua/{json2lua,lua2json}.lua )
-src_configure() {
+each_lua_configure() {
mycmakeargs=(
- $(cmake-utils_use_use luajit)
+ -DUSE_INTERNAL_FPCONV=ON
)
cmake-utils_src_configure
}
-src_install() {
- if use examples; then
- insinto /usr/share/doc/"${P}"
- doins -r tests
- fi
- cmake-utils_src_install
+each_lua_compile() {
+ emake
+}
+
+each_lua_install() {
+ dolua lua/cjson cjson.so
+# cmake-utils_src_install
}
diff --git a/dev-lua/lua-csv/lua-csv-9999.ebuild b/dev-lua/lua-csv/lua-csv-9999.ebuild
index 8141bf2..771a569 100644
--- a/dev-lua/lua-csv/lua-csv-9999.ebuild
+++ b/dev-lua/lua-csv/lua-csv-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit toolchain-funcs git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="a Lua module for reading delimited text files"
HOMEPAGE="https://github.com/geoffleyland/lua-csv"
@@ -15,23 +16,10 @@ EGIT_REPO_URI="https://github.com/geoffleyland/lua-csv"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit +lpeg_replace"
+IUSE=""
-RDEPEND="
- virtual/lua[luajit=]
-"
-DEPEND="${RDEPEND}"
+READMES=( README.md )
-src_prepare() {
- epatch_user
-}
-
-src_install() {
- local lua=lua
- use luajit && lua=luajit
-
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins -r lua/csv.lua
-
- dodoc README.md || die "dodoc failed"
+each_lua_install() {
+ dolua lua/csv.lua
}
diff --git a/dev-lua/lua-curl/lua-curl-9999.ebuild b/dev-lua/lua-curl/lua-curl-9999.ebuild
index 8a8702e..28c65b5 100644
--- a/dev-lua/lua-curl/lua-curl-9999.ebuild
+++ b/dev-lua/lua-curl/lua-curl-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="Lua cURL Library"
HOMEPAGE="https://github.com/Lua-cURL/Lua-cURLv3"
@@ -15,37 +16,32 @@ EGIT_REPO_URI="https://github.com/Lua-cURL/Lua-cURLv3"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="doc examples luajit"
+IUSE="doc +examples"
RDEPEND="
- virtual/lua[luajit=]
net-misc/curl
"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
+DEPEND="
+ doc? ( dev-lua/luadoc )
+ ${RDEPEND}
"
-src_prepare() {
- epatch_user
-}
+EXAMPLES=( examples/* )
+HTML_DOCS=( html/ )
+READMES=( README.md )
-src_configure() {
- local lua="lua";
- use luajit && lua="luajit";
- echo "LUA_IMPL=${lua}" > ${S}/.config;
+each_lua_compile() {
+ _lua_setCFLAGS
+ emake LUA_IMPL="${lua_impl}"
}
-
-
-src_install() {
- use examples && {
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples
- }
+all_lua_compile() {
use doc && (
- docompress -x /usr/share/doc/${PF}/html
cd doc
- ldoc .
- dohtml -r html
+ ldoc . -d ../html
)
- default
+}
+
+
+each_lua_install() {
+ emake LUA_IMPL="${lua_impl}" DESTDIR="${D}" install
}
diff --git a/dev-lua/lua2html/lua2html-9999.ebuild b/dev-lua/lua2html/lua2html-9999.ebuild
index bbc9aa9..e04e0c0 100644
--- a/dev-lua/lua2html/lua2html-9999.ebuild
+++ b/dev-lua/lua2html/lua2html-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit multilib toolchain-funcs flag-o-matic mercurial eutils
+VCS="mercurial"
+inherit lua
DESCRIPTION="Lua to HTML code converter written in Lua."
HOMEPAGE="http://code.matthewwild.co.uk/"
@@ -13,27 +14,19 @@ EHG_REPO_URI="http://code.matthewwild.co.uk/${PN}/"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit"
+IUSE=""
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
-}
+DOCS=( README )
-src_compile() {
+all_lua_compile() {
squish
}
-src_install() {
+all_lua_install() {
dobin lua2html
- dodoc README
}
diff --git a/dev-lua/luacrypto/luacrypto-9999.ebuild b/dev-lua/luacrypto/luacrypto-9999.ebuild
index 47581b2..345d841 100644
--- a/dev-lua/luacrypto/luacrypto-9999.ebuild
+++ b/dev-lua/luacrypto/luacrypto-9999.ebuild
@@ -6,45 +6,54 @@ EAPI="5"
LANGS=" en ru"
-inherit eutils git-r3
+VCS=git-r3
+IS_MULTILIB=true
+LUA_COMPAT="lua51 luajit2"
+
+inherit lua
DESCRIPTION="Lua Crypto Library"
HOMEPAGE="https://github.com/msva/lua-crypto"
SRC_URI=""
-EGIT_REPO_URI="git://github.com/msva/lua-crypto.git"
+EGIT_REPO_URI="https://github.com/msva/lua-crypto.git"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="doc luajit"
+IUSE="doc +openssl gcrypt"
IUSE+="${LANGS// / linguas_}"
RDEPEND="
- virtual/lua[luajit=]
- >=dev-libs/openssl-0.9.7
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
+ openssl? ( >=dev-libs/openssl-0.9.7 )
+ gcrypt? ( dev-libs/libgcrypt )
"
-src_prepare() {
- local lua=lua;
- use luajit && lua=luajit;
- sed \
- -e 's|LUA_IMPL := "lua"|LUA_IMPL := "'${lua}'"|' \
- -i Makefile
-}
+REQUIRED_USE="^^ ( openssl gcrypt )"
-src_install() {
- if use doc; then
- dodoc README || die "dodoc (REAMDE) failed"
+READMES=( README )
+HTML_DOCS=()
+
+all_lua_prepare() {
for x in ${LANGS}; do
if use linguas_${x}; then
- dohtml -r doc/${x} || die "dohtml failed"
+ HTML_DOCS+=( doc/${x} )
fi
done
+}
+
+each_lua_compile() {
+ _lua_setCFLAGS
+
+ local engine="openssl";
+ if use gcrypt; then
+ engine="gcrypt"
+ tc-getPROG GCRYPT_CONFIG libgcrypt-config
fi
- default
+
+ emake LUA_IMPL="${lua_impl}" CC="${CC}" CRYPTO_ENGINE="${engine}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" PKG_CONFIG="${PKG_CONFIG}" GCRYPT_CONFIG="${GCRYPT_CONFIG}"
+}
+
+each_lua_install() {
+ dolua src/crypto.so
}
diff --git a/dev-lua/luadbi/luadbi-9999.ebuild b/dev-lua/luadbi/luadbi-9999.ebuild
index ec987bb..8f3f922 100644
--- a/dev-lua/luadbi/luadbi-9999.ebuild
+++ b/dev-lua/luadbi/luadbi-9999.ebuild
@@ -4,7 +4,10 @@
EAPI="5"
-inherit multilib toolchain-funcs flag-o-matic eutils mercurial
+LUA_COMPAT="lua51 lua52 luajit2"
+IS_MULTILIB=true
+VCS="mercurial"
+inherit lua
DESCRIPTION="DBI module for Lua"
HOMEPAGE="https://code.google.com/p/luadbi"
@@ -14,29 +17,28 @@ EHG_REPO_URI="https://bitbucket.org/mva/luadbi-temp"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="mysql postgres sqlite luajit"
+IUSE="mysql postgres sqlite oracle"
RDEPEND="
- virtual/lua[luajit=]
mysql? ( || ( dev-db/mysql dev-db/mariadb ) )
postgres? ( dev-db/postgresql )
sqlite? ( >=dev-db/sqlite-3 )
+ oracle? ( dev-db/oracle-instantclient-basic )
"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
-S="${WORKDIR}"
+#S="${WORKDIR}"
-src_compile() {
- local lua=lua;
- use luajit && lua=luajit;
+each_lua_compile() {
+ _lua_setCFLAGS
- local drivers=""
- use mysql && drivers="${drivers} mysql"
- use postgres && drivers="${drivers} psql"
- use sqlite && drivers="${drivers} sqlite3"
+ local drivers=()
+ use mysql && drivers+=( "mysql" )
+ use postgres && drivers+=( "psql" )
+ use sqlite && drivers+=( "sqlite3" )
+ use oracle && drivers+=( "oracle" )
- if [ -z "${drivers// /}" ] ; then
+ if [[ -z "${drivers[@]}" ]] ; then
eerror
eerror "No driver was selected, cannot build."
eerror "Please set USE flags to build any driver."
@@ -45,38 +47,27 @@ src_compile() {
die "No driver selected"
fi
- for driver in "${drivers}" ; do
- emake \
- CC="$(tc-getCC) -fPIC -DPIC" \
- LDFLAGS="${LDFLAGS}" \
- CFLAGS="${CFLAGS}" \
- LUA_LMOD="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})" \
- LUA_CMOD="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})" \
- LUA_INC="-I$($(tc-getPKG_CONFIG) --variable includedir ${lua})" \
- PSQL_INC="-I/usr/include/postgresql/server" \
- MYSQL_INC="-I/usr/include/mysql -L/usr/$(get_libdir)/mysql" \
- ${driver} \
- || die "Compiling driver '${drivers// /}' failed"
- done
-}
+ for driver in "${drivers[@]}"; do
+ local buildme;
+ if [[ ${driver} = "psql" && ${ABI} = "x86" ]]; then
+ # FIXME: when postgres and perl (as postgres dep) will have multilib support
+ buildme=no
+ fi
-src_install() {
- local drivers=""
- use mysql && drivers="${drivers} mysql"
- use postgres && drivers="${drivers} psql"
- use sqlite && drivers="${drivers} sqlite3"
+# LUA_INC="$($(tc-getPKG_CONFIG) --cflags ${lua_impl})" \
- for driver in ${drivers} ; do
- emake \
- CC="$(tc-getCC) -fPIC -DPIC" \
+ [[ ${buildme} = "no" ]] || emake \
+ CC="${CC}" \
LDFLAGS="${LDFLAGS}" \
CFLAGS="${CFLAGS}" \
- LUA_LMOD="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})" \
- LUA_CMOD="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua})" \
- LUA_INC="-I$($(tc-getPKG_CONFIG) --variable includedir ${lua})" \
PSQL_INC="-I/usr/include/postgresql/server" \
MYSQL_INC="-I/usr/include/mysql -L/usr/$(get_libdir)/mysql" \
- DESTDIR="${D}" "install_${driver// /}" \
- || die "Install of driver '${drivers// /}' failed"
+ ${driver}
+
+ unset buildme
done
}
+
+each_lua_install() {
+ dolua *.so DBI.lua
+}
diff --git a/dev-lua/lunit/lunit-9999.ebuild b/dev-lua/lunit/lunit-9999.ebuild
index 9a7f2fe..31d755f 100644
--- a/dev-lua/lunit/lunit-9999.ebuild
+++ b/dev-lua/lunit/lunit-9999.ebuild
@@ -15,7 +15,7 @@ EGIT_REPO_URI="https://github.com/dcurrie/${PN}"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit +samples"
+IUSE="luajit +examples"
RDEPEND="
virtual/lua[luajit=]
diff --git a/dev-lua/moonscript/moonscript-9999.ebuild b/dev-lua/moonscript/moonscript-9999.ebuild
index 6989367..baca13f 100644
--- a/dev-lua/moonscript/moonscript-9999.ebuild
+++ b/dev-lua/moonscript/moonscript-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit base toolchain-funcs git-r3
+VCS="git-r3"
+inherit lua
DESCRIPTION="A programmer friendly language that compiles into Lua."
HOMEPAGE="https://github.com/leafo/moonscript"
@@ -15,48 +16,40 @@ EGIT_REPO_URI="https://github.com/leafo/moonscript"
LICENSE="MIT"
SLOT="0"
KEYWORDS=""
-IUSE="luajit +inotify"
+IUSE="+doc +inotify"
RDEPEND="
- virtual/lua[luajit=]
- dev-lua/lpeg
+ || (
+ dev-lua/lpeg
+ dev-lua/lulpeg[lpeg-compat]
+ )
dev-lua/luafilesystem
dev-lua/alt-getopt
inotify? ( dev-lua/linotify )
"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-HTML_DOCS=( "docs/" "README.md" )
-
-src_prepare() {
- local lua=lua;
- use luajit && lua=luajit;
+DEPEND="${RDEPEND}"
- sed -r \
- -e "s/lua5.1/${lua}/" \
- -i Makefile
+DOCS=( docs/ README.md )
- sed -r \
- -e "1s#(/usr/bin/env) lua#\1 ${lua}#" \
- -i bin/moon bin/moonc
+each_lua_compile() {
+ local lua="$(lua_get_implementation)"
+ ${lua} bin/moonc moon/ moonscript/
}
-src_compile() {
- emake compile
-}
+all_lua_compile() {
+ local lua="$(lua_get_implementation)"
-src_install() {
- local lua=lua;
- use luajit && lua=luajit;
+ echo "#!/usr/bin/env lua" > bin/moon
+ ${lua} bin/moonc -p bin/moon.moon >> bin/moon
+ echo "-- vim: set filetype=lua:" >> bin/moon
- insinto "$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua})"
- doins -r moon.lua moonscript.lua moon moonscript
+ ${lua} bin/moonc -p bin/splat.moon >> bin/splat
+}
- dobin bin/moon bin/moonc
- newbin bin/splat.moon splat
+each_lua_install() {
+ dolua moon{,script}{,.lua}
+}
- base_src_install_docs
+all_lua_install() {
+ dobin bin/{moon,moonc,splat}
}
diff --git a/dev-lua/squish/squish-9999.ebuild b/dev-lua/squish/squish-9999.ebuild
index c31313e..a806b34 100644
--- a/dev-lua/squish/squish-9999.ebuild
+++ b/dev-lua/squish/squish-9999.ebuild
@@ -4,7 +4,8 @@
EAPI="5"
-inherit mercurial eutils
+VCS="mercurial"
+inherit eutils lua
DESCRIPTION="XMPP client library written in Lua."
HOMEPAGE="http://code.matthewwild.co.uk/"
@@ -15,17 +16,19 @@ SLOT="0"
KEYWORDS=""
IUSE="luajit"
-RDEPEND="virtual/lua[luajit=]"
-DEPEND="${RDEPEND}"
+READMES=( README )
-src_prepare() {
+all_lua_prepare() {
use luajit && sed -r \
-e '1s:(env lua):\1jit:' \
-i squish.lua make_squishy
}
-src_install() {
- dobin squish || die;
- dobin make_squishy || die;
- dodoc README CHANGES || die
+all_lua_compile() {
+ emake
+}
+
+all_lua_install() {
+ dobin squish
+ dobin make_squishy
}
diff --git a/eclass/lua.eclass b/eclass/lua.eclass
new file mode 100644
index 0000000..cf5651f
--- /dev/null
+++ b/eclass/lua.eclass
@@ -0,0 +1,749 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# @ECLASS: lua.eclass
+# @MAINTAINER:
+# mva <lua@mva.name>
+# @AUTHOR:
+# Author: Vadim A. Misbakh-Soloviov <lua@mva.name>
+# @BLURB: An eclass for installing Lua packages with proper support for multiple Lua slots.
+# @DESCRIPTION:
+# The Lua eclass is designed to allow an easier installation of Lua packages
+# and their incorporation into the Gentoo Linux system.
+#
+# Currently available targets are:
+# * lua51 - Lua (PUC-Rio) 5.1
+# * lua52 - Lua (PUC-Rio) 5.2
+# * lua53 - Lua (PUC-Rio) 5.3
+# * luajit2 - LuaJIT 2.x
+#
+# This eclass does not define the implementation of the configure,
+# compile, test, or install phases. Instead, the default phases are
+# used. Specific implementations of these phases can be provided in
+# the ebuild either to be run for each Lua implementation, or for all
+# Lua implementations, as follows:
+#
+# * each_lua_configure
+# * all_lua_configure
+
+# @ECLASS-VARIABLE: LUA_COMPAT
+# @REQUIRED
+# @DESCRIPTION:
+# This variable contains a space separated list of targets (see above) a package
+# is compatible to. It must be set before the `inherit' call.
+: ${LUA_COMPAT:=lua51 lua52 lua53 luajit2}
+
+# @ECLASS-VARIABLE: LUA_PATCHES
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A String or Array of filenames of patches to apply to all implementations.
+
+# @ECLASS-VARIABLE: LUA_OPTIONAL
+# @DESCRIPTION:
+# Set the value to "yes" to make the dependency on a Lua interpreter
+# optional and then lua_implementations_depend() to help populate
+# DEPEND and RDEPEND.
+
+# @ECLASS-VARIABLE: LUA_S
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If defined this variable determines the source directory name after
+# unpacking. This defaults to the name of the package. Note that this
+# variable supports a wildcard mechanism to help with github tarballs
+# that contain the commit hash as part of the directory name.
+
+# @ECLASS-VARIABLE: LUA_QA_ALLOWED_LIBS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If defined this variable contains a whitelist of shared objects that
+# are allowed to exist even if they don't link to liblua. This avoids
+# the QA check that makes this mandatory. This is most likely not what
+# you are looking for if you get the related "Missing links" QA warning,
+# since the proper fix is almost always to make sure the shared object
+# is linked against liblua. There are cases were this is not the case
+# and the shared object is generic code to be used in some other way
+# (e.g. selenium's firefox driver extension). When set this argument is
+# passed to "grep -E" to remove reporting of these shared objects.
+
+[[ -n "${IS_MULTILIB}" ]] && multilib="multilib-minimal"
+
+inherit base eutils ${multilib} toolchain-funcs ${VCS}
+
+EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install pkg_setup
+
+case ${EAPI} in
+ 0|1)
+ die "Unsupported EAPI=${EAPI} (too old) for lua.eclass" ;;
+ 2|3) ;;
+ 4|5)
+ # S is no longer automatically assigned when it doesn't exist.
+ S="${WORKDIR}"
+ ;;
+ *)
+ die "Unknown EAPI=${EAPI} for lua.eclass"
+esac
+
+lua_implementation_depend() {
+ local lua_pn=
+ local lua_slot=
+
+ case $1 in
+ lua51)
+ lua_pn="dev-lang/lua"
+ lua_slot=":5.1"
+ ;;
+ lua52)
+ lua_pn="dev-lang/lua"
+ lua_slot=":5.2"
+ ;;
+ lua53)
+ lua_pn="dev-lang/lua"
+ lua_slot=":5.3"
+ ;;
+ luajit2)
+ lua_pn="dev-lang/luajit"
+ lua_slot=":2"
+ ;;
+ *) die "$1: unknown Lua implementation"
+ esac
+
+ echo "$2${lua_pn}$3${lua_slot}"
+}
+
+# @FUNCTION: lua_implementation_command
+# @RETURN: the path to the given lua implementation
+# @DESCRIPTION:
+lua_implementation_command() {
+ local _lua_name=
+ local _lua_slotted=$(lua_implementation_depend $1)
+ _lua_name=${_lua_slotted//:}
+
+ case $1 in
+ luajit*)
+ _lua_name=${_lua_slotted/:/-}
+ ;;
+ esac
+
+ local lua=$(readlink -fs $(type -p $(basename ${_lua_name} 2>/dev/null)) 2>/dev/null)
+ [[ -x ${lua} ]] || die "Unable to locate executable Lua interpreter"
+ echo "${lua}"
+}
+
+# @FUNCTION: lua_samelib
+# @RETURN: use flag string with current lua implementations
+# @DESCRIPTION:
+# Convenience function to output the use dependency part of a
+# dependency. Used as a building block for lua_add_rdepend() and
+# lua_add_bdepend(), but may also be useful in an ebuild to specify
+# more complex dependencies.
+lua_samelib() {
+ local res=
+ for _lua_implementation in $LUA_COMPAT; do
+ has -${_lua_implementation} $@ || \
+ res="${res}lua_targets_${_lua_implementation}?,"
+ done
+
+ echo "[${res%,}]"
+}
+
+_lua_atoms_samelib_generic() {
+ eshopts_push -o noglob
+ echo "LUATARGET? ("
+ for token in $*; do
+ case "$token" in
+ "||" | "(" | ")" | *"?")
+ echo "${token}"
+ ;;
+ *])
+ echo "${token%[*}[LUATARGET,${token/*[}"
+ #" <= kludge for vim's syntax highlighting engine to don't mess up all
+ ;;
+ *)
+ echo "${token}[LUATARGET]"
+ ;;
+ esac
+ done
+ echo ")"
+ eshopts_pop
+}
+
+_lua_atoms_samelib() {
+ local atoms=$(_lua_atoms_samelib_generic "$*")
+
+ for _lua_implementation in $LUA_COMPAT; do
+ echo "${atoms//LUATARGET/lua_targets_${_lua_implementation}}"
+ done
+}
+
+_lua_wrap_conditions() {
+ local conditions="$1"
+ local atoms="$2"
+
+ for condition in $conditions; do
+ atoms="${condition}? ( ${atoms} )"
+ done
+
+ echo "$atoms"
+}
+
+# @FUNCTION: lua_add_rdepend
+# @USAGE: dependencies
+# @DESCRIPTION:
+# Adds the specified dependencies, with use condition(s) to RDEPEND,
+# taking the current set of lua targets into account. This makes sure
+# that all lua dependencies of the package are installed for the same
+# lua targets. Use this function for all lua dependencies instead of
+# setting RDEPEND yourself. The list of atoms uses the same syntax as
+# normal dependencies.
+#
+# Note: runtime dependencies are also added as build-time test
+# dependencies.
+lua_add_rdepend() {
+ case $# in
+ 1) ;;
+ 2)
+ [[ "${GENTOO_DEV}" == "yes" ]] && eqawarn "You can now use the usual syntax in lua_add_rdepend for $CATEGORY/$PF"
+ lua_add_rdepend "$(_lua_wrap_conditions "$1" "$2")"
+ return
+ ;;
+ *)
+ die "bad number of arguments to $0"
+ ;;
+ esac
+
+ local dependency=$(_lua_atoms_samelib "$1")
+
+ RDEPEND="${RDEPEND} $dependency"
+
+ # Add the dependency as a test-dependency since we're going to
+ # execute the code during test phase.
+ DEPEND="${DEPEND} test? ( ${dependency} )"
+ has test "$IUSE" || IUSE="${IUSE} test"
+}
+
+# @FUNCTION: lua_add_bdepend
+# @USAGE: dependencies
+# @DESCRIPTION:
+# Adds the specified dependencies, with use condition(s) to DEPEND,
+# taking the current set of lua targets into account. This makes sure
+# that all lua dependencies of the package are installed for the same
+# lua targets. Use this function for all lua dependencies instead of
+# setting DEPEND yourself. The list of atoms uses the same syntax as
+# normal dependencies.
+lua_add_bdepend() {
+ case $# in
+ 1) ;;
+ 2)
+ [[ "${GENTOO_DEV}" == "yes" ]] && eqawarn "You can now use the usual syntax in lua_add_bdepend for $CATEGORY/$PF"
+ lua_add_bdepend "$(_lua_wrap_conditions "$1" "$2")"
+ return
+ ;;
+ *)
+ die "bad number of arguments to $0"
+ ;;
+ esac
+
+ local dependency=$(_lua_atoms_samelib "$1")
+
+ DEPEND="${DEPEND} $dependency"
+ RDEPEND="${RDEPEND}"
+}
+
+# @FUNCTION: lua_get_use_implementations
+# @DESCRIPTION:
+# Gets an array of lua use targets enabled by the user
+lua_get_use_implementations() {
+ local i implementation
+ for implementation in ${LUA_COMPAT}; do
+ use lua_targets_${implementation} && i+=" ${implementation}"
+ done
+ echo $i
+}
+
+# @FUNCTION: lua_get_use_targets
+# @DESCRIPTION:
+# Gets an array of lua use targets that the ebuild sets
+lua_get_use_targets() {
+ local t implementation
+ for implementation in ${LUA_COMPAT}; do
+ t+=" lua_targets_${implementation}"
+ done
+ echo $t
+}
+
+# @FUNCTION: lua_implementations_depend
+# @RETURN: Dependencies suitable for injection into DEPEND and RDEPEND.
+# @DESCRIPTION:
+# Produces the dependency string for the various implementations of lua
+# which the package is being built against. This should not be used when
+# LUA_OPTIONAL is unset but must be used if LUA_OPTIONAL=yes. Do not
+# confuse this function with lua_implementation_depend().
+#
+# @EXAMPLE:
+# EAPI=5
+# LUA_OPTIONAL=yes
+#
+# inherit lua
+# ...
+# DEPEND="lua? ( $(lua_implementations_depend) )"
+# RDEPEND="${DEPEND}"
+lua_implementations_depend() {
+ local depend
+ for _lua_implementation in ${LUA_COMPAT}; do
+ depend="${depend}${depend+ }lua_targets_${_lua_implementation}? ( $(lua_implementation_depend $_lua_implementation) )"
+ done
+ echo "${depend}"
+}
+
+IUSE+="$(lua_get_use_targets)"
+# If you specify LUA_OPTIONAL you also need to take care of
+# lua useflag and dependency.
+if [[ ${LUA_OPTIONAL} != yes ]]; then
+ DEPEND="${DEPEND} $(lua_implementations_depend)"
+ RDEPEND="${RDEPEND} $(lua_implementations_depend)"
+
+ case ${EAPI:-0} in
+ 4|5)
+ REQUIRED_USE+=" || ( $(lua_get_use_targets) )"
+ ;;
+ esac
+fi
+
+_lua_invoke_environment() {
+ old_S=${S}
+ case ${EAPI} in
+ 4|5)
+ if [ -z "${LUA_S}" ]; then
+ sub_S=${P}
+ else
+ sub_S=${LUA_S}
+ fi
+ ;;
+ *)
+ sub_S=${S#${WORKDIR}/}
+ ;;
+ esac
+
+ # Special case, for the always-lovely GitHub fetches. With this,
+ # we allow the star glob to just expand to whatever directory it's
+ # called.
+ if [[ "${sub_S}" = *"*"* ]]; then
+ case ${EAPI} in
+ 2|3)
+ #The old method of setting S depends on undefined package
+ # manager behaviour, so encourage upgrading to EAPI=4.
+ eqawarn "Using * expansion of S is deprecated. Use EAPI and LUA_S instead."
+ ;;
+ esac
+ pushd "${WORKDIR}"/all &>/dev/null
+ sub_S=$(eval ls -d "${sub_S}" 2>/dev/null)
+ popd &>/dev/null
+ fi
+
+ environment=$1; shift
+
+ my_WORKDIR="${WORKDIR}"/${environment}
+ S="${my_WORKDIR}"/"${sub_S}"
+
+ if [[ -d "${S}" ]]; then
+ pushd "$S" &>/dev/null
+ elif [[ -d "${my_WORKDIR}" ]]; then
+ pushd "${my_WORKDIR}" &>/dev/null
+ else
+ pushd "${WORKDIR}" &>/dev/null
+ fi
+
+ ebegin "Running ${_PHASE:-${EBUILD_PHASE}} phase for $environment"
+ "$@"
+ popd &>/dev/null
+
+ S=${old_S}
+}
+
+_lua_each_implementation() {
+ local invoked=no
+ for _lua_implementation in ${LUA_COMPAT}; do
+ # only proceed if it's requested
+ use lua_targets_${_lua_implementation} || continue
+
+ LUA=$(lua_implementation_command ${_lua_implementation})
+ lua_impl=$(basename ${LUA})
+ invoked=yes
+
+ if [[ -n "$1" ]]; then
+ _lua_invoke_environment ${_lua_implementation} "$@"
+ fi
+
+ unset LUA lua_impl
+ done
+
+ if [[ ${invoked} == "no" ]]; then
+ eerror "You need to select at least one compatible Lua installation target via LUA_TARGETS in make.conf."
+ eerror "Compatible targets for this package are: ${LUA_COMPAT}"
+ eerror
+ die "No compatible Lua target selected."
+ fi
+}
+
+# @FUNCTION: lua_pkg_setup
+# @DESCRIPTION:
+# Check whether at least one lua target implementation is present.
+lua_pkg_setup() {
+ # This only checks that at least one implementation is present
+ # before doing anything; by leaving the parameters empty we know
+ # it's a special case.
+ _lua_each_implementation
+}
+
+# @FUNCTION: lua_src_unpack
+# @DESCRIPTION:
+# Unpack the source archive.
+lua_src_unpack() {
+ mkdir "${WORKDIR}"/all
+ pushd "${WORKDIR}"/all &>/dev/null
+
+ # We don't support an each-unpack, it's either all or nothing!
+ if type all_lua_unpack &>/dev/null; then
+ _lua_invoke_environment all all_lua_unpack
+ elif [[ -n ${A} ]]; then
+ unpack ${A}
+ elif [[ -n ${VCS} ]] && declare -f ${VCS}_src_unpack >/dev/null; then
+ _lua_invoke_environment all ${VCS}_src_unpack
+ fi
+
+ # hack for VCS-eclasses (git-r3 and darcs, for now) which defaults unpack dir to WD/P instead of S
+ if [[ '*9999*' =~ ${PV} ]] && [[ -d ${WORKDIR}/${P} ]] && [[ ! -d ${WORKDIR}/all/${P} ]] ; then
+ mv ${WORKDIR}/${P} ${WORKDIR}/all/${P}
+ fi
+
+ popd &>/dev/null
+}
+
+_lua_apply_patches() {
+ for patch in "${LUA_PATCHES[@]}"; do
+ if [ -f "${patch}" ]; then
+ epatch "${patch}"
+ elif [ -f "${FILESDIR}/${patch}" ]; then
+ epatch "${FILESDIR}/${patch}"
+ else
+ die "Cannot find patch ${patch}"
+ fi
+ done
+
+ # This is a special case: instead of executing just in the special
+ # "all" environment, this will actually copy the effects on _all_
+ # the other environments, and is thus executed before the copy
+ type all_lua_prepare &>/dev/null && all_lua_prepare
+}
+
+_lua_source_copy() {
+ # Until we actually find a reason not to, we use hardlinks, this
+ # should reduce the amount of disk space that is wasted by this.
+ cp -prlP all ${_lua_implementation} \
+ || die "Unable to copy ${_lua_implementation} environment"
+}
+
+_lua_setCFLAGS() {
+ local lua=$(readlink -fs $(type -p $(basename ${LUA:-lua} 2>/dev/null)) 2>/dev/null)
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getLD)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags $(basename ${lua})) -fPIC -DPIC"
+ CXXFLAGS="${CXXFLAGS} $($(tc-getPKG_CONFIG) --cflags $(basename ${lua})) -fPIC -DPIC"
+ LDFLAGS="${LDFLAGS} -shared -fPIC"
+ export CC CXX LC CFLAGS CXXFLAGS LDFLAGS PKG_CONFIG
+}
+
+# @FUNCTION: lua_src_prepare
+# @DESCRIPTION:
+# Apply patches and prepare versions for each lua target
+# implementation. Also carry out common clean up tasks.
+lua_src_prepare() {
+ if [[ -n ${VCS} ]] && declare -f ${VCS}_src_prepare >/dev/null; then
+ _lua_invoke_environment all ${VCS}_src_prepare
+ fi
+ _lua_invoke_environment all epatch_user
+ _lua_invoke_environment all _lua_apply_patches
+
+ if [[ -n ${IS_MULTILIB} ]]; then
+ _lua_invoke_environment all multilib_copy_sources
+ fi
+
+ _PHASE="source copy" \
+ _lua_each_implementation _lua_source_copy
+
+ if type each_lua_prepare &>/dev/null; then
+ _lua_each_implementation each_lua_prepare
+ fi
+}
+
+# @FUNCTION: lua_src_configure
+# @DESCRIPTION:
+# Configure the package.
+lua_src_configure() {
+ if type each_lua_configure &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_configure() {
+ each_lua_configure
+ }
+ _lua_each_implementation multilib-minimal_src_configure
+ else
+ _lua_each_implementation each_lua_configure
+ fi
+ fi
+
+ if type all_lua_configure &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_configure() {
+ all_lua_configure
+ }
+ _lua_invoke_environment all multilib-minimal_src_configure
+ else
+ _lua_invoke_environment all all_lua_configure
+ fi
+ fi
+}
+
+# @FUNCTION: lua_src_compile
+# @DESCRIPTION:
+# Compile the package.
+lua_src_compile() {
+ if type each_lua_compile &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_compile() {
+ each_lua_compile
+ }
+ _lua_each_implementation multilib-minimal_src_compile
+ else
+ _lua_each_implementation each_lua_compile
+ fi
+ fi
+
+ if type all_lua_compile &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_compile() {
+ all_lua_compile
+ }
+ _lua_invoke_environment all multilib-minimal_src_compile
+ else
+ _lua_invoke_environment all all_lua_compile
+ fi
+ fi
+}
+
+# @FUNCTION: lua_src_test
+# @DESCRIPTION:
+# Run tests for the package.
+lua_src_test() {
+ if type each_lua_test &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_test() {
+ each_lua_test
+ }
+ _lua_each_implementation multilib-minimal_src_test
+ else
+ _lua_each_implementation each_lua_test
+ fi
+ fi
+
+ if type all_lua_test &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_test() {
+ all_lua_test
+ }
+ _lua_invoke_environment all multilib-minimal_src_test
+ else
+ _lua_invoke_environment all all_lua_test
+ fi
+ fi
+}
+
+# @FUNCTION: lua_src_install
+# @DESCRIPTION:
+# Install the package for each lua target implementation.
+lua_src_install() {
+ if type each_lua_install &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_install() {
+ each_lua_install
+ }
+ _lua_each_implementation multilib-minimal_src_install
+ else
+ _lua_each_implementation each_lua_install
+ fi
+ fi
+
+ if type all_lua_install &>/dev/null; then
+ if [[ -n ${IS_MULTILIB} ]]; then
+ multilib_src_install() {
+ all_lua_install
+ }
+ _lua_invoke_environment all multilib-minimal_src_install
+ else
+ _lua_invoke_environment all all_lua_install
+ fi
+ fi
+
+#### TODO: move this things to more general eclass, like docs or so ####
+ local README_DOCS OTHER_DOCS MY_S;
+
+ README_DOCS=(${DOCS[@]});
+ OTHER_DOCS=(${DOCS[@]//README*});
+ MY_S="${WORKDIR}/all/${P}"
+
+ unset DOCS;
+
+ for r in ${OTHER_DOCS[@]}; do
+ README_DOCS=("${README_DOCS[@]//${r}}")
+
+ if [[ -d ${MY_S}/${r} ]]; then
+ OTHER_DOCS=("${OTHER_DOCS[@]//${r}}")
+ for od in ${MY_S}/${r}/*; do
+ OTHER_DOCS+=("${od#${MY_S}/}")
+ done
+ fi
+ done;
+
+ README_DOCS+=(${READMES[@]})
+
+ if [[ -n "${README_DOCS}" ]]; then
+ export DOCS=(${README_DOCS[@]});
+ _PHASE="install readmes" _lua_invoke_environment all base_src_install_docs
+ unset DOCS;
+ fi
+
+ if [[ -n "${OTHER_DOCS[@]}" || -n "${HTML_DOCS[@]}" ]] && use doc; then
+ export DOCS=(${OTHER_DOCS[@]})
+ _PHASE="install docs" _lua_invoke_environment all base_src_install_docs
+ unset DOCS
+ fi
+
+ if [[ -n "${EXAMPLES[@]}" ]] && use examples; then
+ _PHASE="install samples" _lua_invoke_environment all _lua_src_install_examples
+ fi
+#### END ####
+}
+
+#### TODO: move this things to more general eclass, like docs or so ####
+_lua_src_install_examples() {
+ debug-print-function $FUNCNAME "$@"
+
+ local x
+
+ pushd "${S}" >/dev/null
+
+ if [[ "$(declare -p EXAMPLES 2>/dev/null 2>&1)" == "declare -a"* ]]; then
+ for x in "${EXAMPLES[@]}"; do
+ debug-print "$FUNCNAME: docs: creating examples from ${x}"
+ docompress -x /usr/share/doc/${PF}/examples
+ insinto /usr/share/doc/${PF}/examples
+ if [[ "${x}" = *"/*" ]]; then
+ pushd $(dirname ${x}) >/dev/null
+ doins -r *
+ popd >/dev/null
+ else
+ doins -r "${x}"
+ fi || die "install examples failed"
+ done
+ fi
+
+ popd >/dev/null
+}
+#### END ####
+
+# @FUNCTION: dolua
+# @USAGE: file [file...]
+# @DESCRIPTION:
+# Installs the specified file(s) into the proper INSTALL_?MOD location of the Lua interpreter in ${LUA}.
+dolua() {
+ local lmod=()
+ local cmod=()
+ for f in "$@"; do
+ base_f="$(basename ${f})"
+ case ${base_f} in
+ *.lua|*.moon)
+ lmod+=(${f})
+ ;;
+ *.so)
+ cmod+=(${f})
+ ;;
+ *)
+ if [[ -d ${f} ]]; then
+ local insdir="${_dolua_insdir}/${base_f}"
+ _dolua_insdir="${insdir}" dolua "${f}"/*
+ else
+ eerror "${f} is neither pure-lua module, nor moonscript library, nor C module, nor directory with them"
+ fi
+ ;;
+ esac
+ done
+ test -n "${lmod}" && _dolua_insdir="${_dolua_insdir}" dolua_lmod ${lmod[@]}
+ test -n "${cmod}" && _dolua_insdir="${_dolua_insdir}" dolua_cmod ${cmod[@]}
+}
+
+dolua_lmod() {
+ [[ -z ${LUA} ]] && die "\$LUA is not set"
+ has "${EAPI}" 2 && ! use prefix && EPREFIX=
+ local insdir="$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD ${lua_impl})"
+ [[ -n "${_dolua_insdir}" ]] && insdir="${insdir}/${_dolua_insdir}"
+ (
+ insinto ${insdir#${EPREFIX}}
+ insopts -m 0644
+ doins -r "$@"
+ ) || die "failed to install $@"
+}
+
+dolua_cmod() {
+ [[ -z ${LUA} ]] && die "\$LUA is not set"
+ has "${EAPI}" 2 && ! use prefix && EPREFIX=
+ local insdir="$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD ${lua_impl})"
+ [[ -n "${_dolua_insdir}" ]] && insdir="${insdir}/${_dolua_insdir}"
+ (
+ insinto ${insdir#${EPREFIX}}
+ insopts -m 0644
+ doins -r "$@"
+ ) || die "failed to install $@"
+}
+
+# @FUNCTION: lua_get_liblua
+# @RETURN: The location of liblua*.so belonging to the Lua interpreter in ${LUA}.
+lua_get_liblua() {
+ local libdir="$($(tc-getPKG_CONFIG) --variable libdir ${lua_impl})"
+ local libname="$($(tc-getPKG_CONFIG) --variable libname ${lua_impl})"
+ libname="${libname:-lua$(lua_get_abi)}"
+ echo "${libdir}/lib${libname}.so"
+}
+
+# @FUNCTION: lua_get_incdir
+# @RETURN: The location of the header files belonging to the Lua interpreter in ${LUA}.
+lua_get_incdir() {
+ local incdir=$($(tc-getPKG_CONFIG) --variable includedir ${lua_impl})
+ echo "${incdir}"
+}
+
+# @FUNCTION: lua_get_abi
+# @RETURN: The version of the Lua interpreter ABI in ${LUA}, or what 'lua' points to.
+lua_get_abi() {
+ local lua=${LUA:-$(type -p lua 2>/dev/null)}
+ [[ -x ${lua} ]] || die "Unable to locate executable Lua interpreter"
+ echo $(${lua} -e 'print(_VERSION:match("[%d.]+"))')
+}
+
+# @FUNCTION: lua_get_implementation
+# @RETURN: The implementation of the Lua interpreter in ${LUA}, or what 'lua' points to.
+lua_get_implementation() {
+ local lua=${LUA:-$(type -p lua 2>/dev/null)}
+ [[ -x ${lua} ]] || die "Unable to locate executable Lua interpreter"
+
+ case $(${lua} -v) in
+ LuaJIT*)
+ echo "luajit"
+ ;;
+ *)
+ echo "lua"
+ ;;
+ esac
+}
+
diff --git a/profiles/make.defaults b/profiles/make.defaults
index d186cb6..a280c3d 100644
--- a/profiles/make.defaults
+++ b/profiles/make.defaults
@@ -1 +1 @@
-USE_EXPAND="PROSODY_MODULES"
+USE_EXPAND="${USE_EXPAND} PROSODY_MODULES LUA_TARGETS"
diff --git a/profiles/updates/2Q-2015 b/profiles/updates/2Q-2015
index 0b5ea7a..3f57e65 100644
--- a/profiles/updates/2Q-2015
+++ b/profiles/updates/2Q-2015
@@ -1,5 +1,3 @@
-slotmove =dev-lang/luajit-2.0.9999 2 2.0
-slotmove =dev-lang/luajit-2.1.9999 2 2.1
slotmove =dev-lang/lua-5.1* 0 5.1
slotmove =dev-lang/lua-5.2* 0 5.2
slotmove =dev-lang/lua-5.3* 0 5.3
diff --git a/profiles/updates/3Q-2015 b/profiles/updates/3Q-2015
new file mode 100644
index 0000000..84799e5
--- /dev/null
+++ b/profiles/updates/3Q-2015
@@ -0,0 +1,3 @@
+slotmove =dev-lang/luajit-2.0.9999 2.0 2
+slotmove =dev-lang/luajit-2.1.9999 2.1 2
+
diff --git a/virtual/lua/lua-5.ebuild b/virtual/lua/lua-5.ebuild
index cecd8b1..a1db06a 100644
--- a/virtual/lua/lua-5.ebuild
+++ b/virtual/lua/lua-5.ebuild
@@ -27,21 +27,16 @@ RDEPEND="
|| (
dev-lang/lua:5.2[deprecated,${MULTILIB_USEDEP}]
dev-lang/lua:5.3[deprecated,${MULTILIB_USEDEP}]
- dev-lang/luajit:2.0[${MULTILIB_USEDEP}]
- dev-lang/luajit:2.1[${MULTILIB_USEDEP}]
+ dev-lang/luajit:2[${MULTILIB_USEDEP}]
dev-lua/LuaBitOp[${MULTILIB_USEDEP}]
)
)
luajit? (
- || (
- dev-lang/luajit:2.0[${MULTILIB_USEDEP}]
- dev-lang/luajit:2.1[${MULTILIB_USEDEP}]
- )
+ dev-lang/luajit:2[${MULTILIB_USEDEP}]
app-eselect/eselect-luajit
)
app-eselect/eselect-lua
!!dev-lang/lua:0
- !!dev-lang/luajit:2
"
DEPEND="${RDEPEND}"
S="${WORKDIR}"