2 # Copyright (C) 2020-2021 Jo-Philipp Wich <jo@mein.io>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE_URL
=https
://github.com
/jow-
/ucode.git
15 PKG_SOURCE_DATE
:=2022-04-07
16 PKG_SOURCE_VERSION
:=33f1e0b0926e973fb5ae445e9a995848762143bb
17 PKG_MIRROR_HASH
:=e419678244c5402c739e3a200d6d1d7cd6989a711c73744bc68b2d5b76bae33a
18 PKG_MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>
21 PKG_ABI_VERSION
:=20220322
23 include $(INCLUDE_DIR
)/package.mk
24 include $(INCLUDE_DIR
)/cmake.mk
26 CMAKE_OPTIONS
+= -DSOVERSION
=$(PKG_ABI_VERSION
)
28 define Package
/ucode
/default
31 TITLE
:=ucode
- Tiny scripting and templating language
35 $(Package
/ucode
/default
)
39 define Package
/ucode
/description
40 ucode is a tiny script interpreter featuring an ECMAScript oriented
41 script language and Jinja-inspired templating.
45 define Package
/libucode
46 $(Package
/ucode
/default
)
47 TITLE
+= - runtime library
48 ABI_VERSION
:=$(PKG_ABI_VERSION
)
52 define Package
/libucode
/description
53 The libucode package provides the shared runtime library for the ucode interpreter.
57 define Package
/ucode-mod-fs
58 $(Package
/ucode
/default
)
59 TITLE
+= (filesystem module
)
63 define Package
/ucode-mod-fs
/description
64 The filesystem plugin module allows interaction with the local file system.
68 define Package
/ucode-mod-math
69 $(Package
/ucode
/default
)
74 define Package
/ucode-mod-math
/description
75 The math plugin provides access to various
<math.h
> procedures.
79 define Package
/ucode-mod-nl80211
80 $(Package
/ucode
/default
)
81 TITLE
+= (nl80211 module
)
82 DEPENDS
:=ucode
+libnl-tiny
85 define Package
/ucode-mod-nl80211
/description
86 The nl80211 plugin provides access to the Linux wireless
802.11 netlink API.
90 define Package
/ucode-mod-resolv
91 $(Package
/ucode
/default
)
92 TITLE
+= (resolv module
)
96 define Package
/ucode-mod-resolv
/description
97 The resolv plugin implements simple DNS resolving.
101 define Package
/ucode-mod-rtnl
102 $(Package
/ucode
/default
)
103 TITLE
+= (rtnl module
)
104 DEPENDS
:=ucode
+libnl-tiny
107 define Package
/ucode-mod-rtnl
/description
108 The rtnl plugin provides access to the Linux routing netlink API.
112 define Package
/ucode-mod-struct
113 $(Package
/ucode
/default
)
114 TITLE
+= (struct module
)
118 define Package
/ucode-mod-struct
/description
119 The struct plugin implemnts Python
3 compatible struct.pack
/unpack functionality.
123 define Package
/ucode-mod-ubus
124 $(Package
/ucode
/default
)
125 TITLE
+= (ubus module
)
126 DEPENDS
:=ucode
+libubus
+libblobmsg-json
129 define Package
/ucode-mod-ubus
/description
130 The ubus module allows ucode template scripts to enumerate and invoke ubus
135 define Package
/ucode-mod-uci
136 $(Package
/ucode
/default
)
138 DEPENDS
:=ucode
+libuci
141 define Package
/ucode-mod-uci
/description
142 The uci module allows templates to read and modify uci configuration.
146 define Build
/InstallDev
147 $(INSTALL_DIR
) $(1)/usr
/lib
$(1)/usr
/include/ucode
148 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/ucode
/*.h
$(1)/usr
/include/ucode
/
149 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libucode.so
* $(1)/usr
/lib
/
153 define Package
/ucode
/install
154 $(INSTALL_DIR
) $(1)/usr
/bin
155 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/u
* $(1)/usr
/bin
/
158 define Package
/libucode
/install
159 $(INSTALL_DIR
) $(1)/usr
/lib
160 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libucode.so.
* $(1)/usr
/lib
/
163 define Package
/ucode-mod-fs
/install
164 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
165 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/fs.so
$(1)/usr
/lib
/ucode
/
168 define Package
/ucode-mod-math
/install
169 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
170 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/math.so
$(1)/usr
/lib
/ucode
/
173 define Package
/ucode-mod-nl80211
/install
174 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
175 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/nl80211.so
$(1)/usr
/lib
/ucode
/
178 define Package
/ucode-mod-resolv
/install
179 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
180 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/resolv.so
$(1)/usr
/lib
/ucode
/
183 define Package
/ucode-mod-rtnl
/install
184 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
185 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/rtnl.so
$(1)/usr
/lib
/ucode
/
188 define Package
/ucode-mod-struct
/install
189 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
190 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/struct.so
$(1)/usr
/lib
/ucode
/
193 define Package
/ucode-mod-ubus
/install
194 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
195 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/ubus.so
$(1)/usr
/lib
/ucode
/
198 define Package
/ucode-mod-uci
/install
199 $(INSTALL_DIR
) $(1)/usr
/lib
/ucode
200 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/ucode
/uci.so
$(1)/usr
/lib
/ucode
/
204 $(eval
$(call BuildPackage
,ucode
))
205 $(eval
$(call BuildPackage
,libucode
))
206 $(eval
$(call BuildPackage
,ucode-mod-fs
))
207 $(eval
$(call BuildPackage
,ucode-mod-math
))
208 $(eval
$(call BuildPackage
,ucode-mod-nl80211
))
209 $(eval
$(call BuildPackage
,ucode-mod-resolv
))
210 $(eval
$(call BuildPackage
,ucode-mod-rtnl
))
211 $(eval
$(call BuildPackage
,ucode-mod-struct
))
212 $(eval
$(call BuildPackage
,ucode-mod-ubus
))
213 $(eval
$(call BuildPackage
,ucode-mod-uci
))