makefile: Build luajit2 as static lib (integrate into nfqws2)

This commit is contained in:
remittor
2026-01-30 20:09:00 +03:00
parent a97d095aa6
commit 6a25a51571
2 changed files with 61 additions and 16 deletions

View File

@@ -275,8 +275,6 @@ jobs:
sed -i 's/CONFIG_LUCI_JSMIN=y/CONFIG_LUCI_JSMIN=n/g' .config 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 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 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 echo "status=success" >> $GITHUB_OUTPUT
- name: Show config - name: Show config
@@ -291,8 +289,7 @@ jobs:
env: env:
ARCH_TAG: ${{ matrix.arch }} ARCH_TAG: ${{ matrix.arch }}
run: | run: |
PKGLIST="package/feeds/packages/luajit2/compile" PKGLIST="package/zapret-openwrt/zapret2/compile"
PKGLIST="$PKGLIST package/zapret-openwrt/zapret2/compile"
if [ "$ARCH_TAG" = "$LUCI_ARCH" ]; then if [ "$ARCH_TAG" = "$LUCI_ARCH" ]; then
PKGLIST="$PKGLIST package/zapret-openwrt/luci-app-zapret2/compile" PKGLIST="$PKGLIST package/zapret-openwrt/luci-app-zapret2/compile"
fi fi

View File

@@ -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_SOURCE_URL:=https://github.com/bol-van/zapret2/archive/refs/tags/v$(PKG_VERSION).tar.gz?
#PKG_HASH:=skip #PKG_HASH:=skip
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
LUA_JIT?=1 LUA_JIT?=1
ifeq ($(LUA_JIT),1) ifeq ($(LUA_JIT),1)
LUAJIT_VER?=2.1
LUA_VER?=5.1 LUA_VER?=5.1
LUA_DEPEND:=luajit2 LUA_DEPEND:=
LUA_INCLUDE:=-I$(STAGING_DIR)/usr/include/luajit-$(LUAJIT_VER) LUAJIT_VER?=2.1
LUA_LIBRARY:=-L$(STAGING_DIR)/usr/lib -lluajit-$(LUA_VER) 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 else
LUA_VER?=5.4 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_INCLUDE:=-I$(STAGING_DIR)/usr/include/lua$(LUA_VER)
LUA_LIBRARY:=-L$(STAGING_DIR)/usr/lib -llua$(LUA_VER) LUA_LIBRARY:=-L$(STAGING_DIR)/usr/lib -llua$(LUA_VER)
endif endif
include $(INCLUDE_DIR)/package.mk
#TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS) #TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
#TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) #TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
@@ -49,23 +55,69 @@ define Package/$(PKG_NAME)
TITLE:=$(PKG_NAME) TITLE:=$(PKG_NAME)
SUBMENU:=Zapret2 SUBMENU:=Zapret2
URL:=https://github.com/bol-van/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+= +coreutils +coreutils-sort +coreutils-sleep
DEPENDS+= +kmod-nft-nat +kmod-nft-offload +kmod-nft-queue DEPENDS+= +kmod-nft-nat +kmod-nft-offload +kmod-nft-queue
DEPENDS+= +libnetfilter-queue +libmnl +libcap +zlib DEPENDS+= +libnetfilter-queue +libmnl +libcap +zlib
endef 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 define Build/Prepare
$(Build/Prepare/Default) $(Build/Prepare/Default)
rm -f $(PKG_BUILD_DIR)/$(MAKE_PATH)/nfqws2 rm -f $(PKG_BUILD_DIR)/$(MAKE_PATH)/nfqws2
rm -f $(PKG_BUILD_DIR)/ip2net/ip2net rm -f $(PKG_BUILD_DIR)/ip2net/ip2net
rm -f $(PKG_BUILD_DIR)/mdig/mdig 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 endef
#define Build/Configure #define Build/Configure
#endef #endef
ifeq ($(HOST_ARCH),$(filter $(HOST_ARCH), x86_64 mips64))
ifeq ($(CONFIG_ARCH_64BIT),)
HOST_BITS := -m32
endif
endif
define Build/Compile 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)/$(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)/ip2net $(TARGET_CONFIGURE_OPTS)
$(MAKE) -C $(PKG_BUILD_DIR)/mdig $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(PKG_BUILD_DIR)/mdig $(TARGET_CONFIGURE_OPTS)
@@ -214,10 +266,6 @@ if [ -z "$${IPKG_INSTROOT}" ]; then
exit 55 exit 55
fi fi
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 [ -f "$${ZAPRET_CFG}" ] && ! grep -q "run_on_boot" "$${ZAPRET_CFG}"; then
if [ -x "$${ZAPRET_INITD}" ]; then if [ -x "$${ZAPRET_INITD}" ]; then
$${ZAPRET_INITD} running && $${ZAPRET_INITD} stop >/dev/null 2>&1 $${ZAPRET_INITD} running && $${ZAPRET_INITD} stop >/dev/null 2>&1