ucode: add temporary fix for integer formatting on 32bit systems
[openwrt/openwrt.git] / package / utils / ucode / Makefile
1 #
2 # Copyright (C) 2020-2021 Jo-Philipp Wich <jo@mein.io>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=ucode
11 PKG_RELEASE:=2
12
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_URL=https://github.com/jow-/ucode.git
15 PKG_SOURCE_DATE:=2021-10-25
16 PKG_SOURCE_VERSION:=a7976c2802a9da737f62bec496c7115211c442a7
17 PKG_MIRROR_HASH:=6bc3ddeef41d68fd96894957356472e576c625fcf7277cbb36aa464b8d3c274d
18 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
19 PKG_LICENSE:=ISC
20
21 PKG_ABI_VERSION:=20210730
22
23 include $(INCLUDE_DIR)/package.mk
24 include $(INCLUDE_DIR)/cmake.mk
25
26 CMAKE_OPTIONS += -DSOVERSION=$(PKG_ABI_VERSION)
27
28 define Package/ucode/default
29 SECTION:=utils
30 CATEGORY:=Utilities
31 TITLE:=ucode - Tiny scripting and templating language
32 endef
33
34 define Package/ucode
35 $(Package/ucode/default)
36 DEPENDS:=+libucode
37 endef
38
39 define Package/ucode/description
40 ucode is a tiny script interpreter featuring an ECMAScript oriented
41 script language and Jinja-inspired templating.
42 endef
43
44
45 define Package/libucode
46 $(Package/ucode/default)
47 TITLE+= - runtime library
48 ABI_VERSION:=$(PKG_ABI_VERSION)
49 DEPENDS:=+libjson-c
50 endef
51
52 define Package/libucode/description
53 The libucode package provides the shared runtime library for the ucode interpreter.
54 endef
55
56
57 define Package/ucode-mod-fs
58 $(Package/ucode/default)
59 TITLE+= (filesystem module)
60 DEPENDS:=ucode
61 endef
62
63 define Package/ucode-mod-fs/description
64 The filesystem plugin module allows interaction with the local file system.
65 endef
66
67
68 define Package/ucode-mod-math
69 $(Package/ucode/default)
70 TITLE+= (math module)
71 DEPENDS:=ucode
72 endef
73
74 define Package/ucode-mod-math/description
75 The math plugin provides access to various <math.h> procedures.
76 endef
77
78
79 define Package/ucode-mod-nl80211
80 $(Package/ucode/default)
81 TITLE+= (nl80211 module)
82 DEPENDS:=ucode +libnl-tiny
83 endef
84
85 define Package/ucode-mod-nl80211/description
86 The nl80211 plugin provides access to the Linux wireless 802.11 netlink API.
87 endef
88
89
90 define Package/ucode-mod-resolv
91 $(Package/ucode/default)
92 TITLE+= (resolv module)
93 DEPENDS:=ucode
94 endef
95
96 define Package/ucode-mod-resolv/description
97 The resolv plugin implements simple DNS resolving.
98 endef
99
100
101 define Package/ucode-mod-rtnl
102 $(Package/ucode/default)
103 TITLE+= (rtnl module)
104 DEPENDS:=ucode +libnl-tiny
105 endef
106
107 define Package/ucode-mod-rtnl/description
108 The rtnl plugin provides access to the Linux routing netlink API.
109 endef
110
111
112 define Package/ucode-mod-ubus
113 $(Package/ucode/default)
114 TITLE+= (ubus module)
115 DEPENDS:=ucode +libubus +libblobmsg-json
116 endef
117
118 define Package/ucode-mod-ubus/description
119 The ubus module allows ucode template scripts to enumerate and invoke ubus
120 procedures.
121 endef
122
123
124 define Package/ucode-mod-uci
125 $(Package/ucode/default)
126 TITLE+= (uci module)
127 DEPENDS:=ucode +libuci
128 endef
129
130 define Package/ucode-mod-uci/description
131 The uci module allows templates to read and modify uci configuration.
132 endef
133
134
135 define Build/InstallDev
136 $(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include/ucode
137 $(CP) $(PKG_INSTALL_DIR)/usr/include/ucode/*.h $(1)/usr/include/ucode/
138 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucode.so* $(1)/usr/lib/
139 endef
140
141
142 define Package/ucode/install
143 $(INSTALL_DIR) $(1)/usr/bin
144 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ucode $(1)/usr/bin/ucode
145 endef
146
147 define Package/libucode/install
148 $(INSTALL_DIR) $(1)/usr/lib
149 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucode.so.* $(1)/usr/lib/
150 endef
151
152 define Package/ucode-mod-fs/install
153 $(INSTALL_DIR) $(1)/usr/lib/ucode
154 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/fs.so $(1)/usr/lib/ucode/
155 endef
156
157 define Package/ucode-mod-math/install
158 $(INSTALL_DIR) $(1)/usr/lib/ucode
159 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/math.so $(1)/usr/lib/ucode/
160 endef
161
162 define Package/ucode-mod-nl80211/install
163 $(INSTALL_DIR) $(1)/usr/lib/ucode
164 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/nl80211.so $(1)/usr/lib/ucode/
165 endef
166
167 define Package/ucode-mod-resolv/install
168 $(INSTALL_DIR) $(1)/usr/lib/ucode
169 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/resolv.so $(1)/usr/lib/ucode/
170 endef
171
172 define Package/ucode-mod-rtnl/install
173 $(INSTALL_DIR) $(1)/usr/lib/ucode
174 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/rtnl.so $(1)/usr/lib/ucode/
175 endef
176
177 define Package/ucode-mod-ubus/install
178 $(INSTALL_DIR) $(1)/usr/lib/ucode
179 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/ubus.so $(1)/usr/lib/ucode/
180 endef
181
182 define Package/ucode-mod-uci/install
183 $(INSTALL_DIR) $(1)/usr/lib/ucode
184 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/uci.so $(1)/usr/lib/ucode/
185 endef
186
187
188 $(eval $(call BuildPackage,ucode))
189 $(eval $(call BuildPackage,libucode))
190 $(eval $(call BuildPackage,ucode-mod-fs))
191 $(eval $(call BuildPackage,ucode-mod-math))
192 $(eval $(call BuildPackage,ucode-mod-nl80211))
193 $(eval $(call BuildPackage,ucode-mod-resolv))
194 $(eval $(call BuildPackage,ucode-mod-rtnl))
195 $(eval $(call BuildPackage,ucode-mod-ubus))
196 $(eval $(call BuildPackage,ucode-mod-uci))