luafilesystem: add Lua 5.4 variant

Lua 5.1 is EOL and many downstream packages need 5.2+. Mirror the
luasocket multi-variant pattern: keep luafilesystem (Lua 5.1, default)
and add luafilesystem5.4 which builds the same source against
liblua5.4 and installs to /usr/lib/lua/5.4/.

Needed for the prosody 13.x upgrade (Lua 5.1 unsupported upstream).

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
Alexandru Ardelean authored and Alexandru Ardelean committed 2026-07-31 09:46:08 +03:00
1 parent 3fe92e63f5
commit 27152e6f34
1 file changed
+44 -11
+44 -11
View File
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luafilesystem
PKG_VERSION:=1.9.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_LICENSE:=MIT
PKG_MIRROR_HASH:=a64d8299c7c875bd2183f82f9a71f6fcc7610ee7377add0b6069fea3d7355073
@@ -19,43 +19,70 @@ PKG_SOURCE_PROTO:=git
include $(INCLUDE_DIR)/package.mk
define Package/luafilesystem
define Package/luafilesystem/default
SUBMENU:=Lua
SECTION:=lang
CATEGORY:=Languages
TITLE:=LuaFileSystem
URL:=https://lunarmodules.github.io/luafilesystem/
MAINTAINER:=W. Michael Petullo <mike@flyn.org>
DEPENDS:=+liblua
endef
define Package/luafilesystem/description
define Package/luafilesystem
$(Package/luafilesystem/default)
DEPENDS:=+liblua
VARIANT:=lua-51
DEFAULT_VARIANT:=1
endef
define Package/luafilesystem5.4
$(Package/luafilesystem/default)
TITLE+= (Lua 5.4)
DEPENDS:=+liblua5.4
VARIANT:=lua-54
endef
define Package/luafilesystem/default/description
This package contains the LuaFileSystem library, a set of portable
functions for directory creation, listing and deletion and for file
locking.
endef
Package/luafilesystem/description = $(Package/luafilesystem/default/description)
Package/luafilesystem5.4/description = $(Package/luafilesystem/default/description)
ifeq ($(BUILD_VARIANT),lua-51)
LUA_VERSION:=5.1
LUA_LIBNAME:=lua
LUA_INCDIR:=$(STAGING_DIR)/usr/include
LUA_INSTALL_DIR:=/usr/lib/lua
endif
ifeq ($(BUILD_VARIANT),lua-54)
LUA_VERSION:=5.4
LUA_LIBNAME:=lua5.4
LUA_INCDIR:=$(STAGING_DIR)/usr/include/lua5.4
LUA_INSTALL_DIR:=/usr/lib/lua/5.4
endif
define Build/Configure
endef
TARGET_CFLAGS += $(FPIC) $(TARGET_CPPFLAGS)
TARGET_LDFLAGS += -llua
TARGET_CFLAGS += $(FPIC) $(TARGET_CPPFLAGS) -I$(LUA_INCDIR)
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS) -std=gnu99" \
LDFLAGS="$(TARGET_LDFLAGS)"
LDFLAGS="$(TARGET_LDFLAGS) -l$(LUA_LIBNAME)"
$(TARGET_CROSS)ar r $(PKG_BUILD_DIR)/src/luafilesystem.a $(PKG_BUILD_DIR)/src/lfs.o
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR)/usr/include
$(INSTALL_DIR) $(STAGING_DIR)/usr/lib/lua
$(INSTALL_DIR) $(STAGING_DIR)$(LUA_INSTALL_DIR)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/lfs.h $(STAGING_DIR)/usr/include
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lfs.so $(STAGING_DIR)/usr/lib/lua
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/luafilesystem.a $(STAGING_DIR)/usr/lib/lua
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lfs.so $(STAGING_DIR)$(LUA_INSTALL_DIR)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/luafilesystem.a $(STAGING_DIR)$(LUA_INSTALL_DIR)
endef
define Package/luafilesystem/install
@@ -63,4 +90,10 @@ define Package/luafilesystem/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lfs.so $(1)/usr/lib/lua/lfs.so
endef
define Package/luafilesystem5.4/install
$(INSTALL_DIR) $(1)/usr/lib/lua/5.4
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lfs.so $(1)/usr/lib/lua/5.4/lfs.so
endef
$(eval $(call BuildPackage,luafilesystem))
$(eval $(call BuildPackage,luafilesystem5.4))