[Buildroot] [PATCH] package/lua-cffi: new package

Francois Perrad fperrad at gmail.com
Sun Mar 21 15:49:03 UTC 2021


Signed-off-by: Francois Perrad <francois.perrad at gadz.org>
---
 package/Config.in                              |  1 +
 package/lua-cffi/Config.in                     | 18 ++++++++++++++++++
 package/lua-cffi/lua-cffi.hash                 |  3 +++
 package/lua-cffi/lua-cffi.mk                   | 14 ++++++++++++++
 support/testing/tests/package/test_lua_cffi.py | 14 ++++++++++++++
 5 files changed, 50 insertions(+)
 create mode 100644 package/lua-cffi/Config.in
 create mode 100644 package/lua-cffi/lua-cffi.hash
 create mode 100644 package/lua-cffi/lua-cffi.mk
 create mode 100644 support/testing/tests/package/test_lua_cffi.py

diff --git a/package/Config.in b/package/Config.in
index 8fb173540..5b854f898 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -652,6 +652,7 @@ menu "Lua libraries/modules"
 	source "package/lua-basexx/Config.in"
 	source "package/lua-binaryheap/Config.in"
 	source "package/lua-bit32/Config.in"
+	source "package/lua-cffi/Config.in"
 	source "package/lua-cjson/Config.in"
 	source "package/lua-coat/Config.in"
 	source "package/lua-coatpersistent/Config.in"
diff --git a/package/lua-cffi/Config.in b/package/lua-cffi/Config.in
new file mode 100644
index 000000000..fcf3d25e2
--- /dev/null
+++ b/package/lua-cffi/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_LUA_CFFI
+	bool "lua-cffi"
+	depends on !BR2_PACKAGE_LUAJIT
+	depends on BR2_TOOLCHAIN_HAS_THREADS  # libffi
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_LIBFFI
+	help
+	  This is a portable C FFI for Lua, based on libffi and aiming
+	  to be mostly compatible with LuaJIT FFI, but written from
+	  scratch.
+
+	  https://github.com/q66/cffi-lua
+
+comment "lua-cffi needs a toolchain w/ C++, gcc >= 4.8, threads"
+	depends on !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \
+		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/lua-cffi/lua-cffi.hash b/package/lua-cffi/lua-cffi.hash
new file mode 100644
index 000000000..a532c6c7b
--- /dev/null
+++ b/package/lua-cffi/lua-cffi.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  c30080d6309167f86d1a96d3ee33f33ef52e884052b7feac140b8c52db10ad7a  lua-cffi-0.2.1.tar.gz
+sha256  f5653a4d5864a3920ea1e07dacfd646067314be647598f0acaaf685beaa2e396  COPYING.md
diff --git a/package/lua-cffi/lua-cffi.mk b/package/lua-cffi/lua-cffi.mk
new file mode 100644
index 000000000..07d84ad5f
--- /dev/null
+++ b/package/lua-cffi/lua-cffi.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# lua-cffi
+#
+################################################################################
+
+LUA_CFFI_VERSION=0.2.1
+LUA_CFFI_SITE = $(call github,q66,cffi-lua,v$(LUA_CFFI_VERSION))
+LUA_CFFI_LICENSE = MIT
+LUA_CFFI_LICENSE_FILES = COPYING.md
+
+LUA_CFFI_DEPENDENCIES = libffi lua
+
+$(eval $(meson-package))
diff --git a/support/testing/tests/package/test_lua_cffi.py b/support/testing/tests/package/test_lua_cffi.py
new file mode 100644
index 000000000..7f56eef56
--- /dev/null
+++ b/support/testing/tests/package/test_lua_cffi.py
@@ -0,0 +1,14 @@
+from tests.package.test_lua import TestLuaBase
+
+
+class TestLuaLuaCffi(TestLuaBase):
+    config = TestLuaBase.config + \
+        """
+        BR2_PACKAGE_LUA=y
+        BR2_PACKAGE_LUA_CFFI=y
+        """
+
+    def test_run(self):
+        self.login()
+        self.module_test("cffi")
+
-- 
2.27.0



More information about the buildroot mailing list