include $(TOPDIR)/rules.mk

PKG_NAME:=raven-lua
PKG_VERSION:=0.5.0
PKG_RELEASE:=2

PKG_SOURCE_URL:=https://github.com/cloudflare/raven-lua.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=09b6b6c5368d81f42e70c2d6a962957c3bfff672
PKG_MIRROR_HASH:=3cb02e41015265230467c5a6a3cb23166a34b60153b79d934bdc01baf9f0cdb6

PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE

PKG_BUILD_DEPENDS:=VUCI_COMPILE_LUA:luajit2/host

include $(INCLUDE_DIR)/package.mk

LUAJIT_ARGS=-t raw -d
ifeq ($(CONFIG_ARCH_64BIT),y)
	LUAJIT_ARGS += -X
else
	LUAJIT_ARGS += -W
endif

define Package/raven-lua
	SUBMENU:=Lua
	SECTION:=lang
	CATEGORY:=Languages
	TITLE:=LUA Sentry lib
	DEPENDS:=+luajit2 +luasocket +luasec +luci-lib-jsonc
endef

define Build/Compile
	$(if $(CONFIG_VUCI_COMPILE_LUA), \
		$(FIND) $(PKG_BUILD_DIR)/raven -type f -name '*.lua' | while read src; do \
			LUA_PATH="$(STAGING_DIR_HOSTPKG)/share/luajit-2.1/?.lua;;" $(STAGING_DIR_HOSTPKG)/bin/luajit -b $(LUAJIT_ARGS) "$$$$src" "$$$$src" ;\
		done; \
	)
endef

define Package/raven-lua/install
	$(INSTALL_DIR) $(1)/usr/lib/lua $(1)/usr/lib/lua/raven $(1)/usr/lib/lua/raven/senders
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/raven/init.lua $(1)/usr/lib/lua/raven
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/raven/util.lua $(1)/usr/lib/lua/raven
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/raven/senders/luasocket.lua $(1)/usr/lib/lua/raven/senders
endef

$(eval $(call BuildPackage,raven-lua))
