ucode: introduce package
authorJo-Philipp Wich <jo@mein.io>
Thu, 22 Oct 2020 14:09:56 +0000 (16:09 +0200)
committerJo-Philipp Wich <jo@mein.io>
Fri, 19 Mar 2021 19:16:11 +0000 (20:16 +0100)
This commit introduces ucode, a tiny template processor utilizing a syntax
closely resembling ECMA Script for embedded script blocks.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
package/utils/ucode/Makefile [new file with mode: 0644]

diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile
new file mode 100644 (file)
index 0000000..64b6c7b
--- /dev/null
@@ -0,0 +1,116 @@
+#
+# Copyright (C) 2020-2021 Jo-Philipp Wich <jo@mein.io>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ucode
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL=https://github.com/jow-/ucode.git
+PKG_SOURCE_DATE:=2021-03-19
+PKG_SOURCE_VERSION:=4a5b9010ccc56fdf288fe758023af445feb93fad
+PKG_MIRROR_HASH:=145a2ce69e14cae9b448de85b94c7a817ba3aea04b1611399186ad36fb88958e
+PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
+PKG_LICENSE:=ISC
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/ucode/default
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=ucode - Tiny scripting and templating language
+endef
+
+define Package/ucode
+  $(Package/ucode/default)
+  DEPENDS:=+libjson-c
+endef
+
+define Package/ucode/description
+ ucode is a tiny script interpreter featuring an ECMAScript oriented
+ script language and Jinja-inspired templating.
+endef
+
+
+define Package/ucode-mod-fs
+  $(Package/ucode/default)
+  TITLE+= (filesystem module)
+  DEPENDS:=ucode
+endef
+
+define Package/ucode-mod-fs/description
+ The filesystem plugin module allows interaction with the local file system.
+endef
+
+
+define Package/ucode-mod-math
+  $(Package/ucode/default)
+  TITLE+= (math module)
+  DEPENDS:=ucode
+endef
+
+define Package/ucode-mod-math/description
+ The math plugin provides access to various <math.h> procedures.
+endef
+
+
+define Package/ucode-mod-ubus
+  $(Package/ucode/default)
+  TITLE+= (ubus module)
+  DEPENDS:=ucode +libubus +libblobmsg-json
+endef
+
+define Package/ucode-mod-ubus/description
+ The ubus module allows ucode template scripts to enumerate and invoke ubus
+ procedures.
+endef
+
+
+define Package/ucode-mod-uci
+  $(Package/ucode/default)
+  TITLE+= (uci module)
+  DEPENDS:=ucode +libuci
+endef
+
+define Package/ucode-mod-uci/description
+ The uci module allows templates to read and modify uci configuration.
+endef
+
+
+define Package/ucode/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ucode $(1)/usr/bin/ucode
+endef
+
+define Package/ucode-mod-fs/install
+       $(INSTALL_DIR) $(1)/usr/lib/ucode
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/fs.so $(1)/usr/lib/ucode/
+endef
+
+define Package/ucode-mod-math/install
+       $(INSTALL_DIR) $(1)/usr/lib/ucode
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/math.so $(1)/usr/lib/ucode/
+endef
+
+define Package/ucode-mod-ubus/install
+       $(INSTALL_DIR) $(1)/usr/lib/ucode
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/ubus.so $(1)/usr/lib/ucode/
+endef
+
+define Package/ucode-mod-uci/install
+       $(INSTALL_DIR) $(1)/usr/lib/ucode
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/uci.so $(1)/usr/lib/ucode/
+endef
+
+
+$(eval $(call BuildPackage,ucode))
+$(eval $(call BuildPackage,ucode-mod-fs))
+$(eval $(call BuildPackage,ucode-mod-math))
+$(eval $(call BuildPackage,ucode-mod-ubus))
+$(eval $(call BuildPackage,ucode-mod-uci))