71c53ae8fe37f0de1a375dae54f24d7f66ea1290
[librecmc/librecmc.git] / package / libs / libubox / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=libubox
4 PKG_RELEASE=1
5
6 PKG_SOURCE_PROTO:=git
7 PKG_SOURCE_URL=$(LEDE_GIT)/project/libubox.git
8 PKG_SOURCE_DATE:=2017-02-24
9 PKG_SOURCE_VERSION:=96305a3cafcc9c0df7f189567671bb26ce3eb129
10 PKG_MIRROR_HASH:=19dc9f73621a65d1374427160f59e338db45ee6edc30edff6a6fee10dcdfc8b6
11 CMAKE_INSTALL:=1
12
13 PKG_LICENSE:=ISC
14 PKG_LICENSE_FILES:=
15
16 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
17
18 PKG_BUILD_DEPENDS:=lua
19
20 include $(INCLUDE_DIR)/package.mk
21 include $(INCLUDE_DIR)/cmake.mk
22
23 define Package/libubox
24   SECTION:=libs
25   CATEGORY:=Libraries
26   TITLE:=Basic utility library
27   ABI_VERSION:=$(PKG_VERSION)
28   DEPENDS:=
29 endef
30
31 define Package/libblobmsg-json
32   SECTION:=libs
33   CATEGORY:=Libraries
34   TITLE:=blobmsg <-> json conversion library
35   DEPENDS:=+libjson-c +libubox
36 endef
37
38 define Package/jshn
39   SECTION:=utils
40   CATEGORY:=Utilities
41   DEPENDS:=+libjson-c +libubox +libblobmsg-json
42   TITLE:=JSON SHell Notation
43 endef
44
45 define Package/jshn/description
46   Library for parsing and generating JSON from shell scripts
47 endef
48
49 define Package/libjson-script
50   SECTION:=utils
51   CATEGORY:=Utilities
52   DEPENDS:=+libubox
53   TITLE:=Minimalistic JSON based scripting engine
54 endef
55
56 define Package/libubox-lua
57   SECTION:=libs
58   CATEGORY:=Libraries
59   DEPENDS:=+libubox +liblua
60   TITLE:=Lua binding for the OpenWrt Basic utility library
61 endef
62
63 TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
64 CMAKE_OPTIONS = \
65         -DLUAPATH=/usr/lib/lua
66
67 define Package/libubox/install
68         $(INSTALL_DIR) $(1)/lib/
69         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libubox.so $(1)/lib/
70 endef
71
72 define Package/libblobmsg-json/install
73         $(INSTALL_DIR) $(1)/lib/
74         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libblobmsg_json.so $(1)/lib/
75 endef
76
77 define Package/jshn/install
78         $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/share/libubox
79         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/jshn $(1)/usr/bin
80         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/libubox/jshn.sh $(1)/usr/share/libubox
81 endef
82
83 define Package/libjson-script/install
84         $(INSTALL_DIR) $(1)/lib/
85         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libjson_script.so $(1)/lib/
86 endef
87
88 define Package/libubox-lua/install
89         $(INSTALL_DIR) $(1)/usr/lib/lua
90         $(CP) $(PKG_BUILD_DIR)/lua/uloop.so $(1)/usr/lib/lua/
91 endef
92
93 $(eval $(call BuildPackage,libubox))
94 $(eval $(call BuildPackage,libblobmsg-json))
95 $(eval $(call BuildPackage,jshn))
96 $(eval $(call BuildPackage,libjson-script))
97 $(eval $(call BuildPackage,libubox-lua))