mirror of
https://github.com/remittor/zapret-openwrt.git
synced 2026-01-31 14:50:48 +03:00
makefile: Build luajit2 as static lib (integrate into nfqws2)
This commit is contained in:
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@@ -275,8 +275,6 @@ jobs:
|
||||
sed -i 's/CONFIG_LUCI_JSMIN=y/CONFIG_LUCI_JSMIN=n/g' .config
|
||||
sed -i 's/CONFIG_LUCI_CSSTIDY=y/CONFIG_LUCI_CSSTIDY=n/g' .config
|
||||
grep -q '^CONFIG_LUCI_CSSTIDY=' .config || echo 'CONFIG_LUCI_CSSTIDY=n' >> .config
|
||||
sed -i 's/CONFIG_PACKAGE_luajit2=n/CONFIG_PACKAGE_luajit2=y/g' .config
|
||||
grep -q '^CONFIG_PACKAGE_luajit2=' .config || echo 'CONFIG_PACKAGE_luajit2=y' >> .config
|
||||
echo "status=success" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Show config
|
||||
@@ -291,8 +289,7 @@ jobs:
|
||||
env:
|
||||
ARCH_TAG: ${{ matrix.arch }}
|
||||
run: |
|
||||
PKGLIST="package/feeds/packages/luajit2/compile"
|
||||
PKGLIST="$PKGLIST package/zapret-openwrt/zapret2/compile"
|
||||
PKGLIST="package/zapret-openwrt/zapret2/compile"
|
||||
if [ "$ARCH_TAG" = "$LUCI_ARCH" ]; then
|
||||
PKGLIST="$PKGLIST package/zapret-openwrt/luci-app-zapret2/compile"
|
||||
fi
|
||||
|
||||
@@ -21,23 +21,29 @@ PKG_SOURCE_DATE:=2026-01-30
|
||||
#PKG_SOURCE_URL:=https://github.com/bol-van/zapret2/archive/refs/tags/v$(PKG_VERSION).tar.gz?
|
||||
#PKG_HASH:=skip
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
LUA_JIT?=1
|
||||
|
||||
ifeq ($(LUA_JIT),1)
|
||||
LUAJIT_VER?=2.1
|
||||
LUA_VER?=5.1
|
||||
LUA_DEPEND:=luajit2
|
||||
LUA_INCLUDE:=-I$(STAGING_DIR)/usr/include/luajit-$(LUAJIT_VER)
|
||||
LUA_LIBRARY:=-L$(STAGING_DIR)/usr/lib -lluajit-$(LUA_VER)
|
||||
LUA_DEPEND:=
|
||||
LUAJIT_VER?=2.1
|
||||
LUAJIT_RELEASE:=2.1-20250826
|
||||
LUAJIT_URL:=https://github.com/openresty/luajit2/archive/refs/tags/v$(LUAJIT_RELEASE).tar.gz
|
||||
LUAJIT_TGZ:=$(DL_DIR)/$(PKG_NAME)-luajit-$(LUAJIT_RELEASE).tar.gz
|
||||
LUASRC_DIR:=$(PKG_BUILD_DIR)/luajit-$(LUAJIT_RELEASE)
|
||||
LUAOUT_DIR:=$(PKG_BUILD_DIR)/luajit-out
|
||||
LUA_INCLUDE:=-I$(LUAOUT_DIR)/include/luajit-$(LUAJIT_VER)
|
||||
LUA_LIBRARY:=-L$(LUAOUT_DIR)/lib -lluajit-$(LUA_VER)
|
||||
else
|
||||
LUA_VER?=5.4
|
||||
LUA_DEPEND:=lua$(LUA_VER)
|
||||
LUA_DEPEND:= +lua$(LUA_VER)
|
||||
LUA_INCLUDE:=-I$(STAGING_DIR)/usr/include/lua$(LUA_VER)
|
||||
LUA_LIBRARY:=-L$(STAGING_DIR)/usr/lib -llua$(LUA_VER)
|
||||
endif
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
#TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
|
||||
#TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
|
||||
|
||||
@@ -49,23 +55,69 @@ define Package/$(PKG_NAME)
|
||||
TITLE:=$(PKG_NAME)
|
||||
SUBMENU:=Zapret2
|
||||
URL:=https://github.com/bol-van/zapret2
|
||||
DEPENDS:= +nftables +curl +gzip +$(LUA_DEPEND)
|
||||
DEPENDS:= +nftables +curl +gzip $(LUA_DEPEND)
|
||||
DEPENDS+= +coreutils +coreutils-sort +coreutils-sleep
|
||||
DEPENDS+= +kmod-nft-nat +kmod-nft-offload +kmod-nft-queue
|
||||
DEPENDS+= +libnetfilter-queue +libmnl +libcap +zlib
|
||||
endef
|
||||
|
||||
define Download/$(PKG_NAME)-luajit
|
||||
FILE:=$(PKG_NAME)-luajit-$(LUAJIT_RELEASE).tar.gz
|
||||
URL:=https://github.com/openresty/luajit2/archive/refs/tags
|
||||
URL_FILE:=v$(LUAJIT_RELEASE).tar.gz
|
||||
HASH:=skip
|
||||
endef
|
||||
$(eval $(call Download,$(PKG_NAME)-luajit))
|
||||
|
||||
define Build/Prepare
|
||||
$(Build/Prepare/Default)
|
||||
rm -f $(PKG_BUILD_DIR)/$(MAKE_PATH)/nfqws2
|
||||
rm -f $(PKG_BUILD_DIR)/ip2net/ip2net
|
||||
rm -f $(PKG_BUILD_DIR)/mdig/mdig
|
||||
if [ "$(LUA_JIT)" = 1 ]; then \
|
||||
if [ ! -f "$(LUAJIT_TGZ)" ]; then \
|
||||
echo "ERROR: LuaJIT tarball not found:"; \
|
||||
echo " $(LUAJIT_TGZ)"; \
|
||||
echo "Run: make package/$(PKG_NAME)/download"; \
|
||||
false; \
|
||||
fi ; \
|
||||
rm -rf $(LUASRC_DIR) ; \
|
||||
mkdir -p $(LUASRC_DIR) ; \
|
||||
tar -xzf "$(LUAJIT_TGZ)" --strip-components=1 -C "$(LUASRC_DIR)" ; \
|
||||
rm -rf $(LUAOUT_DIR) ; \
|
||||
fi
|
||||
endef
|
||||
|
||||
#define Build/Configure
|
||||
#endef
|
||||
|
||||
ifeq ($(HOST_ARCH),$(filter $(HOST_ARCH), x86_64 mips64))
|
||||
ifeq ($(CONFIG_ARCH_64BIT),)
|
||||
HOST_BITS := -m32
|
||||
endif
|
||||
endif
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) $(PKG_JOBS) -C $(LUASRC_DIR) \
|
||||
HOST_CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_BITS)" \
|
||||
CROSS="$(TARGET_CROSS)" \
|
||||
XCFLAGS="-DLUAJIT_DISABLE_FFI" \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
BUILDMODE=static \
|
||||
DESTDIR=$(LUAOUT_DIR) \
|
||||
PREFIX= \
|
||||
TARGET_SYS=Linux
|
||||
$(RM) -rf $(LUAOUT_DIR)
|
||||
if [ ! -f $(LUASRC_DIR)/src/libluajit.a ]; then \
|
||||
echo "ERROR: file libluajit.a not found!"; \
|
||||
false; \
|
||||
fi
|
||||
mkdir -p $(LUAOUT_DIR)
|
||||
$(MAKE) -C $(LUASRC_DIR) \
|
||||
DESTDIR=$(LUAOUT_DIR) \
|
||||
PREFIX= \
|
||||
TARGET_SYS=Linux \
|
||||
install
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) $(TARGET_CONFIGURE_OPTS) LUA_JIT=$(LUA_JIT) LUA_CFLAGS="$(LUA_INCLUDE)" LUA_LIB="$(LUA_LIBRARY)"
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/ip2net $(TARGET_CONFIGURE_OPTS)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/mdig $(TARGET_CONFIGURE_OPTS)
|
||||
@@ -214,10 +266,6 @@ if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
exit 55
|
||||
fi
|
||||
fi
|
||||
if $${PKG_CHECK} luajit 2>/dev/null | grep -q . ; then
|
||||
echo "ERROR: conflict package \"luajit\". Required \"luajit2\" package. Please install new package \"zapret2\" manually!"
|
||||
exit 59
|
||||
fi
|
||||
if [ -f "$${ZAPRET_CFG}" ] && ! grep -q "run_on_boot" "$${ZAPRET_CFG}"; then
|
||||
if [ -x "$${ZAPRET_INITD}" ]; then
|
||||
$${ZAPRET_INITD} running && $${ZAPRET_INITD} stop >/dev/null 2>&1
|
||||
|
||||
Reference in New Issue
Block a user