Skip to contentSkip to conversation

luvi: new package

PATCH Superseded Jörg Krause 4 participants 7 messages Oct 13, 2015 – Oct 15, 2015

v1 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 luvi: new package

Add package luvi version 2.3.4.

luvi extends LuaJIT with asynchronous I/O and several optional modules to run Lua applications and build self-contained binaries.

---
 package/Config.in      |  1 +
 package/luvi/Config.in | 30 +++++++++++++++++++++++++++
 package/luvi/luvi.hash |  3 +++
 package/luvi/luvi.mk   | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 89 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
index 5158371..3eed94f 100644
@@ -503,6 +503,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
new file mode 100644
index 0000000..2f01f5c
@@ -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 +3 -0
new file mode 100644
index 0000000..99cf60e
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  7a99add9e2afdeeb833f8d948b5078c326b492debf50716ca47c7669c1dc9d8b  luvi-src-v2.3.4.tar.gz
+sha256  4f84ec56d9bb92fd02380c12e73b0cfdb05fcd8100104e82349e488f249e85ad  0be7acc82ddffd8012e458dbb1d09a50e151116d.patch
package/luvi/luvi.mk new file +55 -0

55 lines not on this page · raw message

Signature · 1 line
2.6.1
#1 lore raw

PATCH 1/1 luvi: new package

Hi J?rg,

Quoted 4 lines · J?rg Krause
package/luvi/luvi.mk new file +4 -0
+# Dispatch all architectures of LuaJIT
+ifeq ($(BR2_i386),y)
+TARGET_ARCH = x86
+else ifeq ($(BR2_x86_64),y)

package/luvi/luvi.mk line 28

Quoted 10 lines
package/luvi/luvi.mk new file +10 -0
+TARGET_ARCH = x64
+else ifeq ($(BR2_powerpc),y)
+TARGET_ARCH = ppc
+else ifeq ($(BR2_arm)$(BR2_armeb),y)
+TARGET_ARCH = arm
+else ifeq ($(BR2_mips)$(BR2_mipsel),y)
+TARGET_ARCH = mips
+else
+TARGET_ARCH = $(BR2_ARCH)
+endif

TARGET_ARCH is too generic for a Makefile variable. It might conflict with something else since the Makefile namespace is global. Please use something like LUVI_TARGET_ARCH.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#2 lore raw

PATCH v2 1/1 luvi: new package

In reply to Jörg Krause

Add package luvi version 2.3.4.

luvi extends LuaJIT with asynchronous I/O and several optional modules to run Lua applications and build self-contained binaries.

---
Changes v1 -> v2:
- replace too generic TARGET_ARCH variable into LUVI_TARGET_ARCH (Baruch Siach)

---
 package/Config.in      |  1 +
 package/luvi/Config.in | 30 +++++++++++++++++++++++++++
 package/luvi/luvi.hash |  3 +++
 package/luvi/luvi.mk   | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 89 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
index 5158371..3eed94f 100644
@@ -503,6 +503,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
new file mode 100644
index 0000000..2f01f5c
@@ -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 +3 -0
new file mode 100644
index 0000000..99cf60e
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  7a99add9e2afdeeb833f8d948b5078c326b492debf50716ca47c7669c1dc9d8b  luvi-src-v2.3.4.tar.gz
+sha256  4f84ec56d9bb92fd02380c12e73b0cfdb05fcd8100104e82349e488f249e85ad  0be7acc82ddffd8012e458dbb1d09a50e151116d.patch
package/luvi/luvi.mk new file +55 -0

55 lines not on this page · raw message

Signature · 1 line
2.6.1
#3 lore raw

PATCH v2 1/1 luvi: new package

Dear J?rg Krause,

package/luvi/luvi.mk line 41

Quoted 12 lines · J?rg Krause
package/luvi/luvi.mk new file +12 -0
+# Bundled lua bindings have to be linked statically into the luvi executable
+LUVI_CONF_OPTS = \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DWithSharedLibluv=ON \
+	-DTARGET_ARCH=$(LUVI_TARGET_ARCH) \
+	-DLUA_PATH=$(HOST_DIR)/usr/share/luajit-2.0.4/?.lua
+
+# Add "rex" module (PCRE via bundled lrexlib)
+ifeq ($(BR2_PACKAGE_PCRE),y)
+LUVI_DEPENDENCIES += pcre
+LUVI_CONF_OPTS += -DWithPCRE=ON -DWithSharedPCRE=ON
+endif

Can we have an else clause here to explicitly disable pcre support?

package/luvi/luvi.mk line 47

Quoted 6 lines
package/luvi/luvi.mk new file +6 -0
+
+# Add "ssl" module (via bundled lua-openssl)
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+LUVI_DEPENDENCIES += openssl
+LUVI_CONF_OPTS += -DWithOpenSSL=ON -DWithOpenSSLASM=ON -DWithSharedOpenSSL=ON
+endif

Same here.

package/luvi/luvi.mk line 53

Quoted 6 lines
package/luvi/luvi.mk new file +6 -0
+
+# Add "zlib" module (via bundled lua-zlib)
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+LUVI_DEPENDENCIES += zlib
+LUVI_CONF_OPTS += -DWithZLIB=ON -DWithSharedZLIB=ON
+endif

And here?

Other than that, it looks good to me.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH v2 1/1 luvi: new package

In reply to Jörg Krause

Hi J?rg,

Quoted 82 lines

Add package luvi version 2.3.4.

luvi extends LuaJIT with asynchronous I/O and several optional modules to run Lua applications and build self-contained binaries.

---
Changes v1 -> v2:
- replace too generic TARGET_ARCH variable into LUVI_TARGET_ARCH (Baruch Siach)

---
  package/Config.in      |  1 +
  package/luvi/Config.in | 30 +++++++++++++++++++++++++++
  package/luvi/luvi.hash |  3 +++
  package/luvi/luvi.mk   | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++
  4 files changed, 89 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
index 5158371..3eed94f 100644
@@ -503,6 +503,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
new file mode 100644
index 0000000..2f01f5c
@@ -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 +3 -0
new file mode 100644
index 0000000..99cf60e
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  7a99add9e2afdeeb833f8d948b5078c326b492debf50716ca47c7669c1dc9d8b  luvi-src-v2.3.4.tar.gz
+sha256  4f84ec56d9bb92fd02380c12e73b0cfdb05fcd8100104e82349e488f249e85ad  0be7acc82ddffd8012e458dbb1d09a50e151116d.patch
package/luvi/luvi.mk new file +0 -0
new file mode 100644
index 0000000..77b3a03

package/luvi/luvi.mk line 9

Quoted 9 lines
package/luvi/luvi.mk new file +9 -0
@@ -0,0 +1,55 @@
+################################################################################
+#
+# luvi
+#
+################################################################################
+
+LUVI_VERSION = 2.3.4
+LUVI_SOURCE = luvi-src-v$(LUVI_VERSION).tar.gz
+LUVI_SITE = https://github.com/luvit/luvi/releases/download/v$(LUVI_VERSION)

The tag version is v2.3.4 , so this should be rather

LUVI_VERSION = v2.3.4
LUVI_SOURCE = luvi-src-$(LUVI_VERSION).tar.gz
LUVI_SITE = https://github.com/luvit/luvi/releases/download/$(LUVI_VERSION)

Regards,
Jerzy

Quoted 46 lines
package/luvi/luvi.mk new file +46 -0
+LUVI_LICENSE = Apache-2.0
+LUVI_LICENSE_FILES = LICENSE.txt
+LUVI_DEPENDENCIES = libuv luajit luv host-luajit
+LUVI_PATCH = https://github.com/luvit/luvi/commit/0be7acc82ddffd8012e458dbb1d09a50e151116d.patch
+
+# Dispatch all architectures of LuaJIT
+ifeq ($(BR2_i386),y)
+LUVI_TARGET_ARCH = x86
+else ifeq ($(BR2_x86_64),y)
+LUVI_TARGET_ARCH = x64
+else ifeq ($(BR2_powerpc),y)
+LUVI_TARGET_ARCH = ppc
+else ifeq ($(BR2_arm)$(BR2_armeb),y)
+LUVI_TARGET_ARCH = arm
+else ifeq ($(BR2_mips)$(BR2_mipsel),y)
+LUVI_TARGET_ARCH = mips
+else
+LUVI_TARGET_ARCH = $(BR2_ARCH)
+endif
+
+# Bundled lua bindings have to be linked statically into the luvi executable
+LUVI_CONF_OPTS = \
+	-DBUILD_SHARED_LIBS=OFF \
+	-DWithSharedLibluv=ON \
+	-DTARGET_ARCH=$(LUVI_TARGET_ARCH) \
+	-DLUA_PATH=$(HOST_DIR)/usr/share/luajit-2.0.4/?.lua
+
+# Add "rex" module (PCRE via bundled lrexlib)
+ifeq ($(BR2_PACKAGE_PCRE),y)
+LUVI_DEPENDENCIES += pcre
+LUVI_CONF_OPTS += -DWithPCRE=ON -DWithSharedPCRE=ON
+endif
+
+# Add "ssl" module (via bundled lua-openssl)
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+LUVI_DEPENDENCIES += openssl
+LUVI_CONF_OPTS += -DWithOpenSSL=ON -DWithOpenSSLASM=ON -DWithSharedOpenSSL=ON
+endif
+
+# Add "zlib" module (via bundled lua-zlib)
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+LUVI_DEPENDENCIES += zlib
+LUVI_CONF_OPTS += -DWithZLIB=ON -DWithSharedZLIB=ON
+endif
+
+$(eval $(cmake-package))
#5 lore raw

PATCH v2 1/1 luvi: new package

Hi Jerzy,

Quoted 2 lines · Jerzy Grzegorek

Hi J?rg,

[snip]

Quoted 7 lines
Quoted 4 lines
package/luvi/luvi.mk new file +3 -0
+LUVI_VERSION = 2.3.4
+LUVI_SOURCE = luvi-src-v$(LUVI_VERSION).tar.gz
+LUVI_SITE = https://github.com/luvit/luvi/releases/download/v$(LUV

I_VERSION)

The tag version is???v2.3.4???, so this should be rather

Quoted 5 lines

LUVI_VERSION = v2.3.4
LUVI_SOURCE = luvi-src-$(LUVI_VERSION).tar.gz
LUVI_SITE = https://github.com/luvit/luvi/releases/download/$(LUVI_VE
RSION)

You're right, although this is only necessary for the github helper.?

However, since luvi identifies itself as "luvi v2.3.4" I changed the version string as suggested.

Many thanks!

Best regards
J?rg Krause

#6 lore raw

PATCH v3 1/1 luvi: new package

In reply to Jörg Krause

Add package luvi version v2.3.4.

luvi extends LuaJIT with asynchronous I/O and several optional modules to run Lua applications and build self-contained binaries.

---
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 |  3 +++
 package/luvi/luvi.mk   | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 95 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
index 5158371..3eed94f 100644
@@ -503,6 +503,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
new file mode 100644
index 0000000..2f01f5c
@@ -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 +3 -0
new file mode 100644
index 0000000..99cf60e
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  7a99add9e2afdeeb833f8d948b5078c326b492debf50716ca47c7669c1dc9d8b  luvi-src-v2.3.4.tar.gz
+sha256  4f84ec56d9bb92fd02380c12e73b0cfdb05fcd8100104e82349e488f249e85ad  0be7acc82ddffd8012e458dbb1d09a50e151116d.patch
package/luvi/luvi.mk new file +61 -0

61 lines not on this page · raw message

Signature · 1 line
2.6.1