luvi: new package
PATCH v5 1/1 luvi: new package
Add package luvi version v2.3.5.
luvi extends LuaJIT with asynchronous I/O and several optional modules to run Lua applications and build self-contained binaries.
---
Changes v3 -> v5: (v4 is same as v3, forgot commit --amend)
- bump to v2.3.5
- remove patch from upstream
Changes v2 -> v3:
- Adapt version string to v2.3.4 (Jerzy Grzegorek)
- Add else clauses to explicitly disable PCRE, OpenSSL and zlib support (Thomas Petazzoni)
Changes v1 -> v2:
- replace too generic TARGET_ARCH variable by LUVI_TARGET_ARCH (Baruch Siach)
--- package/Config.in | 1 + package/luvi/Config.in | 30 +++++++++++++++++++++++++ package/luvi/luvi.hash | 2 ++ package/luvi/luvi.mk | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 package/luvi/Config.in create mode 100644 package/luvi/luvi.hash create mode 100644 package/luvi/luvi.mk
package/Config.in +1 -0
@@ -505,6 +505,7 @@ menu "Lua libraries/modules" source "package/luasql-sqlite3/Config.in" source "package/lunit/Config.in" source "package/luv/Config.in" + source "package/luvi/Config.in" source "package/lzlib/Config.in" source "package/orbit/Config.in" source "package/rings/Config.in"
package/luvi/Config.in new file +30 -0
@@ -0,0 +1,30 @@ +config BR2_PACKAGE_LUVI + bool "luvi" + depends on BR2_TOOLCHAIN_HAS_THREADS # libuv + depends on BR2_USE_MMU # libuv + depends on !BR2_STATIC_LIBS # libuv + depends on BR2_PACKAGE_LUAJIT + select BR2_PACKAGE_LIBUV + select BR2_PACKAGE_LUV + help + A project in-between luv and luvit. The goal of this is to make + building luvit and derivatives much easier. + + luvi extends LuaJIT with asynchronous I/O and several optional + modules to run Lua applications and build self-contained binaries + on systems that don't have a compiler. + + The luvi core can be extended with several Lua modules by adding its + bundled Lua binding libraries. To get the Lua module... + * 'rex' select PCRE (BR2_PACKAGE_PCRE) + * 'ssl' select OpenSSL (BR2_PACKAGE_OPENSSL) + * 'zlib' select zlib (BR2_PACKAGE_ZLIB) + + https://github.com/luvit/luvi + +comment "luvi needs a toolchain w/ threads, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on BR2_USE_MMU + +comment "luvi needs LuaJIT" + depends on !BR2_PACKAGE_LUAJIT
package/luvi/luvi.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally calculated +sha256 9d13baba7870160bd0f9be9d52f8ef1dafe282490d5f83a8e14765aa43387765 luvi-src-v2.3.5.tar.gz
package/luvi/luvi.mk new file +60 -0
60 lines not on this page · raw message
Signature · 1 line
2.6.2
PATCH v5 1/1 luvi: new package
Dear J?rg Krause,
Quoted 10 lines · J?rg Krause
Add package luvi version v2.3.5.
luvi extends LuaJIT with asynchronous I/O and several optional modules to run Lua applications and build self-contained binaries.
Signed-off-by J?rg Krause <[email protected]>---
Changes v3 -> v5: (v4 is same as v3, forgot commit --amend)
- bump to v2.3.5
- remove patch from upstream
Thanks, patch applied. I must say I don't really understand what this luvi thing is doing, but it built fine here, and the packaging seems reasonable.
I was somewhat surprised by:
-DLUA_PATH=$(HOST_DIR)/usr/share/luajit-2.0.4/?.lua
as this ?.lua doesn't really look like a path, but since it builds fine, maybe I'm missing something.
I'm CC'ing Fran?ois, in case he has something to say about this new package.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 1/1 luvi: new package
Dear Thomas Petazzoni,
Quoted 15 lines · Thomas Petazzoni
Dear J?rg Krause,
Quoted 11 lines · J?rg Krause
Add package luvi version v2.3.5.
luvi extends LuaJIT with asynchronous I/O and several optional modules to run
Lua applications and build self-contained binaries.Signed-off-by J?rg Krause <[email protected]>---
Changes v3 -> v5: (v4 is same as v3, forgot commit --amend) ?- bump to v2.3.5
?- remove patch from upstream
Quoted 3 lines
Thanks, patch applied. I must say I don't really understand what this luvi thing is doing, but it built fine here, and the packaging seems reasonable.
luvi is a LuaJIT runtime with additional bindings, e.g. libuv. You can compare it with the V8 engine (the JavaScript engine used by Node.js), the main difference is, that luvi already contains the libuv bindings, whereas Node.js adds the libuv bindings to V8.
All together, it is a Node.js like system for Lua.
I want to integrate some luvi applications like lit and luvit into Buildroot. lit is similar to npm and luvit adds a Node.js like API to luvi.
This will be done in follow-up patches...
Quoted 6 lines
I was somewhat surprised by:
-DLUA_PATH=$(HOST_DIR)/usr/share/luajit-2.0.4/?.luaas this ?.lua doesn't really look like a path, but since it builds fine, maybe I'm missing something.
Lua(JIT) uses this string as a path to search for files. In this case we have to tell LuaJIT where to search for its bundled modules.
Best regards
J?rg
PATCH v5 1/1 luvi: new package
J?rg,
Quoted 10 lines · J?rg Krause
Quoted 3 lines
Thanks, patch applied. I must say I don't really understand what this luvi thing is doing, but it built fine here, and the packaging seems reasonable.
luvi is a LuaJIT runtime with additional bindings, e.g. libuv. You can compare it with the V8 engine (the JavaScript engine used by Node.js), the main difference is, that luvi already contains the libuv bindings, whereas Node.js adds the libuv bindings to V8.
All together, it is a Node.js like system for Lua.
Thanks a lot for the explanation, makes sense!
Quoted 5 lines
I want to integrate some luvi applications like lit and luvit into Buildroot. lit is similar to npm and luvit adds a Node.js like API to luvi.
This will be done in follow-up patches...
Cool!
Quoted 5 lines
Quoted 2 lines
as this ?.lua doesn't really look like a path, but since it builds fine, maybe I'm missing something.
Lua(JIT) uses this string as a path to search for files. In this case we have to tell LuaJIT where to search for its bundled modules.
Ok. So this "?" is interpreted by LuaJIT in a "special" way.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com