lua-eco: update to 3.4.0
[feed/packages.git] / lang / lua-eco / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=lua-eco
4 PKG_VERSION:=3.4.0
5 PKG_RELEASE:=1
6
7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
8 PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION)
9 PKG_HASH:=c45c21c4531f6205f775865da1587fb6185705308b67834ac6f7990e83f482ec
10
11 PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
12 PKG_LICENSE:=MIT
13 PKG_LICENSE_FILES:=LICENSE
14
15 PKG_CONFIG_DEPENDS:= \
16 LUA_ECO_OPENSSL \
17 LUA_ECO_WOLFSSL \
18 LUA_ECO_MBEDTLS
19
20 include $(INCLUDE_DIR)/package.mk
21 include $(INCLUDE_DIR)/cmake.mk
22
23 define Package/lua-eco
24 TITLE:=A Lua interpreter with a built-in libev event loop
25 SECTION:=lang
26 CATEGORY:=Languages
27 SUBMENU:=Lua
28 URL:=https://github.com/zhaojh329/lua-eco
29 DEPENDS:=+libev +liblua5.3
30 endef
31
32 define Package/lua-eco/description
33 Lua-eco is a Lua interpreter with a built-in event loop for scheduling
34 lightweight coroutines automatically, enabling efficient concurrency in
35 Lua. Build high-performance, scalable applications.
36 endef
37
38 define Package/lua-eco/Module
39 TITLE:=$1 support for lua-eco
40 SECTION:=lang
41 CATEGORY:=Languages
42 SUBMENU:=Lua
43 URL:=https://github.com/zhaojh329/lua-eco
44 DEPENDS:=+lua-eco $2
45 endef
46
47 Package/lua-eco-log=$(call Package/lua-eco/Module,log utils)
48 Package/lua-eco-base64=$(call Package/lua-eco/Module,base64)
49 Package/lua-eco-sha1=$(call Package/lua-eco/Module,sha1)
50 Package/lua-eco-md5=$(call Package/lua-eco/Module,md5)
51 Package/lua-eco-socket=$(call Package/lua-eco/Module,socket)
52 Package/lua-eco-dns=$(call Package/lua-eco/Module,dns,+lua-eco-socket)
53 Package/lua-eco-ssl=$(call Package/lua-eco/Module,ssl,\
54 +LUA_ECO_OPENSSL:libopenssl +LUA_ECO_WOLFSSL:libwolfssl \
55 +LUA_ECO_MBEDTLS:libmbedtls +LUA_ECO_MBEDTLS:zlib +lua-eco-socket)
56 Package/lua-eco-ubus=$(call Package/lua-eco/Module,ubus,+libubus)
57 Package/lua-eco-http=$(call Package/lua-eco/Module,http/https,+lua-eco-dns +lua-eco-ssl +lua-eco-base64 +lua-eco-log)
58 Package/lua-eco-mqtt=$(call Package/lua-eco/Module,mqtt,+lua-eco-socket +lua-eco-dns +libmosquitto-ssl)
59 Package/lua-eco-websocket=$(call Package/lua-eco/Module,websocket,+lua-eco-http +lua-eco-base64 +lua-eco-sha1)
60 Package/lua-eco-termios=$(call Package/lua-eco/Module,termios)
61 Package/lua-eco-netlink=$(call Package/lua-eco/Module,netlink,+lua-eco-socket)
62 Package/lua-eco-ip=$(call Package/lua-eco/Module,ip utils,+lua-eco-netlink)
63 Package/lua-eco-nl80211=$(call Package/lua-eco/Module,nl80211,+lua-eco-netlink)
64 Package/lua-eco-ssh=$(call Package/lua-eco/Module,ssh,+lua-eco-socket +libssh2)
65
66 define Package/lua-eco-ssl/config
67 choice
68 prompt "SSL Library"
69 default LUA_ECO_MBEDTLS
70
71 config LUA_ECO_OPENSSL
72 bool "OpenSSL"
73
74 config LUA_ECO_WOLFSSL
75 bool "wolfSSL"
76
77 config LUA_ECO_MBEDTLS
78 bool "mbedTLS"
79 endchoice
80 endef
81
82 CMAKE_OPTIONS += \
83 -DECO_UBUS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ubus),N,FF) \
84 -DECO_SSL_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ssl),N,FF)
85
86 ifneq ($(CONFIG_PACKAGE_lua-eco-ssl),)
87 ifneq ($(CONFIG_LUA_ECO_OPENSSL),)
88 CMAKE_OPTIONS += -DUSE_OPENSSL=ON
89 else ifneq ($(CONFIG_LUA_ECO_WOLFSSL),)
90 CMAKE_OPTIONS += -DUSE_WOLFSSL=ON
91 else ifneq ($(CONFIG_LUA_ECO_MBEDTLS),)
92 CMAKE_OPTIONS += -DUSE_MBEDTLS=ON
93 endif
94 endif
95
96 define Package/lua-eco/install
97 $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/local/lib/lua/5.3/eco/core \
98 $(1)/usr/lib $(1)/usr/local/lib/lua/5.3/eco/encoding
99 $(INSTALL_BIN) $(PKG_BUILD_DIR)/eco $(1)/usr/bin
100 $(INSTALL_BIN) $(PKG_BUILD_DIR)/libeco.so $(1)/usr/lib
101 $(INSTALL_BIN) $(PKG_BUILD_DIR)/bufio.so $(1)/usr/local/lib/lua/5.3/eco
102 $(INSTALL_DATA) $(PKG_BUILD_DIR)/hex.lua $(1)/usr/local/lib/lua/5.3/eco/encoding
103 $(INSTALL_BIN) $(PKG_BUILD_DIR)/{time,bufio,sys,file}.so $(1)/usr/local/lib/lua/5.3/eco/core
104 $(INSTALL_DATA) $(PKG_BUILD_DIR)/{time,sys,file,sync}.lua $(1)/usr/local/lib/lua/5.3/eco
105 endef
106
107 define Package/lua-eco-log/install
108 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco
109 $(INSTALL_BIN) $(PKG_BUILD_DIR)/log.so $(1)/usr/local/lib/lua/5.3/eco
110 endef
111
112 define Package/lua-eco-base64/install
113 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/encoding
114 $(INSTALL_BIN) $(PKG_BUILD_DIR)/base64.so $(1)/usr/local/lib/lua/5.3/eco/encoding
115 endef
116
117 define Package/lua-eco-sha1/install
118 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/hash
119 $(INSTALL_BIN) $(PKG_BUILD_DIR)/sha1.so $(1)/usr/local/lib/lua/5.3/eco/hash
120 endef
121
122 define Package/lua-eco-md5/install
123 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/hash
124 $(INSTALL_BIN) $(PKG_BUILD_DIR)/md5.so $(1)/usr/local/lib/lua/5.3/eco/hash
125 endef
126
127 define Package/lua-eco-socket/install
128 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
129 $(INSTALL_DATA) $(PKG_BUILD_DIR)/socket.lua $(1)/usr/local/lib/lua/5.3/eco
130 $(INSTALL_BIN) $(PKG_BUILD_DIR)/socket.so $(1)/usr/local/lib/lua/5.3/eco/core
131 endef
132
133 define Package/lua-eco-dns/install
134 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco
135 $(INSTALL_DATA) $(PKG_BUILD_DIR)/dns.lua $(1)/usr/local/lib/lua/5.3/eco
136 endef
137
138 define Package/lua-eco-ssl/install
139 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
140 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ssl.lua $(1)/usr/local/lib/lua/5.3/eco
141 $(INSTALL_BIN) $(PKG_BUILD_DIR)/ssl.so $(1)/usr/local/lib/lua/5.3/eco/core
142 endef
143
144 define Package/lua-eco-ubus/install
145 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
146 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ubus.lua $(1)/usr/local/lib/lua/5.3/eco
147 $(INSTALL_BIN) $(PKG_BUILD_DIR)/ubus.so $(1)/usr/local/lib/lua/5.3/eco/core
148 endef
149
150 define Package/lua-eco-http/install
151 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/http
152 $(INSTALL_DATA) $(PKG_BUILD_DIR)/http/*.lua $(1)/usr/local/lib/lua/5.3/eco/http
153 endef
154
155 define Package/lua-eco-mqtt/install
156 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
157 $(INSTALL_DATA) $(PKG_BUILD_DIR)/mqtt.lua $(1)/usr/local/lib/lua/5.3/eco
158 $(INSTALL_BIN) $(PKG_BUILD_DIR)/mqtt.so $(1)/usr/local/lib/lua/5.3/eco/core
159 endef
160
161 define Package/lua-eco-websocket/install
162 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco
163 $(INSTALL_DATA) $(PKG_BUILD_DIR)/websocket.lua $(1)/usr/local/lib/lua/5.3/eco
164 endef
165
166 define Package/lua-eco-termios/install
167 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco
168 $(INSTALL_BIN) $(PKG_BUILD_DIR)/termios.so $(1)/usr/local/lib/lua/5.3/eco
169 endef
170
171 define Package/lua-eco-netlink/install
172 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
173 $(INSTALL_DATA) $(PKG_BUILD_DIR)/{nl,genl}.lua $(1)/usr/local/lib/lua/5.3/eco
174 $(INSTALL_BIN) $(PKG_BUILD_DIR)/{nl,genl}.so $(1)/usr/local/lib/lua/5.3/eco/core
175 $(INSTALL_BIN) $(PKG_BUILD_DIR)/rtnl.so $(1)/usr/local/lib/lua/5.3/eco
176 endef
177
178 define Package/lua-eco-ip/install
179 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco
180 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ip.lua $(1)/usr/local/lib/lua/5.3/eco
181 endef
182
183 define Package/lua-eco-nl80211/install
184 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
185 $(INSTALL_DATA) $(PKG_BUILD_DIR)/nl80211.lua $(1)/usr/local/lib/lua/5.3/eco
186 $(INSTALL_BIN) $(PKG_BUILD_DIR)/nl80211.so $(1)/usr/local/lib/lua/5.3/eco/core
187 endef
188
189 define Package/lua-eco-ssh/install
190 $(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3/eco/core
191 $(INSTALL_DATA) $(PKG_BUILD_DIR)/ssh.lua $(1)/usr/local/lib/lua/5.3/eco
192 $(INSTALL_BIN) $(PKG_BUILD_DIR)/ssh.so $(1)/usr/local/lib/lua/5.3/eco/core
193 endef
194
195 $(eval $(call BuildPackage,lua-eco))
196 $(eval $(call BuildPackage,lua-eco-log))
197 $(eval $(call BuildPackage,lua-eco-base64))
198 $(eval $(call BuildPackage,lua-eco-sha1))
199 $(eval $(call BuildPackage,lua-eco-md5))
200 $(eval $(call BuildPackage,lua-eco-socket))
201 $(eval $(call BuildPackage,lua-eco-dns))
202 $(eval $(call BuildPackage,lua-eco-ssl))
203 $(eval $(call BuildPackage,lua-eco-ubus))
204 $(eval $(call BuildPackage,lua-eco-http))
205 $(eval $(call BuildPackage,lua-eco-mqtt))
206 $(eval $(call BuildPackage,lua-eco-websocket))
207 $(eval $(call BuildPackage,lua-eco-termios))
208 $(eval $(call BuildPackage,lua-eco-netlink))
209 $(eval $(call BuildPackage,lua-eco-ip))
210 $(eval $(call BuildPackage,lua-eco-nl80211))
211 $(eval $(call BuildPackage,lua-eco-ssh))