lua-eco: Add package
authorJianhui Zhao <zhaojh329@gmail.com>
Tue, 3 May 2022 09:18:47 +0000 (17:18 +0800)
committerRosen Penev <rosenp@gmail.com>
Sun, 15 May 2022 12:49:13 +0000 (05:49 -0700)
Lua-eco is a `Lua coroutine` library which was implemented based on `IO event`.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
lang/lua-eco/Makefile [new file with mode: 0644]

diff --git a/lang/lua-eco/Makefile b/lang/lua-eco/Makefile
new file mode 100644 (file)
index 0000000..26ee368
--- /dev/null
@@ -0,0 +1,106 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lua-eco
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION)
+PKG_HASH:=d9fd04acb4bd64f47a3a3e6a8d30ee1d0860221c5798ca528cf52260470b4155
+
+PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/lua-eco
+  TITLE:=A Lua coroutine library
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Lua
+  URL:=https://github.com/zhaojh329/lua-eco
+  DEPENDS:=+libev
+endef
+
+define Package/lua-eco/description
+  Lua-eco is a Lua coroutine library which was implemented based on IO event.
+endef
+
+define Package/lua-eco/Module
+  TITLE:=$1 support for lua-eco
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Lua
+  URL:=https://github.com/zhaojh329/lua-eco
+  DEPENDS:=+lua-eco $2
+endef
+
+Package/lua-eco-log=$(call Package/lua-eco/Module,Log utils)
+Package/lua-eco-sys=$(call Package/lua-eco/Module,System utils)
+Package/lua-eco-dns=$(call Package/lua-eco/Module,DNS)
+Package/lua-eco-socket=$(call Package/lua-eco/Module,Socket)
+Package/lua-eco-ssl=$(call Package/lua-eco/Module,SSL,\
+  @(PACKAGE_libopenssl||PACKAGE_libwolfssl||PACKAGE_libmbedtls) \
+  +PACKAGE_libopenssl:libopenssl +PACKAGE_libwolfssl:libwolfssl +PACKAGE_libmbedtls:libmbedtls +PACKAGE_libmbedtls:zlib)
+Package/lua-eco-iw=$(call Package/lua-eco/Module,IW utils,+libmnl)
+Package/lua-eco-ip=$(call Package/lua-eco/Module,IP utils,+libmnl)
+Package/lua-eco-file=$(call Package/lua-eco/Module,File utils)
+Package/lua-eco-ubus=$(call Package/lua-eco/Module,Ubus,+libubus)
+
+CMAKE_OPTIONS += \
+  -DECO_LOG_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-log),N,FF) \
+  -DECO_SYS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-sys),N,FF) \
+  -DECO_DNS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-dns),N,FF) \
+  -DECO_SOCKET_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-socket),N,FF) \
+  -DECO_IW_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-iw),N,FF) \
+  -DECO_IP_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ip),N,FF) \
+  -DECO_FILE_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-file),N,FF) \
+  -DECO_UBUS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ubus),N,FF) \
+  -DECO_SSL_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ssl),N,FF)
+
+ifneq ($(CONFIG_PACKAGE_lua-eco-ssl),)
+  ifneq ($(CONFIG_PACKAGE_libopenssl),)
+    CMAKE_OPTIONS += -DUSE_OPENSSL=ON
+  else
+    ifneq ($(CONFIG_PACKAGE_libwolfssl),)
+      CMAKE_OPTIONS += -DUSE_WOLFSSL=ON
+    else
+      ifneq ($(CONFIG_PACKAGE_libmbedtls),)
+        CMAKE_OPTIONS += -DUSE_MBEDTLS=ON
+      endif
+    endif
+  endif
+endif
+
+define Package/lua-eco/install
+       $(INSTALL_DIR) $(1)/usr/lib/lua
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/eco.so $(1)/usr/lib/lua
+endef
+
+define Package/lua-eco/Module/install  
+       $(INSTALL_DIR) $(1)/usr/lib/lua/eco
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/$2.so $(1)/usr/lib/lua/eco
+endef
+
+Package/lua-eco-log/install=$(call Package/lua-eco/Module/install,$1,log)
+Package/lua-eco-sys/install=$(call Package/lua-eco/Module/install,$1,sys)
+Package/lua-eco-dns/install=$(call Package/lua-eco/Module/install,$1,dns)
+Package/lua-eco-socket/install=$(call Package/lua-eco/Module/install,$1,socket)
+Package/lua-eco-ssl/install=$(call Package/lua-eco/Module/install,$1,ssl)
+Package/lua-eco-iw/install=$(call Package/lua-eco/Module/install,$1,iw)
+Package/lua-eco-ip/install=$(call Package/lua-eco/Module/install,$1,ip)
+Package/lua-eco-file/install=$(call Package/lua-eco/Module/install,$1,file)
+Package/lua-eco-ubus/install=$(call Package/lua-eco/Module/install,$1,ubus)
+
+$(eval $(call BuildPackage,lua-eco))
+$(eval $(call BuildPackage,lua-eco-log))
+$(eval $(call BuildPackage,lua-eco-sys))
+$(eval $(call BuildPackage,lua-eco-dns))
+$(eval $(call BuildPackage,lua-eco-socket))
+$(eval $(call BuildPackage,lua-eco-ssl))
+$(eval $(call BuildPackage,lua-eco-iw))
+$(eval $(call BuildPackage,lua-eco-ip))
+$(eval $(call BuildPackage,lua-eco-file))
+$(eval $(call BuildPackage,lua-eco-ubus))