mirror of
https://github.com/openwrt/packages.git
synced 2026-04-15 19:02:09 +00:00
lua: move Lua packages under lang/lua sub-folder
There are roughly 50 Lua packages. It's about time we consider a proposal for moving all of them under a lang/lua sub-folder. Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
committed by
Alexandru Ardelean
parent
1545e6510f
commit
7eebedcdfc
113
lang/lua/cqueues/Makefile
Normal file
113
lang/lua/cqueues/Makefile
Normal file
@@ -0,0 +1,113 @@
|
||||
#
|
||||
# Copyright (C) 2022 Siger Yang <siger.yang@outlook.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=cqueues
|
||||
PKG_VERSION:=20200726
|
||||
PKG_RELEASE:=2
|
||||
PKG_MAINTAINER:=Siger Yang <siger.yang@outlook.com>
|
||||
|
||||
PKG_MIRROR_HASH:=214a09c250e92d12cd63cdaedce9491f874a920e8222cc4faf10a978ec7bd1bd
|
||||
PKG_SOURCE_URL:=https://github.com/wahern/cqueues.git
|
||||
PKG_SOURCE_VERSION:=rel-$(PKG_VERSION)
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/cqueues/default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=cqueues for $(1)
|
||||
URL:=http://25thandclement.com/~william/projects/cqueues.html
|
||||
DEPENDS:=+libopenssl
|
||||
endef
|
||||
|
||||
define Package/cqueues/default/description
|
||||
Continuation Queues: Embeddable asynchronous networking, threading, and
|
||||
notification framework for Lua on Unix.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
TARGET_LDFLAGS += $(FPIC)
|
||||
|
||||
define Package/cqueues
|
||||
$(call Package/cqueues/default,lua5.1)
|
||||
DEPENDS+=+liblua
|
||||
VARIANT:=lua51
|
||||
endef
|
||||
|
||||
define Package/cqueues-lua5.3
|
||||
$(call Package/cqueues/default,lua5.3)
|
||||
DEPENDS+=+liblua5.3
|
||||
VARIANT:=lua53
|
||||
endef
|
||||
|
||||
define Package/cqueues-lua5.4
|
||||
$(call Package/cqueues/default,lua5.4)
|
||||
DEPENDS+=+liblua5.4
|
||||
VARIANT:=lua54
|
||||
endef
|
||||
|
||||
Package/cqueues/description = $(Package/cqueues/default/description)
|
||||
Package/cqueues-lua5.3/description = $(Package/cqueues/default/description)
|
||||
Package/cqueues-lua5.4/description = $(Package/cqueues/default/description)
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua51)
|
||||
MAKE_FLAGS += \
|
||||
LUA_APIS="5.1" \
|
||||
LUA51_CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
|
||||
lua51cpath="/usr/lib/lua" \
|
||||
lua51path="/usr/lib/lua"
|
||||
endif
|
||||
ifeq ($(BUILD_VARIANT),lua53)
|
||||
MAKE_FLAGS += \
|
||||
LUA_APIS="5.3" \
|
||||
LUA53_CPPFLAGS="-I$(STAGING_DIR)/usr/include/lua5.3" \
|
||||
lua53cpath="/usr/local/lib/lua/5.3" \
|
||||
lua53path="/usr/local/lib/lua/5.3"
|
||||
endif
|
||||
ifeq ($(BUILD_VARIANT),lua54)
|
||||
MAKE_FLAGS += \
|
||||
LUA_APIS="5.4" \
|
||||
LUA54_CPPFLAGS="-I$(STAGING_DIR)/usr/include/lua5.4" \
|
||||
lua54cpath="/usr/local/lib/lua/5.4" \
|
||||
lua54path="/usr/local/lib/lua/5.4"
|
||||
endif
|
||||
|
||||
define Package/cqueues/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/_cqueues.so $(1)/usr/lib/lua/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/cqueues.lua $(1)/usr/lib/lua/
|
||||
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lua/cqueues $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
define Package/cqueues-lua5.3/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.3/_cqueues.so $(1)/usr/local/lib/lua/5.3
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.3/cqueues.lua $(1)/usr/local/lib/lua/5.3
|
||||
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.3/cqueues $(1)/usr/local/lib/lua/5.3
|
||||
endef
|
||||
define Package/cqueues-lua5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.4/_cqueues.so $(1)/usr/local/lib/lua/5.4
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.4/cqueues.lua $(1)/usr/local/lib/lua/5.4
|
||||
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.4/cqueues $(1)/usr/local/lib/lua/5.4
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,cqueues))
|
||||
$(eval $(call BuildPackage,cqueues-lua5.3))
|
||||
$(eval $(call BuildPackage,cqueues-lua5.4))
|
||||
48
lang/lua/dkjson/Makefile
Normal file
48
lang/lua/dkjson/Makefile
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
# Copyright (C) 20013-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=dkjson
|
||||
PKG_VERSION:=2.5
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/LuaDist/dkjson/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=8560ee3c7ed421b293bf0905017bc90bd2f282d56517aa59ec6c53f5fb4057bd
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/dkjson
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=DKJSON
|
||||
URL:=http://dkolf.de/src/dkjson-lua.fsl/home
|
||||
MAINTAINER:=Lars Gierth <larsg@systemli.org>
|
||||
DEPENDS:=+lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/dkjson/description
|
||||
Lua JSON parser/serializer with UTF-8 support
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/dkjson/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dkjson.lua $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,dkjson))
|
||||
51
lang/lua/json4lua/Makefile
Normal file
51
lang/lua/json4lua/Makefile
Normal file
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# Copyright (C) 2006-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=json4lua
|
||||
PKG_VERSION:=0.9.54
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/amrhassan/json4lua/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=2498e5224b024521af7f2de9a2c2af4028cd8da4b724ffd6bd94beede2402cfe
|
||||
|
||||
PKG_MAINTAINER:=Amr Hassan <amr.hassan@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
LUA_MODULE_PATH:=/usr/lib/lua
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/json4lua
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=json4lua
|
||||
URL:=https://github.com/amrhassan/json4lua
|
||||
DEPENDS:=+lua +luasocket
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/json4lua/description
|
||||
JSON and JSONRPC for Lua
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/json4lua/install
|
||||
$(INSTALL_DIR) $(1)/$(LUA_MODULE_PATH)/json
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/json/json.lua $(1)/$(LUA_MODULE_PATH)/json.lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/json/rpc.lua $(1)/$(LUA_MODULE_PATH)/json/rpc.lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,json4lua))
|
||||
61
lang/lua/ldbus/Makefile
Normal file
61
lang/lua/ldbus/Makefile
Normal file
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Copyright (C) 2006-2017 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GPL 2 license.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ldbus
|
||||
PKG_SOURCE_DATE:=2019-08-15
|
||||
PKG_SOURCE_VERSION:=9e176fe851006037a643610e6d8f3a8e597d4073
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/daurnimator/ldbus
|
||||
PKG_MIRROR_HASH:=6a17564734b9cd3a9c4713777b8219c5e08252be3fd6ba9f9aecbf109d1ed899
|
||||
|
||||
PKG_MAINTAINER:=Enrico Mioso <mrkiko.rs@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_DEPENDS:=luarocks/host
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/ldbus
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=ldbus Lua DBus bindings
|
||||
URL:=https://github.com/daurnimator/ldbus
|
||||
DEPENDS:=+dbus +lua
|
||||
endef
|
||||
|
||||
define Package/ldbus/description
|
||||
This package contains "ldbus": LUA bindings to interact with the DBUS
|
||||
message bus system, and services connected to it.
|
||||
See https://github.com/daurnimator/ldbus
|
||||
for details.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
cd $(PKG_BUILD_DIR) && \
|
||||
luarocks make --pack-binary-rock ldbus-scm-0.rockspec \
|
||||
LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
|
||||
LUA_PKGNAME=lua5.1 \
|
||||
DBUS_INCDIR=$(STAGING_DIR)/usr/include/dbus-1.0/ \
|
||||
DBUS_ARCH_INCDIR=$(STAGING_DIR)/usr/lib/dbus-1.0/include \
|
||||
DBUS_LIBDIR=$(STAGING_DIR)/usr/lib \
|
||||
CC="$(TARGET_CC)" LD="$(TARGET_CC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)"
|
||||
endef
|
||||
|
||||
define Package/ldbus/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ldbus.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ldbus))
|
||||
44
lang/lua/linotify/Makefile
Normal file
44
lang/lua/linotify/Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# This is free software, licensed under your choice of the following SPDX identifiers:
|
||||
# Apache-2.0, BSD-2-Clause, CC-BY-4.0, ISC, MIT, X11 or GPL-2.0-or-later
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=linotify
|
||||
PKG_VERSION:=0.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL=https://codeload.github.com/hoelzro/$(PKG_NAME)/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=21d005f16043397a85913a7d14a267716d6384f0228718d5de464bfc0274e338
|
||||
|
||||
PKG_MAINTAINER:=Karl Palsson <karlp@etactica.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/linotify
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=inotify binding for lua
|
||||
DEPENDS:=+lua
|
||||
URL:=https://github.com/hoelzro/linotify
|
||||
endef
|
||||
|
||||
define Package/linotify/description
|
||||
This provides a lua binding to the inotify file system change notification system
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
cd $(PKG_BUILD_DIR) && \
|
||||
$(TARGET_CC) -o inotify.so -shared $(FPIC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) linotify.c
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/inotify.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,linotify))
|
||||
47
lang/lua/lpeg/Makefile
Normal file
47
lang/lua/lpeg/Makefile
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lpeg
|
||||
PKG_VERSION:=1.0.2
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.inf.puc-rio.br/~roberto/lpeg/
|
||||
PKG_HASH:=48d66576051b6c78388faad09b70493093264588fcd0f258ddaab1cdd4a15ffe
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lpeg
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LPeg
|
||||
URL:=http://www.inf.puc-rio.br/~roberto/lpeg/
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lpeg/description
|
||||
LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs)
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
# add make variable overrides here
|
||||
MAKE_FLAGS += \
|
||||
COPT="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -O2"
|
||||
|
||||
define Package/lpeg/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lpeg.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lpeg))
|
||||
49
lang/lua/lua-argparse/Makefile
Normal file
49
lang/lua/lua-argparse/Makefile
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
# Copyright (C) 2006-2020 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-argparse
|
||||
PKG_VERSION:=0.7.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/luarocks/argparse/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=d344e49404c3e7b3e7fa4fe6741c106f25909d9b24923cb08dcceda1f9754809
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/argparse-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Vladimir Malyutin <first-leon@yandex.ru>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-argparse
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=lua-argparse
|
||||
URL:=https://github.com/mpeterv/argparse
|
||||
DEPENDS:=+lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/lua-argparse/description
|
||||
Argparse is a feature-rich command line parser for Lua inspired by argparse for Python.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/lua-argparse/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/argparse.lua $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-argparse))
|
||||
50
lang/lua/lua-bencode/Makefile
Normal file
50
lang/lua/lua-bencode/Makefile
Normal file
@@ -0,0 +1,50 @@
|
||||
#
|
||||
# Copyright (C) 20013-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-bencode
|
||||
PKG_VERSION:=2.2.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://bitbucket.org/wilhelmy/lua-bencode/downloads/
|
||||
PKG_HASH:=25830ff3fe342c09c65995d46c4d89ad0387cc502b1a2f70f9cca2d8c7ccafdd
|
||||
|
||||
PKG_MAINTAINER:=Lars Gierth <larsg@systemli.org>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-bencode
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=lua-bencode
|
||||
URL:=https://bitbucket.org/wilhelmy/lua-bencode
|
||||
DEPENDS:=+lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/lua-bencode/description
|
||||
This is a module for the lua programming language for decoding and encoding
|
||||
bencoded data which can be used to read and write torrent files for bittorrent.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
|
||||
define Package/lua-bencode/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/bencode.lua $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-bencode))
|
||||
59
lang/lua/lua-bit32/Makefile
Normal file
59
lang/lua/lua-bit32/Makefile
Normal file
@@ -0,0 +1,59 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-bit32
|
||||
PKG_VERSION:=5.3.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
|
||||
PKG_SRC_NAME:=lua-compat-5.2
|
||||
PKG_SRC_VERSION:=0.3
|
||||
PKG_SOURCE_URL=https://codeload.github.com/keplerproject/$(PKG_SRC_NAME)/tar.gz/v$(PKG_SRC_VERSION)?
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_HASH:=627e842c488c1afece4383da9f9a839a7ddbc2f7fedfc456f76e3a590d4ca67f
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SRC_NAME)-$(PKG_SRC_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_DEPENDS:=luarocks/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-bit32
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua 5.2 bit manipulation library
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lua-bit32/description
|
||||
lua-bit32 is the native Lua 5.2 bit manipulation library,
|
||||
backported to Lua 5.1
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += \
|
||||
-I$(STAGING_DIR)/usr/include
|
||||
|
||||
define Build/Compile
|
||||
cd $(PKG_BUILD_DIR) && \
|
||||
luarocks make --pack-binary-rock bit32-scm-1.rockspec \
|
||||
LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
|
||||
LUA_PKGNAME=lua5.1 \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
CC="$(TARGET_CC)" LD="$(TARGET_CC)"
|
||||
endef
|
||||
|
||||
define Package/$(PKG_NAME)/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bit32.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-bit32))
|
||||
98
lang/lua/lua-cjson/Makefile
Normal file
98
lang/lua/lua-cjson/Makefile
Normal file
@@ -0,0 +1,98 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-cjson
|
||||
PKG_VERSION:=2.1.0
|
||||
PKG_RELEASE:=5
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://kyne.au/~mark/software/download/
|
||||
PKG_HASH:=51bc69cd55931e0cba2ceae39e9efa2483f4292da3a88a1ed470eda829f6c778
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
HOST_BUILD_DEPENDS:=lua/host
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lua-cjson/default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua CJSON parser
|
||||
URL:=https://github.com/mpx/lua-cjson
|
||||
endef
|
||||
|
||||
define Package/lua-cjson
|
||||
$(Package/lua-cjson/default)
|
||||
DEPENDS+=+liblua
|
||||
VARIANT:=lua-51
|
||||
endef
|
||||
|
||||
define Package/lua-cjson-lua5.3
|
||||
$(Package/lua-cjson/default)
|
||||
DEPENDS+=+liblua5.3
|
||||
VARIANT:=lua-53
|
||||
endef
|
||||
|
||||
define Package/lua-cjson-lua5.4
|
||||
$(Package/lua-cjson/default)
|
||||
DEPENDS+=+liblua5.4
|
||||
VARIANT:=lua-54
|
||||
endef
|
||||
|
||||
define Package/lua-cjson/default/description
|
||||
Lua CJSON is a fast JSON encoding/parsing module for Lua.
|
||||
endef
|
||||
|
||||
Package/lua-cjson/description = $(Package/lua-cjson/default/description)
|
||||
Package/lua-cjson-lua5.3/description = $(Package/lua-cjson/default/description)
|
||||
Package/lua-cjson-lua5.4/description = $(Package/lua-cjson/default/description)
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DUSE_LUA=ON
|
||||
|
||||
CMAKE_HOST_OPTIONS += \
|
||||
-DLUA_MATH_LIBRARY=m
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua-53)
|
||||
CMAKE_OPTIONS += -DUSE_LUA53=ON
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua-54)
|
||||
CMAKE_OPTIONS += -DUSE_LUA54=ON
|
||||
endif
|
||||
|
||||
define Package/lua-cjson/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/cjson.so $(1)/usr/lib/lua/
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/cjson
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/lua/cjson/util.lua $(1)/usr/lib/lua/cjson
|
||||
endef
|
||||
|
||||
define Package/lua-cjson-lua5.3/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/cjson.so $(1)/usr/local/lib/lua/5.3
|
||||
endef
|
||||
|
||||
define Package/lua-cjson-lua5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/cjson.so $(1)/usr/local/lib/lua/5.4
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,lua-cjson))
|
||||
$(eval $(call BuildPackage,lua-cjson-lua5.3))
|
||||
$(eval $(call BuildPackage,lua-cjson-lua5.4))
|
||||
78
lang/lua/lua-cjson/patches/001-add-support-lua5-x.patch
Normal file
78
lang/lua/lua-cjson/patches/001-add-support-lua5-x.patch
Normal file
@@ -0,0 +1,78 @@
|
||||
--- a/lua_cjson.c
|
||||
+++ b/lua_cjson.c
|
||||
@@ -1227,7 +1227,10 @@ static void json_process_value(lua_State
|
||||
lua_pushlstring(l, token->value.string, token->string_len);
|
||||
break;;
|
||||
case T_NUMBER:
|
||||
- lua_pushnumber(l, token->value.number);
|
||||
+ if ((lua_Integer)token->value.number == token->value.number)
|
||||
+ lua_pushinteger(l, (lua_Integer)token->value.number);
|
||||
+ else
|
||||
+ lua_pushnumber(l, token->value.number);
|
||||
break;;
|
||||
case T_BOOLEAN:
|
||||
lua_pushboolean(l, token->value.boolean);
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -15,8 +15,28 @@ if(NOT CMAKE_BUILD_TYPE)
|
||||
FORCE)
|
||||
endif()
|
||||
|
||||
-find_package(Lua51 REQUIRED)
|
||||
-include_directories(${LUA_INCLUDE_DIR})
|
||||
+if(USE_LUA54)
|
||||
+ find_path(LUA54_INCLUDE_DIRS lua.h PATH_SUFFIXES lua5.4)
|
||||
+ find_library(LUA54_LIBRARIES lua5.4)
|
||||
+
|
||||
+ if (NOT LUA54_INCLUDE_DIRS OR NOT LUA54_LIBRARIES)
|
||||
+ message(FATAL_ERROR "Liblua 5.4 is required.")
|
||||
+ endif()
|
||||
+
|
||||
+ include_directories(${LUA54_INCLUDE_DIRS})
|
||||
+elseif(USE_LUA53)
|
||||
+ find_path(LUA53_INCLUDE_DIRS lua.h PATH_SUFFIXES lua5.3)
|
||||
+ find_library(LUA53_LIBRARIES lua5.3)
|
||||
+
|
||||
+ if (NOT LUA53_INCLUDE_DIRS OR NOT LUA53_LIBRARIES)
|
||||
+ message(FATAL_ERROR "Liblua 5.3 is required.")
|
||||
+ endif()
|
||||
+
|
||||
+ include_directories(${LUA53_INCLUDE_DIRS})
|
||||
+else()
|
||||
+ find_package(Lua51 REQUIRED)
|
||||
+ include_directories(${LUA_INCLUDE_DIR})
|
||||
+endif()
|
||||
|
||||
if(NOT USE_INTERNAL_FPCONV)
|
||||
# Use libc number conversion routines (strtod(), sprintf())
|
||||
@@ -51,7 +71,14 @@ if(NOT HAVE_ISINF)
|
||||
endif()
|
||||
|
||||
set(_MODULE_LINK "${CMAKE_THREAD_LIBS_INIT}")
|
||||
-get_filename_component(_lua_lib_dir ${LUA_LIBRARY} PATH)
|
||||
+
|
||||
+if(USE_LUA54)
|
||||
+ get_filename_component(_lua_lib_dir ${LUA54_LIBRARIES} PATH)
|
||||
+elseif(USE_LUA53)
|
||||
+ get_filename_component(_lua_lib_dir ${LUA53_LIBRARIES} PATH)
|
||||
+else()
|
||||
+ get_filename_component(_lua_lib_dir ${LUA_LIBRARY} PATH)
|
||||
+endif()
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
|
||||
@@ -65,7 +92,13 @@ if(WIN32)
|
||||
# Windows sprintf()/strtod() handle NaN/inf differently. Not supported.
|
||||
add_definitions(-DDISABLE_INVALID_NUMBERS)
|
||||
else()
|
||||
- set(_lua_module_dir "${_lua_lib_dir}/lua/5.1")
|
||||
+ if(USE_LUA54)
|
||||
+ set(_lua_module_dir "${_lua_lib_dir}/lua/5.4")
|
||||
+ elseif(USE_LUA53)
|
||||
+ set(_lua_module_dir "${_lua_lib_dir}/lua/5.3")
|
||||
+ else()
|
||||
+ set(_lua_module_dir "${_lua_lib_dir}/lua/5.1")
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
add_library(cjson MODULE lua_cjson.c strbuf.c ${FPCONV_SOURCES})
|
||||
12
lang/lua/lua-cjson/patches/900-cmake-4-compatibility.patch
Normal file
12
lang/lua/lua-cjson/patches/900-cmake-4-compatibility.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -3,8 +3,8 @@
|
||||
# Unix: export LUA_DIR=/home/user/pkg
|
||||
# Windows: set LUA_DIR=c:\lua51
|
||||
|
||||
+cmake_minimum_required(VERSION 3.10)
|
||||
project(lua-cjson C)
|
||||
-cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
option(USE_INTERNAL_FPCONV "Use internal strtod() / g_fmt() code for performance")
|
||||
option(MULTIPLE_THREADS "Support multi-threaded apps with internal fpconv - recommended" ON)
|
||||
60
lang/lua/lua-copas/Makefile
Normal file
60
lang/lua/lua-copas/Makefile
Normal file
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2009-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-copas
|
||||
PKG_VERSION:=2.0.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=copas-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/keplerproject/copas/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=1469eaf987513f5a9a0bee345c040c8fa30ca6194bc75ad78171362f9904cf3e
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/copas-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-copas
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-Copas
|
||||
URL:=https://github.com/keplerproject/copas
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lua-copas/description
|
||||
Copas is a dispatcher based on coroutines that can be used by TCP/IP servers.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
T="$(BUILD_VARIANT)" \
|
||||
PREFIX="$(PKG_INSTALL_DIR)/usr" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Package/lua-copas/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/copas
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/copas.lua $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/copas/ftp.lua $(1)/usr/lib/lua/copas
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/copas/smtp.lua $(1)/usr/lib/lua/copas
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/copas/http.lua $(1)/usr/lib/lua/copas
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/copas/limit.lua $(1)/usr/lib/lua/copas
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-copas))
|
||||
60
lang/lua/lua-coxpcall/Makefile
Normal file
60
lang/lua/lua-coxpcall/Makefile
Normal file
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2009-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-coxpcall
|
||||
PKG_VERSION:=1.17.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_MIRROR_HASH:=e037c1aa1d2a2b213fca144d86cd5b5cf2cd77cec6d8f52d056add7ea806f0dc
|
||||
PKG_SOURCE_URL:=https://github.com/keplerproject/coxpcall.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=ea22f44e490430e40217f0792bf82eaeaec51903
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-coxpcall
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-Coxpcall
|
||||
URL:=https://github.com/keplerproject/coxpcall
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lua-coxpcall/description
|
||||
Coxpcall encapsulates the protected calls with a coroutine based loop,
|
||||
so errors can be dealed without the usual pcall/xpcall issues with coroutines.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
# add make variable overrides here
|
||||
MAKE_FLAGS +=
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
T="$(BUILD_VARIANT)" \
|
||||
LUA_DIR="$(PKG_INSTALL_DIR)/usr/lib/lua" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Package/lua-coxpcall/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/coxpcall.lua $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-coxpcall))
|
||||
4
lang/lua/lua-coxpcall/patches/config.patch
Normal file
4
lang/lua/lua-coxpcall/patches/config.patch
Normal file
@@ -0,0 +1,4 @@
|
||||
--- /dev/null
|
||||
+++ b/config
|
||||
@@ -0,0 +1 @@
|
||||
+LUA_DIR ?=$(DESTDIR)/usr/lib/lua
|
||||
78
lang/lua/lua-cs-bouncer/Makefile
Normal file
78
lang/lua/lua-cs-bouncer/Makefile
Normal file
@@ -0,0 +1,78 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# Copyright (C) 2021-2022 Gerald Kerma
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-cs-bouncer
|
||||
PKG_SOURCE_DATE:=2022-01-18
|
||||
PKG_SOURCE_VERSION:=e0f68b1265c386715c1d6ab79fe9063c0a9e3d3a
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/crowdsecurity/$(PKG_NAME)/tar.gz/$(PKG_SOURCE_VERSION)?
|
||||
PKG_HASH:=c7e92cc9dc023ebcd84f3632d6cf0e38a7d9f5e7bba15367247753a306b89829
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_SOURCE_VERSION)
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Gerald Kerma <gandalf@gk2.net>
|
||||
|
||||
HOST_BUILD_DEPENDS:=lua/host
|
||||
PKG_BUILD_DEPENDS:=luarocks/host
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-cs-bouncer
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua Crowdsec Bouncer module
|
||||
URL:=https://github.com/crowdsecurity/lua-cs-bouncer
|
||||
DEPENDS:=+lua \
|
||||
+luasec
|
||||
endef
|
||||
|
||||
define Package/lua-cs-bouncer/description
|
||||
Lua module to allow ip (or not) from CrowdSec API.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/lua-cs-bouncer/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/crowdsec
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/lib/*.lua \
|
||||
$(1)/usr/lib/lua/crowdsec/
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/template.conf \
|
||||
$(1)/usr/lib/lua/crowdsec/crowdsec.conf
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/crowdsec/lua/plugins/crowdsec
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/nginx/config.lua \
|
||||
$(1)/usr/lib/crowdsec/lua/plugins/crowdsec/
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/nginx/crowdsec.lua \
|
||||
$(1)/usr/lib/crowdsec/lua/
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/nginx/recaptcha.lua \
|
||||
$(1)/usr/lib/crowdsec/lua/
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_BUILD_DIR)/nginx/access.lua \
|
||||
$(1)/usr/lib/crowdsec/lua/
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) \
|
||||
./files/lua-cs-bouncer.defaults \
|
||||
$(1)/etc/uci-defaults/99_lua-cs-bouncer
|
||||
endef
|
||||
|
||||
define Package/lua-cs-bouncer/conffiles
|
||||
/usr/lib/lua/crowdsec/crowdsec.conf
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-cs-bouncer))
|
||||
13
lang/lua/lua-cs-bouncer/files/lua-cs-bouncer.defaults
Normal file
13
lang/lua/lua-cs-bouncer/files/lua-cs-bouncer.defaults
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
CONFIG=/usr/lib/lua/crowdsec/crowdsec.conf
|
||||
## Gen&ConfigApiKey
|
||||
if grep -q "{API_KEY}" "$CONFIG"; then
|
||||
SUFFIX=`tr -dc A-Za-z0-9 </dev/urandom | head -c 8`
|
||||
API_KEY=`/usr/bin/cscli bouncers add lua-cs-bouncer-${SUFFIX} -o raw`
|
||||
sed -i "s,^\(\s*API_KEY\s*=\s*\).*\$,\1$API_KEY," $CONFIG
|
||||
else
|
||||
echo API key already registered...
|
||||
fi
|
||||
|
||||
exit 0
|
||||
46
lang/lua/lua-curl-v3/Makefile
Normal file
46
lang/lua/lua-curl-v3/Makefile
Normal file
@@ -0,0 +1,46 @@
|
||||
#
|
||||
# Copyright (C) 2021 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-curl-v3
|
||||
PKG_VERSION:=0.3.13~9f8b6dba8
|
||||
PKG_RELEASE:=2
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/Lua-cURL/Lua-cURLv3.git
|
||||
PKG_MIRROR_HASH:=41f9e418b203fe3bdf256e4a5517ac8dbaf5ab5026b972f603052a0c56dfcfc7
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=9f8b6dba8b5ef1b26309a571ae75cda4034279e5
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-curl-v3
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-curl
|
||||
DEPENDS:=+libcurl +lua
|
||||
MAINTAINER:=Rainer Poisel <rainer.poisel@gmail.com>
|
||||
endef
|
||||
|
||||
MAKE_FLAGS += \
|
||||
UNAME="Linux"
|
||||
|
||||
define Package/lua-curl-v3/description
|
||||
Lua bindings to libcurl (Lua-cURLv3)
|
||||
endef
|
||||
|
||||
define Package/lua-curl-v3/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lcurl.so $(1)/usr/lib/lua
|
||||
$(CP) $(PKG_BUILD_DIR)/src/lua/* $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-curl-v3))
|
||||
|
||||
245
lang/lua/lua-eco/Makefile
Normal file
245
lang/lua/lua-eco/Makefile
Normal file
@@ -0,0 +1,245 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-eco
|
||||
PKG_VERSION:=3.13.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=7629312a5946774f2fa8372d46e8aa3e06a651a73a343addf0eb8aea4413cad9
|
||||
|
||||
PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
LUA_ECO_OPENSSL \
|
||||
LUA_ECO_WOLFSSL \
|
||||
LUA_ECO_MBEDTLS
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lua-eco
|
||||
TITLE:=A Lua interpreter with a built-in libev event loop
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Lua
|
||||
URL:=https://github.com/zhaojh329/lua-eco
|
||||
DEPENDS:=+libev +liblua5.4
|
||||
endef
|
||||
|
||||
define Package/lua-eco/description
|
||||
Lua-eco is a Lua interpreter with a built-in event loop for scheduling
|
||||
lightweight coroutines automatically, enabling efficient concurrency in
|
||||
Lua. Build high-performance, scalable applications.
|
||||
endef
|
||||
|
||||
define Package/lua-eco/Module
|
||||
TITLE:=$1 support for lua-eco
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Lua
|
||||
URL:=https://github.com/zhaojh329/lua-eco
|
||||
DEPENDS:=+lua-eco $2
|
||||
endef
|
||||
|
||||
Package/lua-eco-log=$(call Package/lua-eco/Module,log utils)
|
||||
Package/lua-eco-base64=$(call Package/lua-eco/Module,base64)
|
||||
Package/lua-eco-sha1=$(call Package/lua-eco/Module,sha1)
|
||||
Package/lua-eco-sha256=$(call Package/lua-eco/Module,sha256)
|
||||
Package/lua-eco-md5=$(call Package/lua-eco/Module,md5)
|
||||
Package/lua-eco-hmac=$(call Package/lua-eco/Module,hmac)
|
||||
Package/lua-eco-socket=$(call Package/lua-eco/Module,socket)
|
||||
Package/lua-eco-dns=$(call Package/lua-eco/Module,dns,+lua-eco-socket)
|
||||
Package/lua-eco-ssl=$(call Package/lua-eco/Module,ssl,\
|
||||
+LUA_ECO_OPENSSL:libopenssl +LUA_ECO_WOLFSSL:libwolfssl \
|
||||
+LUA_ECO_MBEDTLS:libmbedtls +LUA_ECO_MBEDTLS:zlib +lua-eco-socket)
|
||||
Package/lua-eco-ubus=$(call Package/lua-eco/Module,ubus,+libubus)
|
||||
Package/lua-eco-http=$(call Package/lua-eco/Module,http/https,+lua-eco-dns +lua-eco-ssl +lua-eco-base64 +lua-eco-log)
|
||||
Package/lua-eco-mqtt=$(call Package/lua-eco/Module,mqtt,+lua-eco-socket +lua-eco-ssl)
|
||||
Package/lua-eco-websocket=$(call Package/lua-eco/Module,websocket,+lua-eco-http +lua-eco-base64 +lua-eco-sha1)
|
||||
Package/lua-eco-termios=$(call Package/lua-eco/Module,termios)
|
||||
Package/lua-eco-netlink=$(call Package/lua-eco/Module,netlink,+lua-eco-socket)
|
||||
Package/lua-eco-ip=$(call Package/lua-eco/Module,ip utils,+lua-eco-netlink)
|
||||
Package/lua-eco-nl80211=$(call Package/lua-eco/Module,nl80211,+lua-eco-netlink)
|
||||
Package/lua-eco-ssh=$(call Package/lua-eco/Module,ssh,+lua-eco-socket +libssh2)
|
||||
Package/lua-eco-packet=$(call Package/lua-eco/Module,packet,+lua-eco-nl80211)
|
||||
Package/lua-eco-uci=$(call Package/lua-eco/Module,uci,+libuci)
|
||||
Package/lua-eco-shared=$(call Package/lua-eco/Module,shared,+lua-eco-socket)
|
||||
|
||||
define Package/lua-eco-ssl/config
|
||||
choice
|
||||
prompt "SSL Library"
|
||||
default LUA_ECO_MBEDTLS
|
||||
|
||||
config LUA_ECO_OPENSSL
|
||||
bool "OpenSSL"
|
||||
|
||||
config LUA_ECO_WOLFSSL
|
||||
bool "wolfSSL"
|
||||
|
||||
config LUA_ECO_MBEDTLS
|
||||
bool "mbedTLS"
|
||||
endchoice
|
||||
endef
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DECO_UBUS_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ubus),N,FF) \
|
||||
-DECO_SSL_SUPPORT=O$(if $(CONFIG_PACKAGE_lua-eco-ssl),N,FF)
|
||||
|
||||
ifneq ($(CONFIG_PACKAGE_lua-eco-ssl),)
|
||||
ifneq ($(CONFIG_LUA_ECO_OPENSSL),)
|
||||
CMAKE_OPTIONS += -DUSE_OPENSSL=ON
|
||||
else ifneq ($(CONFIG_LUA_ECO_WOLFSSL),)
|
||||
CMAKE_OPTIONS += -DUSE_WOLFSSL=ON
|
||||
else ifneq ($(CONFIG_LUA_ECO_MBEDTLS),)
|
||||
CMAKE_OPTIONS += -DUSE_MBEDTLS=ON
|
||||
endif
|
||||
endif
|
||||
|
||||
define Package/lua-eco/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin $(1)/usr/local/lib/lua/5.4/eco/core \
|
||||
$(1)/usr/lib $(1)/usr/local/lib/lua/5.4/eco/encoding
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/eco $(1)/usr/bin
|
||||
$(CP) $(PKG_BUILD_DIR)/libeco.so* $(1)/usr/lib
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bufio.so $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/hex.lua $(1)/usr/local/lib/lua/5.4/eco/encoding
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/{time,bufio,sys,file}.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/{time,sys,file,sync,channel}.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-log/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/log.so $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-base64/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/encoding
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/base64.so $(1)/usr/local/lib/lua/5.4/eco/encoding
|
||||
endef
|
||||
|
||||
define Package/lua-eco-sha1/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/sha1.so $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
endef
|
||||
|
||||
define Package/lua-eco-sha256/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/sha256.so $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
endef
|
||||
|
||||
define Package/lua-eco-md5/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/md5.so $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
endef
|
||||
|
||||
define Package/lua-eco-hmac/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hmac.lua $(1)/usr/local/lib/lua/5.4/eco/hash
|
||||
endef
|
||||
|
||||
define Package/lua-eco-socket/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/socket.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/socket.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
endef
|
||||
|
||||
define Package/lua-eco-dns/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/dns.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-ssl/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ssl.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ssl.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
endef
|
||||
|
||||
define Package/lua-eco-ubus/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ubus.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ubus.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
endef
|
||||
|
||||
define Package/lua-eco-http/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/http
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/http/*.lua $(1)/usr/local/lib/lua/5.4/eco/http
|
||||
endef
|
||||
|
||||
define Package/lua-eco-mqtt/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/mqtt.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-websocket/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/websocket.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-termios/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/termios.so $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-netlink/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/{nl,genl}.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/{nl,genl}.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rtnl.so $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-ip/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ip.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-nl80211/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/nl80211.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/nl80211.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
endef
|
||||
|
||||
define Package/lua-eco-ssh/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ssh.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ssh.so $(1)/usr/local/lib/lua/5.4/eco/core
|
||||
endef
|
||||
|
||||
define Package/lua-eco-packet/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/packet.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-uci/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/uci.so $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
define Package/lua-eco-shared/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4/eco
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/shared.lua $(1)/usr/local/lib/lua/5.4/eco
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-eco))
|
||||
$(eval $(call BuildPackage,lua-eco-log))
|
||||
$(eval $(call BuildPackage,lua-eco-base64))
|
||||
$(eval $(call BuildPackage,lua-eco-sha1))
|
||||
$(eval $(call BuildPackage,lua-eco-sha256))
|
||||
$(eval $(call BuildPackage,lua-eco-md5))
|
||||
$(eval $(call BuildPackage,lua-eco-hmac))
|
||||
$(eval $(call BuildPackage,lua-eco-socket))
|
||||
$(eval $(call BuildPackage,lua-eco-dns))
|
||||
$(eval $(call BuildPackage,lua-eco-ssl))
|
||||
$(eval $(call BuildPackage,lua-eco-ubus))
|
||||
$(eval $(call BuildPackage,lua-eco-http))
|
||||
$(eval $(call BuildPackage,lua-eco-mqtt))
|
||||
$(eval $(call BuildPackage,lua-eco-websocket))
|
||||
$(eval $(call BuildPackage,lua-eco-termios))
|
||||
$(eval $(call BuildPackage,lua-eco-netlink))
|
||||
$(eval $(call BuildPackage,lua-eco-ip))
|
||||
$(eval $(call BuildPackage,lua-eco-nl80211))
|
||||
$(eval $(call BuildPackage,lua-eco-ssh))
|
||||
$(eval $(call BuildPackage,lua-eco-packet))
|
||||
$(eval $(call BuildPackage,lua-eco-uci))
|
||||
$(eval $(call BuildPackage,lua-eco-shared))
|
||||
43
lang/lua/lua-ev/Makefile
Normal file
43
lang/lua/lua-ev/Makefile
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (C) 2019 Jianhui Zhao
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-ev
|
||||
PKG_VERSION:=1.5
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/brimworks/lua-ev/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=26ac116722a241bf59daf5315ce0ffe751c1babea9a146ffc0a389f1af3facca
|
||||
|
||||
PKG_MAINTAINER:=Jianhui Zhao <jianhuizhao329@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lua-ev
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=lua-ev
|
||||
URL:=https://github.com/brimworks/lua-ev
|
||||
DEPENDS:=+lua +libev
|
||||
endef
|
||||
|
||||
define Package/lua-ev/description
|
||||
Lua integration with libev.
|
||||
endef
|
||||
|
||||
define Package/lua-ev/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/lua/cmod/ev.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-ev))
|
||||
84
lang/lua/lua-ffi/Makefile
Normal file
84
lang/lua/lua-ffi/Makefile
Normal file
@@ -0,0 +1,84 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-ffi
|
||||
PKG_VERSION:=1.1.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL=https://github.com/zhaojh329/lua-ffi/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=85651aa772de5717b85fc6ac9bba61f0dc20155707fad8099245f97ecd301996
|
||||
|
||||
PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lua-ffi/default
|
||||
TITLE:=A portable lightweight C FFI for $(1), based on libffi
|
||||
CATEGORY:=Languages
|
||||
SECTION:=lang
|
||||
SUBMENU:=Lua
|
||||
DEPENDS:=+libffi
|
||||
URL:=https://github.com/zhaojh329/lua-ffi
|
||||
endef
|
||||
|
||||
define Package/lua-ffi/default/description
|
||||
Lua-ffi is a portable lightweight C FFI for Lua, based on libffi
|
||||
and aiming to be mostly compatible with LuaJIT FFI, but written
|
||||
from scratch in C language.
|
||||
endef
|
||||
|
||||
define Package/lua-ffi
|
||||
$(call Package/lua-ffi/default,lua5.1)
|
||||
DEPENDS+=+liblua
|
||||
VARIANT:=lua51
|
||||
endef
|
||||
|
||||
define Package/lua-ffi-lua5.3
|
||||
$(call Package/lua-ffi/default,lua5.3)
|
||||
DEPENDS+=+liblua5.3
|
||||
VARIANT:=lua53
|
||||
endef
|
||||
|
||||
define Package/lua-ffi-lua5.4
|
||||
$(call Package/lua-ffi/default,lua5.4)
|
||||
DEPENDS+=+liblua5.4
|
||||
VARIANT:=lua54
|
||||
endef
|
||||
|
||||
Package/lua-ffi/description = $(Package/lua-ffi/default/description)
|
||||
Package/lua-ffi-lua5.3/description = $(Package/lua-ffi/default/description)
|
||||
Package/lua-ffi-lua5.4/description = $(Package/lua-ffi/default/description)
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua51)
|
||||
CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include"
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua53)
|
||||
CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include/lua5.3"
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua54)
|
||||
CMAKE_OPTIONS += -DLUA_INCLUDE_DIR="$(STAGING_DIR)/usr/include/lua5.4"
|
||||
endif
|
||||
|
||||
define Package/lua-ffi/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
define Package/lua-ffi-lua5.3/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)/usr/local/lib/lua/5.3
|
||||
endef
|
||||
|
||||
define Package/lua-ffi-lua5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ffi.so $(1)/usr/local/lib/lua/5.4
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-ffi))
|
||||
$(eval $(call BuildPackage,lua-ffi-lua5.3))
|
||||
$(eval $(call BuildPackage,lua-ffi-lua5.4))
|
||||
40
lang/lua/lua-libmodbus/Makefile
Normal file
40
lang/lua/lua-libmodbus/Makefile
Normal file
@@ -0,0 +1,40 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-libmodbus
|
||||
PKG_VERSION:=0.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=lua-libmodbus-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_SUBDIR:=lua-libmodbus-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/etactica/lua-libmodbus/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=70369f4c4e36421095bf00dcee36c633b4284eaa79bcfdfd230bfefb27acefda
|
||||
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Karl Palsson <karlp@etactica.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-libmodbus
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=lua-libmodbus
|
||||
URL:=https://github.com/etactica/lua-libmodbus
|
||||
DEPENDS:=+liblua +libmodbus
|
||||
endef
|
||||
|
||||
define Package/lua-libmodbus/description
|
||||
lua-libmodbus is a binding to libmodbus,
|
||||
see also http://www.libmodbus.org
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Package/lua-libmodbus/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/libmodbus.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-libmodbus))
|
||||
82
lang/lua/lua-lsqlite3/Makefile
Normal file
82
lang/lua/lua-lsqlite3/Makefile
Normal file
@@ -0,0 +1,82 @@
|
||||
#
|
||||
# Copyright (C) 2006-2016 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lsqlite3
|
||||
PKG_VERSION:=0.9.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=lsqlite3_fsl09y.zip
|
||||
PKG_SOURCE_URL:=http://lua.sqlite.org/index.cgi/zip/
|
||||
PKG_HASH:=d38402aa7640055d260c1246c36e6d6d31b425a25a805431f13695694466b722
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/lsqlite3-$(BUILD_VARIANT)/$(basename $(PKG_SOURCE))
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lsqlite3/default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua wrapper for the SQLite3 library
|
||||
URL:=http://lua.sqlite.org
|
||||
DEPENDS:=+libsqlite3
|
||||
endef
|
||||
|
||||
define Package/lsqlite3
|
||||
$(Package/lsqlite3/default)
|
||||
DEPENDS+=+liblua
|
||||
VARIANT:=lua-51
|
||||
endef
|
||||
|
||||
define Package/lsqlite3-lua5.3
|
||||
$(Package/lsqlite3/default)
|
||||
DEPENDS+=+liblua5.3
|
||||
VARIANT:=lua-53
|
||||
endef
|
||||
|
||||
define Package/lsqlite3/default/description
|
||||
LuaSQLite3 is a thin wrapper around the public domain SQLite3 database engine.
|
||||
endef
|
||||
|
||||
Package/lsqlite3/description = $(Package/lsqlite3/default/description)
|
||||
Package/lsqlite3-lua5.3/description = $(Package/lsqlite3/default/description)
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -std=gnu99
|
||||
TARGET_CPPFLAGS += -DLUA_USE_LINUX
|
||||
TARGET_LDFLAGS += -lsqlite3 -lpthread
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua-53)
|
||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/lua5.3
|
||||
endif
|
||||
|
||||
define Build/Compile
|
||||
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) \
|
||||
-c $(PKG_BUILD_DIR)/lsqlite3.c \
|
||||
-o $(PKG_BUILD_DIR)/lsqlite3.o \
|
||||
-DLSQLITE_VERSION=\"$(PKG_VERSION)\"
|
||||
$(TARGET_CC) $(TARGET_LDFLAGS) -shared \
|
||||
$(PKG_BUILD_DIR)/lsqlite3.o \
|
||||
-o $(PKG_BUILD_DIR)/lsqlite3.so
|
||||
endef
|
||||
|
||||
define Package/lsqlite3/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(CP) $(PKG_BUILD_DIR)/*.so $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
define Package/lsqlite3-lua5.3/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3
|
||||
$(CP) $(PKG_BUILD_DIR)/*.so $(1)/usr/local/lib/lua/5.3
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lsqlite3))
|
||||
$(eval $(call BuildPackage,lsqlite3-lua5.3))
|
||||
49
lang/lua/lua-lzlib/Makefile
Normal file
49
lang/lua/lua-lzlib/Makefile
Normal file
@@ -0,0 +1,49 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-lzlib
|
||||
PKG_VERSION:=0.4.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_MIRROR_HASH:=b6ef5e3f04b7f2137b39931a175ee802489a2486e70537770919bcccca10e723
|
||||
PKG_SOURCE_URL:=https://github.com/LuaDist/lzlib.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=79329a07d8f79c19eadd7ea2752b4c4e1574b015
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-lzlib
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua zlib binding
|
||||
URL:=http://github.com/LuaDist/lzlib
|
||||
DEPENDS:= +lua +zlib
|
||||
endef
|
||||
|
||||
define Package/lua-lzlib/description
|
||||
A library to access zlib library functions and also to read/write gzip files using an interface similar to the base io package.
|
||||
endef
|
||||
|
||||
MAKE_FLAGS += \
|
||||
LUA="$(STAGING_DIR)/usr" \
|
||||
OFLAGS="$(TARGET_CFLAGS)" \
|
||||
|
||||
define Package/lua-lzlib/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/zlib.so $(1)/usr/lib/lua/
|
||||
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/gzip.lua $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-lzlib))
|
||||
12
lang/lua/lua-lzlib/patches/001-allow_optim_flags.patch
Normal file
12
lang/lua/lua-lzlib/patches/001-allow_optim_flags.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -14,7 +14,8 @@ LUABIN= $(LUA)/bin
|
||||
ZLIB=../zlib-1.2.3
|
||||
|
||||
# no need to change anything below here
|
||||
-CFLAGS= $(INCS) $(DEFS) $(WARN) -O0 -fPIC
|
||||
+CFLAGS= $(INCS) $(DEFS) $(WARN) $(OFLAGS) -fPIC
|
||||
+OFLAGS= -O0
|
||||
WARN= -g -Werror -Wall -pedantic #-ansi
|
||||
INCS= -I$(LUAINC) -I$(ZLIB)
|
||||
LIBS= -L$(ZLIB) -lz -L$(LUALIB) -L$(LUABIN) #-llua51
|
||||
77
lang/lua/lua-md5/Makefile
Normal file
77
lang/lua/lua-md5/Makefile
Normal file
@@ -0,0 +1,77 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-md5
|
||||
PKG_VERSION:=1.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_MIRROR_HASH:=675b8ba144d14cbe66abfd360d9a8861a18d5b69966768d6cdc78ca3c9fe0baf
|
||||
PKG_SOURCE_URL:=https://github.com/keplerproject/md5.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=2a98633d7587a4900cfa7cbed340f377f4acd930
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-md5
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-MD5
|
||||
URL:=https://github.com/keplerproject/md5
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lua-md5/description
|
||||
MD5 offers basic cryptographic facilities for Lua
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
# add make variable overrides here
|
||||
MAKE_FLAGS +=
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
PREFIX="$(STAGING_DIR)/usr" \
|
||||
LUA_LIBDIR="$(STAGING_DIR)/usr/lib/lua" \
|
||||
clean
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
PREFIX="$(STAGING_DIR)/usr" \
|
||||
LUA_LIBDIR="$(STAGING_DIR)/usr/lib/lua" \
|
||||
LIB_OPTION="-shared" \
|
||||
CC="$(TARGET_CROSS)gcc" \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
||||
all
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
mkdir -p $(PKG_INSTALL_DIR)/usr/lib/lua
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
LUA_LIBDIR="$(PKG_INSTALL_DIR)/usr/lib/lua" \
|
||||
LUA_DIR="$(PKG_INSTALL_DIR)/usr/lib/lua" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Package/lua-md5/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/md5.lua $(1)/usr/lib/lua
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/md5
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/core.so $(1)/usr/lib/lua/md5/core.so
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-md5))
|
||||
22
lang/lua/lua-md5/patches/config.patch
Normal file
22
lang/lua/lua-md5/patches/config.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- a/config
|
||||
+++ b/config
|
||||
@@ -1,16 +1,16 @@
|
||||
# Installation directories
|
||||
|
||||
# Default prefix
|
||||
-PREFIX = /usr/local
|
||||
+PREFIX = /usr
|
||||
|
||||
# Lua version
|
||||
LUA_SYS_VER ?= 5.2
|
||||
|
||||
# System's libraries directory (where binary libraries are installed)
|
||||
-LUA_LIBDIR= $(PREFIX)/lib/lua/$(LUA_SYS_VER)
|
||||
+LUA_LIBDIR= $(PREFIX)/lib/lua
|
||||
|
||||
# System's lua directory (where Lua libraries are installed)
|
||||
-LUA_DIR= $(PREFIX)/share/lua/$(LUA_SYS_VER)
|
||||
+LUA_DIR= $(PREFIX)/share/lua
|
||||
|
||||
# Lua includes directory
|
||||
LUA_INC= $(PREFIX)/include
|
||||
10
lang/lua/lua-md5/patches/makefile.patch
Normal file
10
lang/lua/lua-md5/patches/makefile.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: Makefile,v 1.7 2007/10/11 00:02:56 carregal Exp $
|
||||
|
||||
-CONFIG= ./config
|
||||
+CFLAGS+= -fPIC
|
||||
|
||||
include $(CONFIG)
|
||||
|
||||
59
lang/lua/lua-mobdebug/Makefile
Normal file
59
lang/lua/lua-mobdebug/Makefile
Normal file
@@ -0,0 +1,59 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-mobdebug
|
||||
PKG_VERSION:=0.70
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/pkulchenko/MobDebug/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=35ec131a0ecc74dbe1cc50582ed977120a4ef6d9f815ce07367fdb945cfee370
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/MobDebug-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-mobdebug
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-MobDebug
|
||||
URL:=https://github.com/pkulchenko/MobDebug
|
||||
DEPENDS:=+lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/lua-mobdebug/description
|
||||
MobDebug is a remote debugger for Lua (including Lua 5.1, Lua 5.2, Lua 5.3, and LuaJIT 2.x).
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
endef
|
||||
|
||||
# add make variable overrides here
|
||||
MAKE_FLAGS +=
|
||||
|
||||
define Package/lua-mobdebug/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/mobdebug.lua $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-mobdebug))
|
||||
43
lang/lua/lua-mosquitto/Makefile
Normal file
43
lang/lua/lua-mosquitto/Makefile
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (C) 2013-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-mosquitto
|
||||
PKG_VERSION:=0.4.1
|
||||
PKG_RELEASE:=1
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_MIRROR_HASH:=d6bc828ea05f9a1ff3241f575a6ce699e577f9b79277182699e8fa03ac094ac9
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=https://github.com/flukso/lua-mosquitto.git
|
||||
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-mosquitto
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-mosquitto
|
||||
DEPENDS:=+libmosquitto +lua
|
||||
MAINTAINER:=Karl Palsson <karlp@etactica.com>
|
||||
endef
|
||||
|
||||
define Package/lua-mosquitto/description
|
||||
Lua bindings to libmosquitto
|
||||
endef
|
||||
|
||||
define Package/lua-mosquitto/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mosquitto.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-mosquitto))
|
||||
44
lang/lua/lua-openssl/Makefile
Normal file
44
lang/lua/lua-openssl/Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright (C) 2016 Amnon Paz <pazamnon@gmail.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-openssl
|
||||
PKG_SOURCE_VERSION:=0.10.0-0
|
||||
PKG_VERSION:=$(subst -,.,$(PKG_SOURCE_VERSION))
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/zhaozg/lua-openssl.git
|
||||
PKG_MIRROR_HASH:=e3c6173321132e2ce69cdedd8638acdc970a3fb1c0c3677d4edd9fe39e84853f
|
||||
|
||||
PKG_MAINTAINER:=Amnon Paz <pazamnon@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lua-openssl
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua openSSL binding
|
||||
URL:=http://github.com/zhaozg/lua-openssl
|
||||
DEPENDS:=+lua +libopenssl +librt
|
||||
endef
|
||||
|
||||
define Package/lua-openssl/description
|
||||
A free, MIT-licensed OpenSSL binding for Lua.
|
||||
endef
|
||||
|
||||
define Package/lua-openssl/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/5.1/openssl.so $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-openssl))
|
||||
14
lang/lua/lua-openssl/patches/010-no-luajit.patch
Normal file
14
lang/lua/lua-openssl/patches/010-no-luajit.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -12,10 +12,7 @@ endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
-find_package(LuaJIT)
|
||||
-if(NOT LUAJIT_FOUND)
|
||||
- find_package(Lua REQUIRED)
|
||||
-endif()
|
||||
+find_package(Lua REQUIRED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
47
lang/lua/lua-penlight/Makefile
Normal file
47
lang/lua/lua-penlight/Makefile
Normal file
@@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-penlight
|
||||
PKG_VERSION:=1.13.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/Penlight-$(PKG_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/lunarmodules/Penlight/tar.gz/$(PKG_VERSION)?
|
||||
PKG_HASH:=530380e1a377df519c2e589f47823f79701f8e0e67f6bbd994e18d09a470b680
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE.md
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-penlight
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Penlight
|
||||
URL:=http://lunarmodules.github.io/Penlight/manual/01-introduction.md.html
|
||||
DEPENDS:=+luafilesystem
|
||||
MAINTAINER:=Karl Palsson <karlp@etactica.com>
|
||||
endef
|
||||
|
||||
define Package/lua-penlight/description
|
||||
It is often said of Lua that it does not include batteries.
|
||||
Penlight is the batteries.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
echo "Nothing to compile, pure lua package"
|
||||
endef
|
||||
|
||||
define Package/lua-penlight/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(CP) $(PKG_BUILD_DIR)/lua/pl $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-penlight))
|
||||
55
lang/lua/lua-rings/Makefile
Normal file
55
lang/lua/lua-rings/Makefile
Normal file
@@ -0,0 +1,55 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-rings
|
||||
PKG_VERSION:=1.3.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_MIRROR_HASH:=7026ce5898d37a4175b7afad693d59ff1fff1a84adafcabfafd065956a03616c
|
||||
PKG_SOURCE_URL:=https://github.com/keplerproject/rings.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=2b8a900f8b9dbde304859a3ac9d437795c3fdde3
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-rings
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua-Rings
|
||||
URL:=http://keplerproject.github.io/rings/
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lua-rings/description
|
||||
Rings is a library which provides a way to create new Lua states from within Lua.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
# add make variable overrides here
|
||||
MAKE_FLAGS +=
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Package/lua-rings/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/rings.so $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/stable.lua $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-rings))
|
||||
28
lang/lua/lua-rings/patches/config.patch
Normal file
28
lang/lua/lua-rings/patches/config.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
--- a/config
|
||||
+++ b/config
|
||||
@@ -1,15 +1,15 @@
|
||||
# Installation directories
|
||||
|
||||
# Default prefix
|
||||
-PREFIX ?= /usr/local
|
||||
+PREFIX ?= /usr
|
||||
|
||||
DESTDIR ?= /
|
||||
|
||||
# System's libraries directory (where binary libraries are installed)
|
||||
-LUA_LIBDIR ?= $(PREFIX)/lib/lua/5.1
|
||||
+LUA_LIBDIR ?= $(PREFIX)/lib/lua
|
||||
|
||||
# System's lua directory (where Lua libraries are installed)
|
||||
-LUA_DIR ?= $(PREFIX)/share/lua/5.1
|
||||
+LUA_DIR ?= $(PREFIX)/lib/lua
|
||||
|
||||
# Lua includes directory
|
||||
LUA_INC ?= $(PREFIX)/include
|
||||
@@ -24,6 +24,5 @@ LIBNAME ?= $T.so.$V
|
||||
WARN ?= -O2 -Wall -fPIC -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnested-externs -Wshadow -Wwrite-strings -Wpointer-arith -pedantic
|
||||
INCS ?= -I$(LUA_INC)
|
||||
CFLAGS ?= $(WARN) $(INCS)
|
||||
-CC ?= gcc
|
||||
|
||||
# $Id: config,v 1.7 2007/10/29 22:51:39 carregal Exp $
|
||||
11
lang/lua/lua-rings/patches/makefile.patch
Normal file
11
lang/lua/lua-rings/patches/makefile.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -3,6 +3,8 @@
|
||||
T= rings
|
||||
CONFIG= ./config
|
||||
|
||||
+CFLAGS+= -fPIC
|
||||
+
|
||||
include $(CONFIG)
|
||||
|
||||
SRCS= src/rings.c
|
||||
65
lang/lua/lua-rs232/Makefile
Normal file
65
lang/lua/lua-rs232/Makefile
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-rs232
|
||||
PKG_SOURCE_DATE:=2019-11-20
|
||||
PKG_SOURCE_VERSION:=c106c94d1a5a84e8582c936528303528608776c2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/srdgame/librs232
|
||||
PKG_MIRROR_HASH:=d507ce004a9b02b8d8a31d0c348eb9c481f1030153c941131aeff0dd3046a419
|
||||
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=lua/host
|
||||
PKG_BUILD_FLAGS:=gc-sections
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-rs232
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua Serial Library
|
||||
URL:=https://github.com/srdgame/librs232
|
||||
DEPENDS:= +lua
|
||||
endef
|
||||
|
||||
define Package/lua-rs232/description
|
||||
multiplatform library for serial communications over RS-232
|
||||
endef
|
||||
|
||||
TARGET_LDFLAGS += -Wl,--as-needed
|
||||
MAKE_FLAGS += luadir='$$$${prefix}/lib/lua' luaexecdir='$$$${exec_prefix}/lib/lua'
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/librs232
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/librs232/rs232* $(1)/usr/include/librs232
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/librs232* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/luars232* $(1)/usr/lib/lua
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/librs232.pc $(1)/usr/lib/pkgconfig
|
||||
endef
|
||||
|
||||
define Package/lua-rs232/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/librs232.so* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/luars232* $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-rs232))
|
||||
56
lang/lua/lua-rs232/patches/010-gcc13.patch
Normal file
56
lang/lua/lua-rs232/patches/010-gcc13.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
From 3467c3c354263b066ad47bddfe6eb869c0111e0d Mon Sep 17 00:00:00 2001
|
||||
From: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
|
||||
Date: Tue, 24 Jan 2023 10:19:16 +0100
|
||||
Subject: [PATCH] Fix rs232_set_* prototypes mismatch
|
||||
|
||||
Fixes compilation error on gcc 13 (excerpt):
|
||||
rs232_posix.c:490:1: error: conflicting types for 'rs232_set_baud' \
|
||||
due to enum/integer mismatch; have 'unsigned int(struct rs232_port_t *, \
|
||||
enum rs232_baud_e)' [-Werror=enum-int-mismatch]
|
||||
490 | rs232_set_baud(struct rs232_port_t *p, enum rs232_baud_e baud)
|
||||
| ^~~~~~~~~~~~~~
|
||||
In file included from rs232_posix.c:39:
|
||||
../include/librs232/rs232.h:203:24: note: previous declaration of \
|
||||
'rs232_set_baud' with type 'unsigned int(struct rs232_port_t *, unsigned int)'
|
||||
203 | RS232_LIB unsigned int rs232_set_baud(struct rs232_port_t *p, unsigned int baud);
|
||||
| ^~~~~~~~~~~~~~
|
||||
|
||||
rs232_posix.c:591:1: error: conflicting types for 'rs232_set_dtr' \
|
||||
due to enum/integer mismatch; have 'unsigned int(struct rs232_port_t *, \
|
||||
enum rs232_dtr_e)' [-Werror=enum-int-mismatch]
|
||||
591 | rs232_set_dtr(struct rs232_port_t *p, enum rs232_dtr_e state)
|
||||
| ^~~~~~~~~~~~~
|
||||
In file included from rs232_posix.c:39:
|
||||
../include/librs232/rs232.h:208:24: note: previous declaration of 'rs232_set_dtr' \
|
||||
with type 'unsigned int(struct rs232_port_t *, unsigned int)'
|
||||
208 | RS232_LIB unsigned int rs232_set_dtr(struct rs232_port_t *p, unsigned int dtr);
|
||||
| ^~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
|
||||
---
|
||||
include/librs232/rs232.h | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/include/librs232/rs232.h
|
||||
+++ b/include/librs232/rs232.h
|
||||
@@ -200,13 +200,13 @@ RS232_LIB unsigned int rs232_port_open(s
|
||||
RS232_LIB unsigned int rs232_close(struct rs232_port_t *p);
|
||||
RS232_LIB unsigned int rs232_flush(struct rs232_port_t *p);
|
||||
RS232_LIB void rs232_set_device(struct rs232_port_t *p, const char *device);
|
||||
-RS232_LIB unsigned int rs232_set_baud(struct rs232_port_t *p, unsigned int baud);
|
||||
-RS232_LIB unsigned int rs232_set_stop(struct rs232_port_t *p, unsigned int stop);
|
||||
-RS232_LIB unsigned int rs232_set_data(struct rs232_port_t *p, unsigned int data);
|
||||
-RS232_LIB unsigned int rs232_set_parity(struct rs232_port_t *p, unsigned int parity);
|
||||
-RS232_LIB unsigned int rs232_set_flow(struct rs232_port_t *p, unsigned int flow);
|
||||
-RS232_LIB unsigned int rs232_set_dtr(struct rs232_port_t *p, unsigned int dtr);
|
||||
-RS232_LIB unsigned int rs232_set_rts(struct rs232_port_t *p, unsigned int rts);
|
||||
+RS232_LIB unsigned int rs232_set_baud(struct rs232_port_t *p, enum rs232_baud_e baud);
|
||||
+RS232_LIB unsigned int rs232_set_stop(struct rs232_port_t *p, enum rs232_stop_e stop);
|
||||
+RS232_LIB unsigned int rs232_set_data(struct rs232_port_t *p, enum rs232_data_e data);
|
||||
+RS232_LIB unsigned int rs232_set_parity(struct rs232_port_t *p, enum rs232_parity_e parity);
|
||||
+RS232_LIB unsigned int rs232_set_flow(struct rs232_port_t *p, enum rs232_flow_e flow);
|
||||
+RS232_LIB unsigned int rs232_set_dtr(struct rs232_port_t *p, enum rs232_dtr_e state);
|
||||
+RS232_LIB unsigned int rs232_set_rts(struct rs232_port_t *p, enum rs232_rts_e state);
|
||||
RS232_LIB const char * rs232_get_device(struct rs232_port_t *p);
|
||||
RS232_LIB unsigned int rs232_get_baud(struct rs232_port_t *p);
|
||||
RS232_LIB unsigned int rs232_get_stop(struct rs232_port_t *p);
|
||||
20
lang/lua/lua-rs232/patches/100-remove-build-timestamps.patch
Normal file
20
lang/lua/lua-rs232/patches/100-remove-build-timestamps.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- a/bindings/lua/luars232.c
|
||||
+++ b/bindings/lua/luars232.c
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
#include "librs232/rs232.h"
|
||||
|
||||
-#define MODULE_TIMESTAMP __DATE__ " " __TIME__
|
||||
#define MODULE_NAMESPACE "luars232"
|
||||
#define MODULE_VERSION "1.0.3"
|
||||
#define MODULE_BUILD "$Id: luars232.c 15 2011-02-23 09:02:20Z sp $"
|
||||
@@ -553,9 +552,6 @@ RS232_LIB int luaopen_luars232(lua_State
|
||||
lua_pushstring(L, MODULE_BUILD);
|
||||
lua_setfield(L, -2, "_BUILD");
|
||||
|
||||
- lua_pushstring(L, MODULE_TIMESTAMP);
|
||||
- lua_setfield(L, -2, "_TIMESTAMP");
|
||||
-
|
||||
lua_pushstring(L, MODULE_COPYRIGHT);
|
||||
lua_setfield(L, -2, "_COPYRIGHT");
|
||||
|
||||
53
lang/lua/lua-sha2/Makefile
Normal file
53
lang/lua/lua-sha2/Makefile
Normal file
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Copyright (C) 20013-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-sha2
|
||||
PKG_VERSION:=0.2.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_MIRROR_HASH:=79e65bd7cb1b8ef64e125c9e57f40b7d38678599587c1894ce57838814403945
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=https://github.com/lgierth/lua-sha2.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=02bd4bfdc8062c7e1ae51c5a72906efc0a6375ee
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-sha2
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua binding for Aaron Gifford's SHA-2 implementation
|
||||
URL:=https://code.google.com/p/sha2/
|
||||
MAINTAINER:=Lars Gierth <larsg@systemli.org>
|
||||
DEPENDS:=+lua
|
||||
endef
|
||||
|
||||
define Package/lua-sha2/description
|
||||
Lua Binding for the SHA-2 (SHA-256/384/512) BSD-licensed C implementation by Aaron Gifford.
|
||||
Also contains a HMAC implementation in Lua.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += -fPIC -DSHA2_USE_INTTYPES_H -DBYTE_ORDER -DLITTLE_ENDIAN
|
||||
TARGET_LDFLAGS += -fPIC -DSHA2_USE_INTTYPES_H -DBYTE_ORDER -DLITTLE_ENDIAN
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Package/lua-sha2/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/hmac
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/sha2.so $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/hmac.lua $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/hmac/sha2.lua $(1)/usr/lib/lua/hmac
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/hmac/md5.lua $(1)/usr/lib/lua/hmac
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-sha2))
|
||||
14
lang/lua/lua-sha2/patches/001-makefile.patch
Normal file
14
lang/lua/lua-sha2/patches/001-makefile.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
From: Lars Gierth <larsg@systemli.org>
|
||||
Date: Tue, 2 Sep 2014 00:05:39 +0200
|
||||
|
||||
Add rump Makefile
|
||||
|
||||
new file mode 100644
|
||||
index 0000000..f081d38
|
||||
--- /dev/null
|
||||
+++ b/Makefile
|
||||
@@ -0,0 +1,4 @@
|
||||
+all: sha2.o sha2lib.o
|
||||
+ $(CC) -shared -o sha2.so sha2.o sha2lib.o
|
||||
+
|
||||
+.PHONY: all
|
||||
42
lang/lua/lua-struct/Makefile
Normal file
42
lang/lua/lua-struct/Makefile
Normal file
@@ -0,0 +1,42 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-struct
|
||||
PKG_VERSION:=0.9.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_VERSION_TAG:=$(PKG_VERSION)-1
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION_TAG).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/iryont/$(PKG_NAME)/tar.gz/$(PKG_VERSION_TAG)?
|
||||
PKG_HASH:=30d4e3584e27caa504745fdf5e191f2469ae284dc51271292654856905a4603d
|
||||
|
||||
PKG_MAINTAINER:=jasle <jasle@riseup.net>
|
||||
PKG_LICENSE:=MIT/X11
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION_TAG)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-struct
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Implementation of binary packing/unpacking in pure lua
|
||||
URL:=https://github.com/iryont/lua-struct
|
||||
endef
|
||||
|
||||
define Package/lua-struct/desription
|
||||
lua-struct is a pure lua Implementation for packing and unpacking
|
||||
binary data.
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
echo "Nothing to compile, pure lua package"
|
||||
endef
|
||||
|
||||
define Package/lua-struct/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/struct.lua $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-struct))
|
||||
|
||||
97
lang/lua/lua-wsapi/Makefile
Normal file
97
lang/lua/lua-wsapi/Makefile
Normal file
@@ -0,0 +1,97 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-wsapi
|
||||
PKG_VERSION:=1.7
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/keplerproject/wsapi/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=48dc7aba0fd2e96a3e5ef51045b5d923964f6ae299de761aa0467031ad44e987
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/wsapi-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-wsapi/Default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua WSAPI
|
||||
URL:=https://keplerproject.github.io/wsapi/
|
||||
DEPENDS:= +lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/lua-wsapi/Default/description
|
||||
WSAPI is an API that abstracts the web server from Lua web applications
|
||||
endef
|
||||
|
||||
|
||||
define Package/lua-wsapi-base
|
||||
$(call Package/lua-wsapi/Default)
|
||||
TITLE+= base
|
||||
DEPENDS+= +luafilesystem
|
||||
VARIANT:=base
|
||||
endef
|
||||
|
||||
define Package/lua-wsapi-base/description
|
||||
$(call Package/lua-wsapi/Default/description)
|
||||
.
|
||||
This package contains the basic stuff.
|
||||
endef
|
||||
|
||||
define Package/lua-wsapi-xavante
|
||||
$(call Package/lua-wsapi/Default)
|
||||
TITLE+= xavante
|
||||
DEPENDS+= +lua-wsapi-base +lua-xavante
|
||||
VARIANT:=xavante
|
||||
endef
|
||||
|
||||
define Package/lua-wsapi-xavante/description
|
||||
$(call Package/lua-wsapi/Default/description)
|
||||
.
|
||||
This package contains the Xavante stuff.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
endef
|
||||
|
||||
define Package/lua-wsapi-base/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/wsapi.lua $(1)/usr/lib/lua
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/launcher/wsapi.cgi $(1)/usr/bin
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/wsapi
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/wsapi/{common,request,response,util,cgi,sapi,ringer,mock}.lua $(1)/usr/lib/lua/wsapi
|
||||
endef
|
||||
|
||||
define Package/lua-wsapi-xavante/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/launcher/wsapi $(1)/usr/bin
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/wsapi
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/wsapi/xavante.lua $(1)/usr/lib/lua/wsapi
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,lua-wsapi-base))
|
||||
$(eval $(call BuildPackage,lua-wsapi-xavante))
|
||||
60
lang/lua/lua-xavante/Makefile
Normal file
60
lang/lua/lua-xavante/Makefile
Normal file
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua-xavante
|
||||
PKG_VERSION:=2.4.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/keplerproject/xavante/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=0e4f49dd96cb092cd5d80cc66a5204dcb22a14f80897a121f2f0d1dceb1c7ba5
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/xavante-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/lua-xavante
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Xavante Web Server
|
||||
URL:=https://keplerproject.github.io/xavante/
|
||||
DEPENDS:= +lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/lua-xavante/description
|
||||
Xavante is a Lua HTTP 1.1 Web server that uses a modular architecture based on URI mapped handlers.
|
||||
endef
|
||||
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
endef
|
||||
|
||||
define Package/lua-xavante/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/sajax/sajax.lua $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/xavante/xavante.lua $(1)/usr/lib/lua
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/xavante
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/xavante/{cgiluahandler,encoding,filehandler,httpd,mime,patternhandler,redirecthandler,vhostshandler,indexhandler,urlhandler,ruleshandler}.lua $(1)/usr/lib/lua/xavante
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lua-xavante))
|
||||
165
lang/lua/lua5.4/Makefile
Normal file
165
lang/lua/lua5.4/Makefile
Normal file
@@ -0,0 +1,165 @@
|
||||
#
|
||||
# Copyright (C) 2006-2023 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua
|
||||
PKG_VERSION:=5.4.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://www.lua.org/ftp/ \
|
||||
https://www.tecgraf.puc-rio.br/lua/ftp/
|
||||
PKG_HASH:=9fbf5e28ef86c69858f6d3d34eccc32e911c1a28b4120ff3e84aaa70cfbf1e30
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_MAINTAINER:=Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
PKG_CPE_ID:=cpe:/a:lua:lua
|
||||
|
||||
HOST_PATCH_DIR := ./patches-host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Package/lua5.4/Default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua programming language (version 5.4)
|
||||
URL:=https://www.lua.org/
|
||||
endef
|
||||
|
||||
define Package/lua5.4/Default/description
|
||||
Lua is a powerful, efficient, lightweight, embeddable scripting language. It
|
||||
supports procedural programming, object-oriented programming, functional
|
||||
programming, data-driven programming, and data description.
|
||||
endef
|
||||
|
||||
define Package/liblua5.4
|
||||
$(call Package/lua5.4/Default)
|
||||
SUBMENU:=
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE+= (libraries)
|
||||
ABI_VERSION:=5.4
|
||||
endef
|
||||
|
||||
define Package/liblua5.4/description
|
||||
$(call Package/lua5.4/Default/description)
|
||||
This package contains the Lua shared libraries, needed by other programs.
|
||||
endef
|
||||
|
||||
define Package/lua5.4
|
||||
$(call Package/lua5.4/Default)
|
||||
DEPENDS:=+liblua5.4
|
||||
TITLE+= (interpreter)
|
||||
endef
|
||||
|
||||
define Package/lua5.4/description
|
||||
$(call Package/lua5.4/Default/description)
|
||||
This package contains the Lua language interpreter.
|
||||
endef
|
||||
|
||||
define Package/luac5.4
|
||||
$(call Package/lua5.4/Default)
|
||||
DEPENDS:=+liblua5.4
|
||||
TITLE+= (compiler)
|
||||
endef
|
||||
|
||||
define Package/luac5.4/description
|
||||
$(call Package/lua5.4/Default/description)
|
||||
This package contains the Lua language compiler.
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
mv $(PKG_BUILD_DIR)/doc/lua.1 $(PKG_BUILD_DIR)/doc/lua5.4.1
|
||||
mv $(PKG_BUILD_DIR)/doc/luac.1 $(PKG_BUILD_DIR)/doc/luac5.4.1
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CROSS)gcc" \
|
||||
AR="$(TARGET_CROSS)ar rcu" \
|
||||
RANLIB="$(TARGET_CROSS)ranlib" \
|
||||
INSTALL_ROOT=/usr \
|
||||
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
||||
PKG_VERSION=$(PKG_VERSION) \
|
||||
linux
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Host/Prepare
|
||||
$(call Host/Prepare/Default)
|
||||
mv $(HOST_BUILD_DIR)/doc/lua.1 $(HOST_BUILD_DIR)/doc/lua5.4.1
|
||||
mv $(HOST_BUILD_DIR)/doc/luac.1 $(HOST_BUILD_DIR)/doc/luac5.4.1
|
||||
endef
|
||||
|
||||
define Host/Configure
|
||||
$(SED) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR)/src/luaconf.h
|
||||
endef
|
||||
|
||||
ifeq ($(HOST_OS),Darwin)
|
||||
LUA_OS:=macosx
|
||||
else
|
||||
ifeq ($(HOST_OS),FreeBSD)
|
||||
LUA_OS:=freebsd
|
||||
else
|
||||
LUA_OS:=linux
|
||||
endif
|
||||
endif
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) \
|
||||
CC="$(HOSTCC) $(HOST_FPIC) -std=gnu99" \
|
||||
$(LUA_OS)
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) \
|
||||
INSTALL_TOP="$(STAGING_DIR_HOSTPKG)" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/lua5.4 $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.4/lua{,lib,conf}.h $(1)/usr/include/lua5.4/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.4/lua.hpp $(1)/usr/include/lua5.4/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.4/lauxlib.h $(1)/usr/include/lua5.4/
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua5.4.{a,so*} $(1)/usr/lib/
|
||||
$(LN) liblua5.4.so.0.0.0 $(1)/usr/lib/liblualib5.4.so
|
||||
endef
|
||||
|
||||
define Package/liblua5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua5.4.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/lua5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.4 $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
define Package/luac5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.4 $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,liblua5.4))
|
||||
$(eval $(call BuildPackage,lua5.4))
|
||||
$(eval $(call BuildPackage,luac5.4))
|
||||
$(eval $(call HostBuild))
|
||||
@@ -0,0 +1,65 @@
|
||||
From 96576b44a1b368bd6590eb0778ae45cc9ccede3f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 21 Jun 2019 14:08:38 +0200
|
||||
Subject: [PATCH] include version number
|
||||
|
||||
Including it allows multiple lua versions to coexist.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -12,7 +12,7 @@ PLAT= guess
|
||||
# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
|
||||
INSTALL_TOP= /usr/local
|
||||
INSTALL_BIN= $(INSTALL_TOP)/bin
|
||||
-INSTALL_INC= $(INSTALL_TOP)/include
|
||||
+INSTALL_INC= $(INSTALL_TOP)/include/lua$V
|
||||
INSTALL_LIB= $(INSTALL_TOP)/lib
|
||||
INSTALL_MAN= $(INSTALL_TOP)/man/man1
|
||||
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
|
||||
@@ -39,10 +39,10 @@ RM= rm -f
|
||||
PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris
|
||||
|
||||
# What to install.
|
||||
-TO_BIN= lua luac
|
||||
+TO_BIN= lua$V luac$V
|
||||
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
|
||||
-TO_LIB= liblua.a
|
||||
-TO_MAN= lua.1 luac.1
|
||||
+TO_LIB= liblua$V.a
|
||||
+TO_MAN= lua$V.1 luac$V.1
|
||||
|
||||
# Lua version and release.
|
||||
V= 5.4
|
||||
@@ -52,7 +52,7 @@ R= $V.7
|
||||
all: $(PLAT)
|
||||
|
||||
$(PLATS) help test clean:
|
||||
- @cd src && $(MAKE) $@
|
||||
+ @cd src && $(MAKE) $@ V=$V
|
||||
|
||||
install: dummy
|
||||
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -32,15 +32,15 @@ CMCFLAGS=
|
||||
|
||||
PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris
|
||||
|
||||
-LUA_A= liblua.a
|
||||
+LUA_A= liblua$V.a
|
||||
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
|
||||
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
|
||||
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
|
||||
|
||||
-LUA_T= lua
|
||||
+LUA_T= lua$V
|
||||
LUA_O= lua.o
|
||||
|
||||
-LUAC_T= luac
|
||||
+LUAC_T= luac$V
|
||||
LUAC_O= luac.o
|
||||
|
||||
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
|
||||
27
lang/lua/lua5.4/patches-host/100-no_readline.patch
Normal file
27
lang/lua/lua5.4/patches-host/100-no_readline.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -126,7 +126,7 @@ c89:
|
||||
@echo ''
|
||||
|
||||
FreeBSD NetBSD OpenBSD freebsd:
|
||||
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"
|
||||
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX $(if $(USE_READLINE), -DLUA_USE_READLINE) -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"
|
||||
|
||||
generic: $(ALL)
|
||||
|
||||
@@ -136,13 +136,13 @@ ios:
|
||||
Linux linux: linux-noreadline
|
||||
|
||||
linux-noreadline:
|
||||
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl"
|
||||
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX $(if $(USE_READLINE), -DLUA_USE_READLINE)" SYSLIBS="-Wl,-E -ldl $(if $(USE_READLINE), -lreadline)"
|
||||
|
||||
linux-readline:
|
||||
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE" SYSLIBS="-Wl,-E -ldl -lreadline"
|
||||
|
||||
Darwin macos macosx:
|
||||
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" SYSLIBS="-lreadline"
|
||||
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX $(if $(USE_READLINE), -DLUA_USE_READLINE)" SYSLIBS="$(if $(USE_READLINE), -lreadline)"
|
||||
|
||||
mingw:
|
||||
$(MAKE) "LUA_A=lua54.dll" "LUA_T=lua.exe" \
|
||||
65
lang/lua/lua5.4/patches/001-include-version-number.patch
Normal file
65
lang/lua/lua5.4/patches/001-include-version-number.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
From 96576b44a1b368bd6590eb0778ae45cc9ccede3f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Fri, 21 Jun 2019 14:08:38 +0200
|
||||
Subject: [PATCH] include version number
|
||||
|
||||
Including it allows multiple lua versions to coexist.
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
---
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -12,7 +12,7 @@ PLAT= guess
|
||||
# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
|
||||
INSTALL_TOP= /usr/local
|
||||
INSTALL_BIN= $(INSTALL_TOP)/bin
|
||||
-INSTALL_INC= $(INSTALL_TOP)/include
|
||||
+INSTALL_INC= $(INSTALL_TOP)/include/lua$V
|
||||
INSTALL_LIB= $(INSTALL_TOP)/lib
|
||||
INSTALL_MAN= $(INSTALL_TOP)/man/man1
|
||||
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
|
||||
@@ -39,10 +39,10 @@ RM= rm -f
|
||||
PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris
|
||||
|
||||
# What to install.
|
||||
-TO_BIN= lua luac
|
||||
+TO_BIN= lua$V luac$V
|
||||
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
|
||||
-TO_LIB= liblua.a
|
||||
-TO_MAN= lua.1 luac.1
|
||||
+TO_LIB= liblua$V.a
|
||||
+TO_MAN= lua$V.1 luac$V.1
|
||||
|
||||
# Lua version and release.
|
||||
V= 5.4
|
||||
@@ -52,7 +52,7 @@ R= $V.7
|
||||
all: $(PLAT)
|
||||
|
||||
$(PLATS) help test clean:
|
||||
- @cd src && $(MAKE) $@
|
||||
+ @cd src && $(MAKE) $@ V=$V
|
||||
|
||||
install: dummy
|
||||
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -32,15 +32,15 @@ CMCFLAGS=
|
||||
|
||||
PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris
|
||||
|
||||
-LUA_A= liblua.a
|
||||
+LUA_A= liblua$V.a
|
||||
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
|
||||
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
|
||||
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
|
||||
|
||||
-LUA_T= lua
|
||||
+LUA_T= lua$V
|
||||
LUA_O= lua.o
|
||||
|
||||
-LUAC_T= luac
|
||||
+LUAC_T= luac$V
|
||||
LUAC_O= luac.o
|
||||
|
||||
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
|
||||
115
lang/lua/lua5.4/patches/020-shared_liblua.patch
Normal file
115
lang/lua/lua5.4/patches/020-shared_liblua.patch
Normal file
@@ -0,0 +1,115 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -41,7 +41,7 @@ PLATS= guess aix bsd c89 freebsd generic
|
||||
# What to install.
|
||||
TO_BIN= lua$V luac$V
|
||||
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
|
||||
-TO_LIB= liblua$V.a
|
||||
+TO_LIB= liblua$V.a liblua$V.so.0.0.0
|
||||
TO_MAN= lua$V.1 luac$V.1
|
||||
|
||||
# Lua version and release.
|
||||
@@ -59,6 +59,9 @@ install: dummy
|
||||
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
||||
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
||||
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||
+ ln -s liblua$V.so.0.0.0 $(INSTALL_LIB)/liblua$V.so.0.0
|
||||
+ ln -s liblua$V.so.0.0.0 $(INSTALL_LIB)/liblua$V.so.0
|
||||
+ ln -s liblua$V.so.0.0.0 $(INSTALL_LIB)/liblua$V.so
|
||||
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||
|
||||
uninstall:
|
||||
--- a/src/ldebug.h
|
||||
+++ b/src/ldebug.h
|
||||
@@ -36,7 +36,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
-LUAI_FUNC int luaG_getfuncline (const Proto *f, int pc);
|
||||
+LUA_API int luaG_getfuncline (const Proto *f, int pc);
|
||||
LUAI_FUNC const char *luaG_findlocal (lua_State *L, CallInfo *ci, int n,
|
||||
StkId *pos);
|
||||
LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o,
|
||||
--- a/src/lstring.h
|
||||
+++ b/src/lstring.h
|
||||
@@ -50,7 +50,7 @@ LUAI_FUNC void luaS_init (lua_State *L);
|
||||
LUAI_FUNC void luaS_remove (lua_State *L, TString *ts);
|
||||
LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, int nuvalue);
|
||||
LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
|
||||
-LUAI_FUNC TString *luaS_new (lua_State *L, const char *str);
|
||||
+LUA_API TString *luaS_new (lua_State *L, const char *str);
|
||||
LUAI_FUNC TString *luaS_createlngstrobj (lua_State *L, size_t l);
|
||||
|
||||
|
||||
--- a/src/lundump.h
|
||||
+++ b/src/lundump.h
|
||||
@@ -29,7 +29,7 @@
|
||||
LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, const char* name);
|
||||
|
||||
/* dump one chunk; from ldump.c */
|
||||
-LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w,
|
||||
+LUA_API int luaU_dump (lua_State* L, const Proto* f, lua_Writer w,
|
||||
void* data, int strip);
|
||||
|
||||
#endif
|
||||
--- a/src/lzio.h
|
||||
+++ b/src/lzio.h
|
||||
@@ -44,7 +44,7 @@ typedef struct Mbuffer {
|
||||
#define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0)
|
||||
|
||||
|
||||
-LUAI_FUNC void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader,
|
||||
+LUA_API void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader,
|
||||
void *data);
|
||||
LUAI_FUNC size_t luaZ_read (ZIO* z, void *b, size_t n); /* read next n bytes */
|
||||
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -33,6 +33,7 @@ CMCFLAGS=
|
||||
PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris
|
||||
|
||||
LUA_A= liblua$V.a
|
||||
+LUA_SO= liblua$V.so.0.0.0
|
||||
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
|
||||
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
|
||||
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
|
||||
@@ -44,8 +45,9 @@ LUAC_T= luac$V
|
||||
LUAC_O= luac.o
|
||||
|
||||
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
|
||||
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
||||
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
||||
ALL_A= $(LUA_A)
|
||||
+ALL_SO= $(LUA_SO)
|
||||
|
||||
# Targets start here.
|
||||
default: $(PLAT)
|
||||
@@ -56,14 +58,25 @@ o: $(ALL_O)
|
||||
|
||||
a: $(ALL_A)
|
||||
|
||||
+so: $(ALL_SO)
|
||||
+
|
||||
$(LUA_A): $(BASE_O)
|
||||
$(AR) $@ $(BASE_O)
|
||||
$(RANLIB) $@
|
||||
|
||||
-$(LUA_T): $(LUA_O) $(LUA_A)
|
||||
- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
||||
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
||||
+ $(CC) -o $@ -Wl,-Bsymbolic-functions -shared -Wl,-soname="$@" $?
|
||||
+ ln -fs $@ liblua$V.so.0.0
|
||||
+ ln -fs $@ liblua$V.so.0
|
||||
+ ln -fs $@ liblua$V.so
|
||||
+
|
||||
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
||||
+ $(CC) -o $@ -L. -llua$V $(MYLDFLAGS) $(LUA_O) $(LIBS)
|
||||
+
|
||||
+$(LUAC_T): $(LUAC_O) $(LUA_SO)
|
||||
+ $(CC) -o $@ -L. -llua$V $(MYLDFLAGS) $(LUAC_O) $(LIBS)
|
||||
|
||||
-$(LUAC_T): $(LUAC_O) $(LUA_A)
|
||||
+$(LUAC_T)-host: $(LUAC_O) $(LUA_A)
|
||||
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
||||
|
||||
test:
|
||||
27
lang/lua/lua5.4/patches/100-no_readline.patch
Normal file
27
lang/lua/lua5.4/patches/100-no_readline.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -126,7 +126,7 @@ c89:
|
||||
@echo ''
|
||||
|
||||
FreeBSD NetBSD OpenBSD freebsd:
|
||||
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"
|
||||
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX $(if $(USE_READLINE), -DLUA_USE_READLINE) -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc"
|
||||
|
||||
generic: $(ALL)
|
||||
|
||||
@@ -136,13 +136,13 @@ ios:
|
||||
Linux linux: linux-noreadline
|
||||
|
||||
linux-noreadline:
|
||||
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl"
|
||||
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX $(if $(USE_READLINE), -DLUA_USE_READLINE)" SYSLIBS="-Wl,-E -ldl $(if $(USE_READLINE), -lreadline)"
|
||||
|
||||
linux-readline:
|
||||
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE" SYSLIBS="-Wl,-E -ldl -lreadline"
|
||||
|
||||
Darwin macos macosx:
|
||||
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" SYSLIBS="-lreadline"
|
||||
+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX $(if $(USE_READLINE), -DLUA_USE_READLINE)" SYSLIBS="$(if $(USE_READLINE), -lreadline)"
|
||||
|
||||
mingw:
|
||||
$(MAKE) "LUA_A=lua54.dll" "LUA_T=lua.exe" \
|
||||
52
lang/lua/luabitop/Makefile
Normal file
52
lang/lua/luabitop/Makefile
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (C) 2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luabitop
|
||||
PKG_VERSION:=1.0.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
_BASENAME:=LuaBitOp
|
||||
|
||||
PKG_SOURCE:=$(_BASENAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://bitop.luajit.org/download/
|
||||
PKG_HASH:=d514a3d2cefa76c8d11c1b9ec740d5fae316a9c9764e1e12ddea21e4982fab4b
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(_BASENAME)-$(PKG_VERSION)
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luabitop
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=luabitop
|
||||
URL:=http://bitop.luajit.org/
|
||||
DEPENDS:=+liblua
|
||||
endef
|
||||
|
||||
define Package/luabitop/description
|
||||
Lua BitOp is a C extension module for Lua 5.1/5.2 which adds bitwise operations on numbers.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -DLUA_USE_LINUX -DLUA_NUMBER_DOUBLE
|
||||
|
||||
define Build/Compile
|
||||
$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_CPPFLAGS) -std=gnu99 $(FPIC) -DLUA_USE_LINUX -shared -o $(PKG_BUILD_DIR)/bit.so $(PKG_BUILD_DIR)/bit.c
|
||||
endef
|
||||
|
||||
define Package/luabitop/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bit.so $(1)/usr/lib/lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luabitop))
|
||||
61
lang/lua/luaexpat/Makefile
Normal file
61
lang/lua/luaexpat/Makefile
Normal file
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Copyright (C) 2009 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luaexpat
|
||||
PKG_VERSION:=1.5.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=https://github.com/lunarmodules/luaexpat
|
||||
PKG_MIRROR_HASH:=d479e41ea28b71ede214754d0cde87e6582022fcdd3981c928b41491062835c8
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENCE
|
||||
PKG_CPE_ID:=cpe:/a:matthewwild:luaexpat
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luaexpat
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LuaExpat
|
||||
URL:=http://matthewwild.co.uk/projects/luaexpat/
|
||||
MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
||||
DEPENDS:=+lua +libexpat
|
||||
endef
|
||||
|
||||
define Package/luaexpat/description
|
||||
LuaExpat is a SAX XML parser based on the Expat library.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(CP) files/compat-5.1r5 $(PKG_BUILD_DIR)/compat-5.1r5
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
EXPAT_INC="-I$(STAGING_DIR)/usr/include/" \
|
||||
LUA_INC="-I$(STAGING_DIR)/usr/include/" \
|
||||
LUA_LIBDIR="$(STAGING_DIR)/usr/lib/" \
|
||||
COMPAT_DIR="$(PKG_BUILD_DIR)/compat-5.1r5" \
|
||||
LDFLAGS="-shared $(TARGET_LDFLAGS)" \
|
||||
CC="$(TARGET_CC) $(TARGET_CFLAGS) $(FPIC) -std=c99" \
|
||||
LD="$(TARGET_CROSS)ld -shared"
|
||||
endef
|
||||
|
||||
define Package/luaexpat/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/lxp.so $(1)/usr/lib/lua/lxp.so
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/lxp
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/lxp/lom.lua $(1)/usr/lib/lua/lxp
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luaexpat))
|
||||
97
lang/lua/luaexpat/files/compat-5.1r5/compat-5.1.c
Normal file
97
lang/lua/luaexpat/files/compat-5.1r5/compat-5.1.c
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
** Compat-5.1
|
||||
** Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/compat)
|
||||
** $Id: compat-5.1.c,v 1.13 2006/02/20 21:12:47 carregal Exp $
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "lua.h"
|
||||
#include "lauxlib.h"
|
||||
#include "compat-5.1.h"
|
||||
|
||||
static void getfield(lua_State *L, int idx, const char *name) {
|
||||
const char *end = strchr(name, '.');
|
||||
lua_pushvalue(L, idx);
|
||||
while (end) {
|
||||
lua_pushlstring(L, name, end - name);
|
||||
lua_gettable(L, -2);
|
||||
lua_remove(L, -2);
|
||||
if (lua_isnil(L, -1)) return;
|
||||
name = end+1;
|
||||
end = strchr(name, '.');
|
||||
}
|
||||
lua_pushstring(L, name);
|
||||
lua_gettable(L, -2);
|
||||
lua_remove(L, -2);
|
||||
}
|
||||
|
||||
static void setfield(lua_State *L, int idx, const char *name) {
|
||||
const char *end = strchr(name, '.');
|
||||
lua_pushvalue(L, idx);
|
||||
while (end) {
|
||||
lua_pushlstring(L, name, end - name);
|
||||
lua_gettable(L, -2);
|
||||
/* create table if not found */
|
||||
if (lua_isnil(L, -1)) {
|
||||
lua_pop(L, 1);
|
||||
lua_newtable(L);
|
||||
lua_pushlstring(L, name, end - name);
|
||||
lua_pushvalue(L, -2);
|
||||
lua_settable(L, -4);
|
||||
}
|
||||
lua_remove(L, -2);
|
||||
name = end+1;
|
||||
end = strchr(name, '.');
|
||||
}
|
||||
lua_pushstring(L, name);
|
||||
lua_pushvalue(L, -3);
|
||||
lua_settable(L, -3);
|
||||
lua_pop(L, 2);
|
||||
}
|
||||
|
||||
LUALIB_API void luaL_module(lua_State *L, const char *libname,
|
||||
const luaL_reg *l, int nup) {
|
||||
if (libname) {
|
||||
getfield(L, LUA_GLOBALSINDEX, libname); /* check whether lib already exists */
|
||||
if (lua_isnil(L, -1)) {
|
||||
int env, ns;
|
||||
lua_pop(L, 1); /* get rid of nil */
|
||||
lua_pushliteral(L, "require");
|
||||
lua_gettable(L, LUA_GLOBALSINDEX); /* look for require */
|
||||
lua_getfenv(L, -1); /* getfenv(require) */
|
||||
lua_remove(L, -2); /* remove function require */
|
||||
env = lua_gettop(L);
|
||||
|
||||
lua_newtable(L); /* create namespace for lib */
|
||||
ns = lua_gettop(L);
|
||||
getfield(L, env, "package.loaded"); /* get package.loaded table */
|
||||
if (lua_isnil(L, -1)) { /* create package.loaded table */
|
||||
lua_pop(L, 1); /* remove previous result */
|
||||
lua_newtable(L);
|
||||
lua_pushvalue(L, -1);
|
||||
setfield(L, env, "package.loaded");
|
||||
}
|
||||
else if (!lua_istable(L, -1))
|
||||
luaL_error(L, "name conflict for library `%s'", libname);
|
||||
lua_pushstring(L, libname);
|
||||
lua_pushvalue(L, ns);
|
||||
lua_settable(L, -3); /* package.loaded[libname] = ns */
|
||||
lua_pop(L, 1); /* get rid of package.loaded table */
|
||||
lua_pushvalue(L, ns); /* copy namespace */
|
||||
setfield(L, LUA_GLOBALSINDEX, libname);
|
||||
lua_remove (L, env); /* remove env */
|
||||
}
|
||||
lua_insert(L, -(nup+1)); /* move library table to below upvalues */
|
||||
}
|
||||
for (; l->name; l++) {
|
||||
int i;
|
||||
lua_pushstring(L, l->name);
|
||||
for (i=0; i<nup; i++) /* copy upvalues to the top */
|
||||
lua_pushvalue(L, -(nup+1));
|
||||
lua_pushcclosure(L, l->func, nup);
|
||||
lua_settable(L, -(nup+3));
|
||||
}
|
||||
lua_pop(L, nup); /* remove upvalues */
|
||||
}
|
||||
|
||||
13
lang/lua/luaexpat/files/compat-5.1r5/compat-5.1.h
Normal file
13
lang/lua/luaexpat/files/compat-5.1r5/compat-5.1.h
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
** Compat-5.1
|
||||
** Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/compat/)
|
||||
** $Id: compat-5.1.h,v 1.8 2006/02/20 21:12:47 carregal Exp $
|
||||
*/
|
||||
|
||||
#ifndef COMPAT_H
|
||||
|
||||
LUALIB_API void luaL_module(lua_State *L, const char *libname,
|
||||
const luaL_reg *l, int nup);
|
||||
#define luaL_openlib luaL_module
|
||||
|
||||
#endif
|
||||
267
lang/lua/luaexpat/files/compat-5.1r5/compat-5.1.lua
Normal file
267
lang/lua/luaexpat/files/compat-5.1r5/compat-5.1.lua
Normal file
@@ -0,0 +1,267 @@
|
||||
--
|
||||
-- Compat-5.1
|
||||
-- Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/compat)
|
||||
-- According to Lua 5.1
|
||||
-- $Id: compat-5.1.lua,v 1.22 2006/02/20 21:12:47 carregal Exp $
|
||||
--
|
||||
|
||||
_COMPAT51 = "Compat-5.1 R5"
|
||||
|
||||
local LUA_DIRSEP = '/'
|
||||
local LUA_OFSEP = '_'
|
||||
local OLD_LUA_OFSEP = ''
|
||||
local POF = 'luaopen_'
|
||||
local LUA_PATH_MARK = '?'
|
||||
local LUA_IGMARK = ':'
|
||||
|
||||
local assert, error, getfenv, ipairs, loadfile, loadlib, pairs, setfenv, setmetatable, type = assert, error, getfenv, ipairs, loadfile, loadlib, pairs, setfenv, setmetatable, type
|
||||
local find, format, gfind, gsub, sub = string.find, string.format, string.gfind, string.gsub, string.sub
|
||||
|
||||
--
|
||||
-- avoid overwriting the package table if it's already there
|
||||
--
|
||||
package = package or {}
|
||||
local _PACKAGE = package
|
||||
|
||||
package.path = LUA_PATH or os.getenv("LUA_PATH") or
|
||||
("./?.lua;" ..
|
||||
"/usr/local/share/lua/5.0/?.lua;" ..
|
||||
"/usr/local/share/lua/5.0/?/?.lua;" ..
|
||||
"/usr/local/share/lua/5.0/?/init.lua" )
|
||||
|
||||
package.cpath = LUA_CPATH or os.getenv("LUA_CPATH") or
|
||||
"./?.so;" ..
|
||||
"./l?.so;" ..
|
||||
"/usr/local/lib/lua/5.0/?.so;" ..
|
||||
"/usr/local/lib/lua/5.0/l?.so"
|
||||
|
||||
--
|
||||
-- make sure require works with standard libraries
|
||||
--
|
||||
package.loaded = package.loaded or {}
|
||||
package.loaded.debug = debug
|
||||
package.loaded.string = string
|
||||
package.loaded.math = math
|
||||
package.loaded.io = io
|
||||
package.loaded.os = os
|
||||
package.loaded.table = table
|
||||
package.loaded.base = _G
|
||||
package.loaded.coroutine = coroutine
|
||||
local _LOADED = package.loaded
|
||||
|
||||
--
|
||||
-- avoid overwriting the package.preload table if it's already there
|
||||
--
|
||||
package.preload = package.preload or {}
|
||||
local _PRELOAD = package.preload
|
||||
|
||||
|
||||
--
|
||||
-- looks for a file `name' in given path
|
||||
--
|
||||
local function findfile (name, pname)
|
||||
name = gsub (name, "%.", LUA_DIRSEP)
|
||||
local path = _PACKAGE[pname]
|
||||
assert (type(path) == "string", format ("package.%s must be a string", pname))
|
||||
for c in gfind (path, "[^;]+") do
|
||||
c = gsub (c, "%"..LUA_PATH_MARK, name)
|
||||
local f = io.open (c)
|
||||
if f then
|
||||
f:close ()
|
||||
return c
|
||||
end
|
||||
end
|
||||
return nil -- not found
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- check whether library is already loaded
|
||||
--
|
||||
local function loader_preload (name)
|
||||
assert (type(name) == "string", format (
|
||||
"bad argument #1 to `require' (string expected, got %s)", type(name)))
|
||||
assert (type(_PRELOAD) == "table", "`package.preload' must be a table")
|
||||
return _PRELOAD[name]
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Lua library loader
|
||||
--
|
||||
local function loader_Lua (name)
|
||||
assert (type(name) == "string", format (
|
||||
"bad argument #1 to `require' (string expected, got %s)", type(name)))
|
||||
local filename = findfile (name, "path")
|
||||
if not filename then
|
||||
return false
|
||||
end
|
||||
local f, err = loadfile (filename)
|
||||
if not f then
|
||||
error (format ("error loading module `%s' (%s)", name, err))
|
||||
end
|
||||
return f
|
||||
end
|
||||
|
||||
|
||||
local function mkfuncname (name)
|
||||
name = gsub (name, "^.*%"..LUA_IGMARK, "")
|
||||
name = gsub (name, "%.", LUA_OFSEP)
|
||||
return POF..name
|
||||
end
|
||||
|
||||
local function old_mkfuncname (name)
|
||||
--name = gsub (name, "^.*%"..LUA_IGMARK, "")
|
||||
name = gsub (name, "%.", OLD_LUA_OFSEP)
|
||||
return POF..name
|
||||
end
|
||||
|
||||
--
|
||||
-- C library loader
|
||||
--
|
||||
local function loader_C (name)
|
||||
assert (type(name) == "string", format (
|
||||
"bad argument #1 to `require' (string expected, got %s)", type(name)))
|
||||
local filename = findfile (name, "cpath")
|
||||
if not filename then
|
||||
return false
|
||||
end
|
||||
local funcname = mkfuncname (name)
|
||||
local f, err = loadlib (filename, funcname)
|
||||
if not f then
|
||||
funcname = old_mkfuncname (name)
|
||||
f, err = loadlib (filename, funcname)
|
||||
if not f then
|
||||
error (format ("error loading module `%s' (%s)", name, err))
|
||||
end
|
||||
end
|
||||
return f
|
||||
end
|
||||
|
||||
|
||||
local function loader_Croot (name)
|
||||
local p = gsub (name, "^([^.]*).-$", "%1")
|
||||
if p == "" then
|
||||
return
|
||||
end
|
||||
local filename = findfile (p, "cpath")
|
||||
if not filename then
|
||||
return
|
||||
end
|
||||
local funcname = mkfuncname (name)
|
||||
local f, err, where = loadlib (filename, funcname)
|
||||
if f then
|
||||
return f
|
||||
elseif where ~= "init" then
|
||||
error (format ("error loading module `%s' (%s)", name, err))
|
||||
end
|
||||
end
|
||||
|
||||
-- create `loaders' table
|
||||
package.loaders = package.loaders or { loader_preload, loader_Lua, loader_C, loader_Croot, }
|
||||
local _LOADERS = package.loaders
|
||||
|
||||
|
||||
--
|
||||
-- iterate over available loaders
|
||||
--
|
||||
local function load (name, loaders)
|
||||
-- iterate over available loaders
|
||||
assert (type (loaders) == "table", "`package.loaders' must be a table")
|
||||
for i, loader in ipairs (loaders) do
|
||||
local f = loader (name)
|
||||
if f then
|
||||
return f
|
||||
end
|
||||
end
|
||||
error (format ("module `%s' not found", name))
|
||||
end
|
||||
|
||||
-- sentinel
|
||||
local sentinel = function () end
|
||||
|
||||
--
|
||||
-- new require
|
||||
--
|
||||
function _G.require (modname)
|
||||
assert (type(modname) == "string", format (
|
||||
"bad argument #1 to `require' (string expected, got %s)", type(name)))
|
||||
local p = _LOADED[modname]
|
||||
if p then -- is it there?
|
||||
if p == sentinel then
|
||||
error (format ("loop or previous error loading module '%s'", modname))
|
||||
end
|
||||
return p -- package is already loaded
|
||||
end
|
||||
local init = load (modname, _LOADERS)
|
||||
_LOADED[modname] = sentinel
|
||||
local actual_arg = _G.arg
|
||||
_G.arg = { modname }
|
||||
local res = init (modname)
|
||||
if res then
|
||||
_LOADED[modname] = res
|
||||
end
|
||||
_G.arg = actual_arg
|
||||
if _LOADED[modname] == sentinel then
|
||||
_LOADED[modname] = true
|
||||
end
|
||||
return _LOADED[modname]
|
||||
end
|
||||
|
||||
|
||||
-- findtable
|
||||
local function findtable (t, f)
|
||||
assert (type(f)=="string", "not a valid field name ("..tostring(f)..")")
|
||||
local ff = f.."."
|
||||
local ok, e, w = find (ff, '(.-)%.', 1)
|
||||
while ok do
|
||||
local nt = rawget (t, w)
|
||||
if not nt then
|
||||
nt = {}
|
||||
t[w] = nt
|
||||
elseif type(t) ~= "table" then
|
||||
return sub (f, e+1)
|
||||
end
|
||||
t = nt
|
||||
ok, e, w = find (ff, '(.-)%.', e+1)
|
||||
end
|
||||
return t
|
||||
end
|
||||
|
||||
--
|
||||
-- new package.seeall function
|
||||
--
|
||||
function _PACKAGE.seeall (module)
|
||||
local t = type(module)
|
||||
assert (t == "table", "bad argument #1 to package.seeall (table expected, got "..t..")")
|
||||
local meta = getmetatable (module)
|
||||
if not meta then
|
||||
meta = {}
|
||||
setmetatable (module, meta)
|
||||
end
|
||||
meta.__index = _G
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- new module function
|
||||
--
|
||||
function _G.module (modname, ...)
|
||||
local ns = _LOADED[modname]
|
||||
if type(ns) ~= "table" then
|
||||
ns = findtable (_G, modname)
|
||||
if not ns then
|
||||
error (string.format ("name conflict for module '%s'", modname))
|
||||
end
|
||||
_LOADED[modname] = ns
|
||||
end
|
||||
if not ns._NAME then
|
||||
ns._NAME = modname
|
||||
ns._M = ns
|
||||
ns._PACKAGE = gsub (modname, "[^.]*$", "")
|
||||
end
|
||||
setfenv (2, ns)
|
||||
for i, f in ipairs (arg) do
|
||||
f (ns)
|
||||
end
|
||||
end
|
||||
66
lang/lua/luafilesystem/Makefile
Normal file
66
lang/lua/luafilesystem/Makefile
Normal file
@@ -0,0 +1,66 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luafilesystem
|
||||
PKG_VERSION:=1.8.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_MIRROR_HASH:=69c676dd811fc77e205b1b8064017536fade1be47e50ba785c243a5d7540cdf6
|
||||
PKG_SOURCE_URL:=https://github.com/keplerproject/luafilesystem.git
|
||||
PKG_SOURCE_VERSION:=v$(subst .,_,$(PKG_VERSION))
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luafilesystem
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LuaFileSystem
|
||||
URL:=http://keplerproject.github.com/luafilesystem/
|
||||
MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
||||
DEPENDS:=+liblua
|
||||
endef
|
||||
|
||||
define Package/luafilesystem/description
|
||||
This package contains the LuaFileSystem library, a set of portable
|
||||
functions for directory creation, listing and deletion and for file
|
||||
locking.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) $(TARGET_CPPFLAGS)
|
||||
|
||||
TARGET_LDFLAGS += -llua
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS) -std=gnu99" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)"
|
||||
$(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_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
|
||||
endef
|
||||
|
||||
define Package/luafilesystem/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/lfs.so $(1)/usr/lib/lua/lfs.so
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luafilesystem))
|
||||
98
lang/lua/luajit/Makefile
Normal file
98
lang/lua/luajit/Makefile
Normal file
@@ -0,0 +1,98 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luajit
|
||||
PKG_VERSION:=2.1.0
|
||||
PKG_REAL_VERSION:=$(PKG_VERSION)-beta3
|
||||
PKG_RELEASE:=8
|
||||
|
||||
PKG_SOURCE:=LuaJIT-$(PKG_REAL_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://luajit.org/download
|
||||
PKG_HASH:=1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/LuaJIT-$(PKG_REAL_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Morteza Milani <milani@pichak.co>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
PKG_CPE_ID:=cpe:/a:luajit:luajit
|
||||
|
||||
PKG_BUILD_FLAGS:=no-mips16
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Package/luajit
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LuaJIT
|
||||
URL:=https://www.luajit.org
|
||||
DEPENDS:=@HAS_LUAJIT_ARCH
|
||||
endef
|
||||
|
||||
define Package/luajit/description
|
||||
LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. *** Requires GCC Multilib on host system to build! ***
|
||||
endef
|
||||
|
||||
define Package/luajit/config
|
||||
config HAS_LUAJIT_ARCH
|
||||
bool
|
||||
default y if i386||x86_64||arm||armeb||aarch64||powerpc||mips||mipsel||mips64
|
||||
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 $(PKG_BUILD_DIR) \
|
||||
HOST_CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_BITS)" \
|
||||
CROSS="$(TARGET_CROSS)" \
|
||||
DPREFIX=$(PKG_INSTALL_DIR)/usr \
|
||||
PREFIX=/usr \
|
||||
TARGET_SYS=Linux \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
BUILDMODE=dynamic
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
DPREFIX=$(PKG_INSTALL_DIR)/usr \
|
||||
PREFIX=/usr \
|
||||
TARGET_SYS=Linux \
|
||||
install
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/luajit-2.1
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/luajit-2.1/*.{h,hpp} $(1)/usr/include/luajit-2.1
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*so* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/luajit.pc $(1)/usr/lib/pkgconfig/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/luajit-$(PKG_REAL_VERSION) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
define Package/luajit/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/luajit-$(PKG_REAL_VERSION) $(1)/usr/bin/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
|
||||
DPREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
TARGET_CFLAGS="$(HOST_CFLAGS)" \
|
||||
TARGET_LDFLAGS="$(HOST_LDFLAGS)"
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
|
||||
DPREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
install
|
||||
$(CP) $(STAGING_DIR_HOSTPKG)/bin/luajit-$(PKG_REAL_VERSION) $(STAGING_DIR_HOSTPKG)/bin/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild,luajit))
|
||||
$(eval $(call BuildPackage,luajit))
|
||||
13
lang/lua/luajit/patches/010-lua-path.patch
Normal file
13
lang/lua/luajit/patches/010-lua-path.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- a/src/luaconf.h
|
||||
+++ b/src/luaconf.h
|
||||
@@ -35,8 +35,8 @@
|
||||
#ifndef LUA_LMULTILIB
|
||||
#define LUA_LMULTILIB "lib"
|
||||
#endif
|
||||
-#define LUA_LROOT "/usr/local"
|
||||
-#define LUA_LUADIR "/lua/5.1/"
|
||||
+#define LUA_LROOT "/usr"
|
||||
+#define LUA_LUADIR "/lua/"
|
||||
#define LUA_LJDIR "/luajit-2.1.0-beta3/"
|
||||
|
||||
#ifdef LUA_ROOT
|
||||
12
lang/lua/luajit/patches/020-clang.patch
Normal file
12
lang/lua/luajit/patches/020-clang.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- a/src/lj_arch.h
|
||||
+++ b/src/lj_arch.h
|
||||
@@ -391,9 +391,6 @@
|
||||
#endif
|
||||
#endif
|
||||
#elif !LJ_TARGET_PS3
|
||||
-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3)
|
||||
-#error "Need at least GCC 4.3 or newer"
|
||||
-#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
commit 18c9cf7d3788a8f7408df45df92fc4ae3bcc0d80
|
||||
Author: Mike Pall <mike>
|
||||
Date: Sat Jan 25 17:37:12 2020 +0100
|
||||
|
||||
Fix POSIX install with missing or incompatible ldconfig.
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -75,7 +75,7 @@ SYMLINK= ln -sf
|
||||
INSTALL_X= install -m 0755
|
||||
INSTALL_F= install -m 0644
|
||||
UNINSTALL= $(RM)
|
||||
-LDCONFIG= ldconfig -n
|
||||
+LDCONFIG= ldconfig -n 2>/dev/null
|
||||
SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
|
||||
-e "s|^multilib=.*|multilib=$(MULTILIB)|"
|
||||
|
||||
@@ -121,7 +121,7 @@ install: $(INSTALL_DEP)
|
||||
$(RM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
|
||||
cd src && test -f $(FILE_SO) && \
|
||||
$(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
|
||||
- $(LDCONFIG) $(INSTALL_LIB) && \
|
||||
+ ( $(LDCONFIG) $(INSTALL_LIB) || : ) && \
|
||||
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
|
||||
$(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
|
||||
cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
|
||||
2742
lang/lua/luajit/patches/040-softfloat-ppc.patch
Normal file
2742
lang/lua/luajit/patches/040-softfloat-ppc.patch
Normal file
File diff suppressed because it is too large
Load Diff
744
lang/lua/luajit/patches/050-ppc-softfloat.patch
Normal file
744
lang/lua/luajit/patches/050-ppc-softfloat.patch
Normal file
@@ -0,0 +1,744 @@
|
||||
From 71b7bc88341945f13f3951e2bb5fd247b639ff7a Mon Sep 17 00:00:00 2001
|
||||
From: Mike Pall <mike>
|
||||
Date: Sun, 3 Sep 2017 23:20:53 +0200
|
||||
Subject: [PATCH] PPC: Add soft-float support to JIT compiler backend.
|
||||
|
||||
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
|
||||
Sponsored by Cisco Systems, Inc.
|
||||
---
|
||||
src/lj_arch.h | 1 -
|
||||
src/lj_asm_ppc.h | 321 ++++++++++++++++++++++++++++++++++++++++-------
|
||||
2 files changed, 278 insertions(+), 44 deletions(-)
|
||||
|
||||
--- a/src/lj_arch.h
|
||||
+++ b/src/lj_arch.h
|
||||
@@ -273,7 +273,6 @@
|
||||
#endif
|
||||
|
||||
#if LJ_ABI_SOFTFP
|
||||
-#define LJ_ARCH_NOJIT 1 /* NYI */
|
||||
#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL
|
||||
#else
|
||||
#define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL_SINGLE
|
||||
--- a/src/lj_asm_ppc.h
|
||||
+++ b/src/lj_asm_ppc.h
|
||||
@@ -226,6 +226,7 @@ static void asm_fusexrefx(ASMState *as,
|
||||
emit_tab(as, pi, rt, left, right);
|
||||
}
|
||||
|
||||
+#if !LJ_SOFTFP
|
||||
/* Fuse to multiply-add/sub instruction. */
|
||||
static int asm_fusemadd(ASMState *as, IRIns *ir, PPCIns pi, PPCIns pir)
|
||||
{
|
||||
@@ -245,6 +246,7 @@ static int asm_fusemadd(ASMState *as, IR
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* -- Calls --------------------------------------------------------------- */
|
||||
|
||||
@@ -253,13 +255,17 @@ static void asm_gencall(ASMState *as, co
|
||||
{
|
||||
uint32_t n, nargs = CCI_XNARGS(ci);
|
||||
int32_t ofs = 8;
|
||||
- Reg gpr = REGARG_FIRSTGPR, fpr = REGARG_FIRSTFPR;
|
||||
+ Reg gpr = REGARG_FIRSTGPR;
|
||||
+#if !LJ_SOFTFP
|
||||
+ Reg fpr = REGARG_FIRSTFPR;
|
||||
+#endif
|
||||
if ((void *)ci->func)
|
||||
emit_call(as, (void *)ci->func);
|
||||
for (n = 0; n < nargs; n++) { /* Setup args. */
|
||||
IRRef ref = args[n];
|
||||
if (ref) {
|
||||
IRIns *ir = IR(ref);
|
||||
+#if !LJ_SOFTFP
|
||||
if (irt_isfp(ir->t)) {
|
||||
if (fpr <= REGARG_LASTFPR) {
|
||||
lua_assert(rset_test(as->freeset, fpr)); /* Already evicted. */
|
||||
@@ -271,7 +277,9 @@ static void asm_gencall(ASMState *as, co
|
||||
emit_spstore(as, ir, r, ofs);
|
||||
ofs += irt_isnum(ir->t) ? 8 : 4;
|
||||
}
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
if (gpr <= REGARG_LASTGPR) {
|
||||
lua_assert(rset_test(as->freeset, gpr)); /* Already evicted. */
|
||||
ra_leftov(as, gpr, ref);
|
||||
@@ -290,8 +298,10 @@ static void asm_gencall(ASMState *as, co
|
||||
}
|
||||
checkmclim(as);
|
||||
}
|
||||
+#if !LJ_SOFTFP
|
||||
if ((ci->flags & CCI_VARARG)) /* Vararg calls need to know about FPR use. */
|
||||
emit_tab(as, fpr == REGARG_FIRSTFPR ? PPCI_CRXOR : PPCI_CREQV, 6, 6, 6);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* Setup result reg/sp for call. Evict scratch regs. */
|
||||
@@ -299,8 +309,10 @@ static void asm_setupresult(ASMState *as
|
||||
{
|
||||
RegSet drop = RSET_SCRATCH;
|
||||
int hiop = ((ir+1)->o == IR_HIOP && !irt_isnil((ir+1)->t));
|
||||
+#if !LJ_SOFTFP
|
||||
if ((ci->flags & CCI_NOFPRCLOBBER))
|
||||
drop &= ~RSET_FPR;
|
||||
+#endif
|
||||
if (ra_hasreg(ir->r))
|
||||
rset_clear(drop, ir->r); /* Dest reg handled below. */
|
||||
if (hiop && ra_hasreg((ir+1)->r))
|
||||
@@ -308,7 +320,7 @@ static void asm_setupresult(ASMState *as
|
||||
ra_evictset(as, drop); /* Evictions must be performed first. */
|
||||
if (ra_used(ir)) {
|
||||
lua_assert(!irt_ispri(ir->t));
|
||||
- if (irt_isfp(ir->t)) {
|
||||
+ if (!LJ_SOFTFP && irt_isfp(ir->t)) {
|
||||
if ((ci->flags & CCI_CASTU64)) {
|
||||
/* Use spill slot or temp slots. */
|
||||
int32_t ofs = ir->s ? sps_scale(ir->s) : SPOFS_TMP;
|
||||
@@ -377,6 +389,7 @@ static void asm_retf(ASMState *as, IRIns
|
||||
|
||||
/* -- Type conversions ---------------------------------------------------- */
|
||||
|
||||
+#if !LJ_SOFTFP
|
||||
static void asm_tointg(ASMState *as, IRIns *ir, Reg left)
|
||||
{
|
||||
RegSet allow = RSET_FPR;
|
||||
@@ -409,15 +422,23 @@ static void asm_tobit(ASMState *as, IRIn
|
||||
emit_fai(as, PPCI_STFD, tmp, RID_SP, SPOFS_TMP);
|
||||
emit_fab(as, PPCI_FADD, tmp, left, right);
|
||||
}
|
||||
+#endif
|
||||
|
||||
static void asm_conv(ASMState *as, IRIns *ir)
|
||||
{
|
||||
IRType st = (IRType)(ir->op2 & IRCONV_SRCMASK);
|
||||
+#if !LJ_SOFTFP
|
||||
int stfp = (st == IRT_NUM || st == IRT_FLOAT);
|
||||
+#endif
|
||||
IRRef lref = ir->op1;
|
||||
- lua_assert(irt_type(ir->t) != st);
|
||||
lua_assert(!(irt_isint64(ir->t) ||
|
||||
(st == IRT_I64 || st == IRT_U64))); /* Handled by SPLIT. */
|
||||
+#if LJ_SOFTFP
|
||||
+ /* FP conversions are handled by SPLIT. */
|
||||
+ lua_assert(!irt_isfp(ir->t) && !(st == IRT_NUM || st == IRT_FLOAT));
|
||||
+ /* Can't check for same types: SPLIT uses CONV int.int + BXOR for sfp NEG. */
|
||||
+#else
|
||||
+ lua_assert(irt_type(ir->t) != st);
|
||||
if (irt_isfp(ir->t)) {
|
||||
Reg dest = ra_dest(as, ir, RSET_FPR);
|
||||
if (stfp) { /* FP to FP conversion. */
|
||||
@@ -476,7 +497,9 @@ static void asm_conv(ASMState *as, IRIns
|
||||
emit_fb(as, PPCI_FCTIWZ, tmp, left);
|
||||
}
|
||||
}
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
Reg dest = ra_dest(as, ir, RSET_GPR);
|
||||
if (st >= IRT_I8 && st <= IRT_U16) { /* Extend to 32 bit integer. */
|
||||
Reg left = ra_alloc1(as, ir->op1, RSET_GPR);
|
||||
@@ -496,17 +519,41 @@ static void asm_strto(ASMState *as, IRIn
|
||||
{
|
||||
const CCallInfo *ci = &lj_ir_callinfo[IRCALL_lj_strscan_num];
|
||||
IRRef args[2];
|
||||
- int32_t ofs;
|
||||
+ int32_t ofs = SPOFS_TMP;
|
||||
+#if LJ_SOFTFP
|
||||
+ ra_evictset(as, RSET_SCRATCH);
|
||||
+ if (ra_used(ir)) {
|
||||
+ if (ra_hasspill(ir->s) && ra_hasspill((ir+1)->s) &&
|
||||
+ (ir->s & 1) == LJ_BE && (ir->s ^ 1) == (ir+1)->s) {
|
||||
+ int i;
|
||||
+ for (i = 0; i < 2; i++) {
|
||||
+ Reg r = (ir+i)->r;
|
||||
+ if (ra_hasreg(r)) {
|
||||
+ ra_free(as, r);
|
||||
+ ra_modified(as, r);
|
||||
+ emit_spload(as, ir+i, r, sps_scale((ir+i)->s));
|
||||
+ }
|
||||
+ }
|
||||
+ ofs = sps_scale(ir->s & ~1);
|
||||
+ } else {
|
||||
+ Reg rhi = ra_dest(as, ir+1, RSET_GPR);
|
||||
+ Reg rlo = ra_dest(as, ir, rset_exclude(RSET_GPR, rhi));
|
||||
+ emit_tai(as, PPCI_LWZ, rhi, RID_SP, ofs);
|
||||
+ emit_tai(as, PPCI_LWZ, rlo, RID_SP, ofs+4);
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
RegSet drop = RSET_SCRATCH;
|
||||
if (ra_hasreg(ir->r)) rset_set(drop, ir->r); /* Spill dest reg (if any). */
|
||||
ra_evictset(as, drop);
|
||||
+ if (ir->s) ofs = sps_scale(ir->s);
|
||||
+#endif
|
||||
asm_guardcc(as, CC_EQ);
|
||||
emit_ai(as, PPCI_CMPWI, RID_RET, 0); /* Test return status. */
|
||||
args[0] = ir->op1; /* GCstr *str */
|
||||
args[1] = ASMREF_TMP1; /* TValue *n */
|
||||
asm_gencall(as, ci, args);
|
||||
/* Store the result to the spill slot or temp slots. */
|
||||
- ofs = ir->s ? sps_scale(ir->s) : SPOFS_TMP;
|
||||
emit_tai(as, PPCI_ADDI, ra_releasetmp(as, ASMREF_TMP1), RID_SP, ofs);
|
||||
}
|
||||
|
||||
@@ -530,7 +577,10 @@ static void asm_tvptr(ASMState *as, Reg
|
||||
Reg src = ra_alloc1(as, ref, allow);
|
||||
emit_setgl(as, src, tmptv.gcr);
|
||||
}
|
||||
- type = ra_allock(as, irt_toitype(ir->t), allow);
|
||||
+ if (LJ_SOFTFP && (ir+1)->o == IR_HIOP)
|
||||
+ type = ra_alloc1(as, ref+1, allow);
|
||||
+ else
|
||||
+ type = ra_allock(as, irt_toitype(ir->t), allow);
|
||||
emit_setgl(as, type, tmptv.it);
|
||||
}
|
||||
}
|
||||
@@ -574,11 +624,27 @@ static void asm_href(ASMState *as, IRIns
|
||||
Reg tisnum = RID_NONE, tmpnum = RID_NONE;
|
||||
IRRef refkey = ir->op2;
|
||||
IRIns *irkey = IR(refkey);
|
||||
+ int isk = irref_isk(refkey);
|
||||
IRType1 kt = irkey->t;
|
||||
uint32_t khash;
|
||||
MCLabel l_end, l_loop, l_next;
|
||||
|
||||
rset_clear(allow, tab);
|
||||
+#if LJ_SOFTFP
|
||||
+ if (!isk) {
|
||||
+ key = ra_alloc1(as, refkey, allow);
|
||||
+ rset_clear(allow, key);
|
||||
+ if (irkey[1].o == IR_HIOP) {
|
||||
+ if (ra_hasreg((irkey+1)->r)) {
|
||||
+ tmpnum = (irkey+1)->r;
|
||||
+ ra_noweak(as, tmpnum);
|
||||
+ } else {
|
||||
+ tmpnum = ra_allocref(as, refkey+1, allow);
|
||||
+ }
|
||||
+ rset_clear(allow, tmpnum);
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
if (irt_isnum(kt)) {
|
||||
key = ra_alloc1(as, refkey, RSET_FPR);
|
||||
tmpnum = ra_scratch(as, rset_exclude(RSET_FPR, key));
|
||||
@@ -588,6 +654,7 @@ static void asm_href(ASMState *as, IRIns
|
||||
key = ra_alloc1(as, refkey, allow);
|
||||
rset_clear(allow, key);
|
||||
}
|
||||
+#endif
|
||||
tmp2 = ra_scratch(as, allow);
|
||||
rset_clear(allow, tmp2);
|
||||
|
||||
@@ -610,7 +677,7 @@ static void asm_href(ASMState *as, IRIns
|
||||
asm_guardcc(as, CC_EQ);
|
||||
else
|
||||
emit_condbranch(as, PPCI_BC|PPCF_Y, CC_EQ, l_end);
|
||||
- if (irt_isnum(kt)) {
|
||||
+ if (!LJ_SOFTFP && irt_isnum(kt)) {
|
||||
emit_fab(as, PPCI_FCMPU, 0, tmpnum, key);
|
||||
emit_condbranch(as, PPCI_BC, CC_GE, l_next);
|
||||
emit_ab(as, PPCI_CMPLW, tmp1, tisnum);
|
||||
@@ -620,7 +687,10 @@ static void asm_href(ASMState *as, IRIns
|
||||
emit_ab(as, PPCI_CMPW, tmp2, key);
|
||||
emit_condbranch(as, PPCI_BC, CC_NE, l_next);
|
||||
}
|
||||
- emit_ai(as, PPCI_CMPWI, tmp1, irt_toitype(irkey->t));
|
||||
+ if (LJ_SOFTFP && ra_hasreg(tmpnum))
|
||||
+ emit_ab(as, PPCI_CMPW, tmp1, tmpnum);
|
||||
+ else
|
||||
+ emit_ai(as, PPCI_CMPWI, tmp1, irt_toitype(irkey->t));
|
||||
if (!irt_ispri(kt))
|
||||
emit_tai(as, PPCI_LWZ, tmp2, dest, (int32_t)offsetof(Node, key.gcr));
|
||||
}
|
||||
@@ -629,19 +699,19 @@ static void asm_href(ASMState *as, IRIns
|
||||
(((char *)as->mcp-(char *)l_loop) & 0xffffu);
|
||||
|
||||
/* Load main position relative to tab->node into dest. */
|
||||
- khash = irref_isk(refkey) ? ir_khash(irkey) : 1;
|
||||
+ khash = isk ? ir_khash(irkey) : 1;
|
||||
if (khash == 0) {
|
||||
emit_tai(as, PPCI_LWZ, dest, tab, (int32_t)offsetof(GCtab, node));
|
||||
} else {
|
||||
Reg tmphash = tmp1;
|
||||
- if (irref_isk(refkey))
|
||||
+ if (isk)
|
||||
tmphash = ra_allock(as, khash, allow);
|
||||
emit_tab(as, PPCI_ADD, dest, dest, tmp1);
|
||||
emit_tai(as, PPCI_MULLI, tmp1, tmp1, sizeof(Node));
|
||||
emit_asb(as, PPCI_AND, tmp1, tmp2, tmphash);
|
||||
emit_tai(as, PPCI_LWZ, dest, tab, (int32_t)offsetof(GCtab, node));
|
||||
emit_tai(as, PPCI_LWZ, tmp2, tab, (int32_t)offsetof(GCtab, hmask));
|
||||
- if (irref_isk(refkey)) {
|
||||
+ if (isk) {
|
||||
/* Nothing to do. */
|
||||
} else if (irt_isstr(kt)) {
|
||||
emit_tai(as, PPCI_LWZ, tmp1, key, (int32_t)offsetof(GCstr, hash));
|
||||
@@ -651,13 +721,19 @@ static void asm_href(ASMState *as, IRIns
|
||||
emit_asb(as, PPCI_XOR, tmp1, tmp1, tmp2);
|
||||
emit_rotlwi(as, tmp1, tmp1, (HASH_ROT2+HASH_ROT1)&31);
|
||||
emit_tab(as, PPCI_SUBF, tmp2, dest, tmp2);
|
||||
- if (irt_isnum(kt)) {
|
||||
+ if (LJ_SOFTFP ? (irkey[1].o == IR_HIOP) : irt_isnum(kt)) {
|
||||
+#if LJ_SOFTFP
|
||||
+ emit_asb(as, PPCI_XOR, tmp2, key, tmp1);
|
||||
+ emit_rotlwi(as, dest, tmp1, HASH_ROT1);
|
||||
+ emit_tab(as, PPCI_ADD, tmp1, tmpnum, tmpnum);
|
||||
+#else
|
||||
int32_t ofs = ra_spill(as, irkey);
|
||||
emit_asb(as, PPCI_XOR, tmp2, tmp2, tmp1);
|
||||
emit_rotlwi(as, dest, tmp1, HASH_ROT1);
|
||||
emit_tab(as, PPCI_ADD, tmp1, tmp1, tmp1);
|
||||
emit_tai(as, PPCI_LWZ, tmp2, RID_SP, ofs+4);
|
||||
emit_tai(as, PPCI_LWZ, tmp1, RID_SP, ofs);
|
||||
+#endif
|
||||
} else {
|
||||
emit_asb(as, PPCI_XOR, tmp2, key, tmp1);
|
||||
emit_rotlwi(as, dest, tmp1, HASH_ROT1);
|
||||
@@ -784,8 +860,8 @@ static PPCIns asm_fxloadins(IRIns *ir)
|
||||
case IRT_U8: return PPCI_LBZ;
|
||||
case IRT_I16: return PPCI_LHA;
|
||||
case IRT_U16: return PPCI_LHZ;
|
||||
- case IRT_NUM: return PPCI_LFD;
|
||||
- case IRT_FLOAT: return PPCI_LFS;
|
||||
+ case IRT_NUM: lua_assert(!LJ_SOFTFP); return PPCI_LFD;
|
||||
+ case IRT_FLOAT: if (!LJ_SOFTFP) return PPCI_LFS;
|
||||
default: return PPCI_LWZ;
|
||||
}
|
||||
}
|
||||
@@ -795,8 +871,8 @@ static PPCIns asm_fxstoreins(IRIns *ir)
|
||||
switch (irt_type(ir->t)) {
|
||||
case IRT_I8: case IRT_U8: return PPCI_STB;
|
||||
case IRT_I16: case IRT_U16: return PPCI_STH;
|
||||
- case IRT_NUM: return PPCI_STFD;
|
||||
- case IRT_FLOAT: return PPCI_STFS;
|
||||
+ case IRT_NUM: lua_assert(!LJ_SOFTFP); return PPCI_STFD;
|
||||
+ case IRT_FLOAT: if (!LJ_SOFTFP) return PPCI_STFS;
|
||||
default: return PPCI_STW;
|
||||
}
|
||||
}
|
||||
@@ -839,7 +915,8 @@ static void asm_fstore(ASMState *as, IRI
|
||||
|
||||
static void asm_xload(ASMState *as, IRIns *ir)
|
||||
{
|
||||
- Reg dest = ra_dest(as, ir, irt_isfp(ir->t) ? RSET_FPR : RSET_GPR);
|
||||
+ Reg dest = ra_dest(as, ir,
|
||||
+ (!LJ_SOFTFP && irt_isfp(ir->t)) ? RSET_FPR : RSET_GPR);
|
||||
lua_assert(!(ir->op2 & IRXLOAD_UNALIGNED));
|
||||
if (irt_isi8(ir->t))
|
||||
emit_as(as, PPCI_EXTSB, dest, dest);
|
||||
@@ -857,7 +934,8 @@ static void asm_xstore_(ASMState *as, IR
|
||||
Reg src = ra_alloc1(as, irb->op1, RSET_GPR);
|
||||
asm_fusexrefx(as, PPCI_STWBRX, src, ir->op1, rset_exclude(RSET_GPR, src));
|
||||
} else {
|
||||
- Reg src = ra_alloc1(as, ir->op2, irt_isfp(ir->t) ? RSET_FPR : RSET_GPR);
|
||||
+ Reg src = ra_alloc1(as, ir->op2,
|
||||
+ (!LJ_SOFTFP && irt_isfp(ir->t)) ? RSET_FPR : RSET_GPR);
|
||||
asm_fusexref(as, asm_fxstoreins(ir), src, ir->op1,
|
||||
rset_exclude(RSET_GPR, src), ofs);
|
||||
}
|
||||
@@ -871,10 +949,19 @@ static void asm_ahuvload(ASMState *as, I
|
||||
Reg dest = RID_NONE, type = RID_TMP, tmp = RID_TMP, idx;
|
||||
RegSet allow = RSET_GPR;
|
||||
int32_t ofs = AHUREF_LSX;
|
||||
+ if (LJ_SOFTFP && (ir+1)->o == IR_HIOP) {
|
||||
+ t.irt = IRT_NUM;
|
||||
+ if (ra_used(ir+1)) {
|
||||
+ type = ra_dest(as, ir+1, allow);
|
||||
+ rset_clear(allow, type);
|
||||
+ }
|
||||
+ ofs = 0;
|
||||
+ }
|
||||
if (ra_used(ir)) {
|
||||
- lua_assert(irt_isnum(t) || irt_isint(t) || irt_isaddr(t));
|
||||
- if (!irt_isnum(t)) ofs = 0;
|
||||
- dest = ra_dest(as, ir, irt_isnum(t) ? RSET_FPR : RSET_GPR);
|
||||
+ lua_assert((LJ_SOFTFP ? 0 : irt_isnum(ir->t)) ||
|
||||
+ irt_isint(ir->t) || irt_isaddr(ir->t));
|
||||
+ if (LJ_SOFTFP || !irt_isnum(t)) ofs = 0;
|
||||
+ dest = ra_dest(as, ir, (!LJ_SOFTFP && irt_isnum(t)) ? RSET_FPR : allow);
|
||||
rset_clear(allow, dest);
|
||||
}
|
||||
idx = asm_fuseahuref(as, ir->op1, &ofs, allow);
|
||||
@@ -883,12 +970,13 @@ static void asm_ahuvload(ASMState *as, I
|
||||
asm_guardcc(as, CC_GE);
|
||||
emit_ab(as, PPCI_CMPLW, type, tisnum);
|
||||
if (ra_hasreg(dest)) {
|
||||
- if (ofs == AHUREF_LSX) {
|
||||
+ if (!LJ_SOFTFP && ofs == AHUREF_LSX) {
|
||||
tmp = ra_scratch(as, rset_exclude(rset_exclude(RSET_GPR,
|
||||
(idx&255)), (idx>>8)));
|
||||
emit_fab(as, PPCI_LFDX, dest, (idx&255), tmp);
|
||||
} else {
|
||||
- emit_fai(as, PPCI_LFD, dest, idx, ofs);
|
||||
+ emit_fai(as, LJ_SOFTFP ? PPCI_LWZ : PPCI_LFD, dest, idx,
|
||||
+ ofs+4*LJ_SOFTFP);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -911,7 +999,7 @@ static void asm_ahustore(ASMState *as, I
|
||||
int32_t ofs = AHUREF_LSX;
|
||||
if (ir->r == RID_SINK)
|
||||
return;
|
||||
- if (irt_isnum(ir->t)) {
|
||||
+ if (!LJ_SOFTFP && irt_isnum(ir->t)) {
|
||||
src = ra_alloc1(as, ir->op2, RSET_FPR);
|
||||
} else {
|
||||
if (!irt_ispri(ir->t)) {
|
||||
@@ -919,11 +1007,14 @@ static void asm_ahustore(ASMState *as, I
|
||||
rset_clear(allow, src);
|
||||
ofs = 0;
|
||||
}
|
||||
- type = ra_allock(as, (int32_t)irt_toitype(ir->t), allow);
|
||||
+ if (LJ_SOFTFP && (ir+1)->o == IR_HIOP)
|
||||
+ type = ra_alloc1(as, (ir+1)->op2, allow);
|
||||
+ else
|
||||
+ type = ra_allock(as, (int32_t)irt_toitype(ir->t), allow);
|
||||
rset_clear(allow, type);
|
||||
}
|
||||
idx = asm_fuseahuref(as, ir->op1, &ofs, allow);
|
||||
- if (irt_isnum(ir->t)) {
|
||||
+ if (!LJ_SOFTFP && irt_isnum(ir->t)) {
|
||||
if (ofs == AHUREF_LSX) {
|
||||
emit_fab(as, PPCI_STFDX, src, (idx&255), RID_TMP);
|
||||
emit_slwi(as, RID_TMP, (idx>>8), 3);
|
||||
@@ -948,21 +1039,33 @@ static void asm_sload(ASMState *as, IRIn
|
||||
IRType1 t = ir->t;
|
||||
Reg dest = RID_NONE, type = RID_NONE, base;
|
||||
RegSet allow = RSET_GPR;
|
||||
+ int hiop = (LJ_SOFTFP && (ir+1)->o == IR_HIOP);
|
||||
+ if (hiop)
|
||||
+ t.irt = IRT_NUM;
|
||||
lua_assert(!(ir->op2 & IRSLOAD_PARENT)); /* Handled by asm_head_side(). */
|
||||
- lua_assert(irt_isguard(t) || !(ir->op2 & IRSLOAD_TYPECHECK));
|
||||
+ lua_assert(irt_isguard(ir->t) || !(ir->op2 & IRSLOAD_TYPECHECK));
|
||||
lua_assert(LJ_DUALNUM ||
|
||||
!irt_isint(t) || (ir->op2 & (IRSLOAD_CONVERT|IRSLOAD_FRAME)));
|
||||
+#if LJ_SOFTFP
|
||||
+ lua_assert(!(ir->op2 & IRSLOAD_CONVERT)); /* Handled by LJ_SOFTFP SPLIT. */
|
||||
+ if (hiop && ra_used(ir+1)) {
|
||||
+ type = ra_dest(as, ir+1, allow);
|
||||
+ rset_clear(allow, type);
|
||||
+ }
|
||||
+#else
|
||||
if ((ir->op2 & IRSLOAD_CONVERT) && irt_isguard(t) && irt_isint(t)) {
|
||||
dest = ra_scratch(as, RSET_FPR);
|
||||
asm_tointg(as, ir, dest);
|
||||
t.irt = IRT_NUM; /* Continue with a regular number type check. */
|
||||
- } else if (ra_used(ir)) {
|
||||
+ } else
|
||||
+#endif
|
||||
+ if (ra_used(ir)) {
|
||||
lua_assert(irt_isnum(t) || irt_isint(t) || irt_isaddr(t));
|
||||
- dest = ra_dest(as, ir, irt_isnum(t) ? RSET_FPR : RSET_GPR);
|
||||
+ dest = ra_dest(as, ir, (!LJ_SOFTFP && irt_isnum(t)) ? RSET_FPR : allow);
|
||||
rset_clear(allow, dest);
|
||||
base = ra_alloc1(as, REF_BASE, allow);
|
||||
rset_clear(allow, base);
|
||||
- if ((ir->op2 & IRSLOAD_CONVERT)) {
|
||||
+ if (!LJ_SOFTFP && (ir->op2 & IRSLOAD_CONVERT)) {
|
||||
if (irt_isint(t)) {
|
||||
emit_tai(as, PPCI_LWZ, dest, RID_SP, SPOFS_TMPLO);
|
||||
dest = ra_scratch(as, RSET_FPR);
|
||||
@@ -994,10 +1097,13 @@ dotypecheck:
|
||||
if ((ir->op2 & IRSLOAD_TYPECHECK)) {
|
||||
Reg tisnum = ra_allock(as, (int32_t)LJ_TISNUM, allow);
|
||||
asm_guardcc(as, CC_GE);
|
||||
- emit_ab(as, PPCI_CMPLW, RID_TMP, tisnum);
|
||||
+#if !LJ_SOFTFP
|
||||
type = RID_TMP;
|
||||
+#endif
|
||||
+ emit_ab(as, PPCI_CMPLW, type, tisnum);
|
||||
}
|
||||
- if (ra_hasreg(dest)) emit_fai(as, PPCI_LFD, dest, base, ofs-4);
|
||||
+ if (ra_hasreg(dest)) emit_fai(as, LJ_SOFTFP ? PPCI_LWZ : PPCI_LFD, dest,
|
||||
+ base, ofs-(LJ_SOFTFP?0:4));
|
||||
} else {
|
||||
if ((ir->op2 & IRSLOAD_TYPECHECK)) {
|
||||
asm_guardcc(as, CC_NE);
|
||||
@@ -1119,6 +1225,7 @@ static void asm_obar(ASMState *as, IRIns
|
||||
|
||||
/* -- Arithmetic and logic operations ------------------------------------- */
|
||||
|
||||
+#if !LJ_SOFTFP
|
||||
static void asm_fparith(ASMState *as, IRIns *ir, PPCIns pi)
|
||||
{
|
||||
Reg dest = ra_dest(as, ir, RSET_FPR);
|
||||
@@ -1146,13 +1253,17 @@ static void asm_fpmath(ASMState *as, IRI
|
||||
else
|
||||
asm_callid(as, ir, IRCALL_lj_vm_floor + ir->op2);
|
||||
}
|
||||
+#endif
|
||||
|
||||
static void asm_add(ASMState *as, IRIns *ir)
|
||||
{
|
||||
+#if !LJ_SOFTFP
|
||||
if (irt_isnum(ir->t)) {
|
||||
if (!asm_fusemadd(as, ir, PPCI_FMADD, PPCI_FMADD))
|
||||
asm_fparith(as, ir, PPCI_FADD);
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
Reg dest = ra_dest(as, ir, RSET_GPR);
|
||||
Reg right, left = ra_hintalloc(as, ir->op1, dest, RSET_GPR);
|
||||
PPCIns pi;
|
||||
@@ -1191,10 +1302,13 @@ static void asm_add(ASMState *as, IRIns
|
||||
|
||||
static void asm_sub(ASMState *as, IRIns *ir)
|
||||
{
|
||||
+#if !LJ_SOFTFP
|
||||
if (irt_isnum(ir->t)) {
|
||||
if (!asm_fusemadd(as, ir, PPCI_FMSUB, PPCI_FNMSUB))
|
||||
asm_fparith(as, ir, PPCI_FSUB);
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
PPCIns pi = PPCI_SUBF;
|
||||
Reg dest = ra_dest(as, ir, RSET_GPR);
|
||||
Reg left, right;
|
||||
@@ -1220,9 +1334,12 @@ static void asm_sub(ASMState *as, IRIns
|
||||
|
||||
static void asm_mul(ASMState *as, IRIns *ir)
|
||||
{
|
||||
+#if !LJ_SOFTFP
|
||||
if (irt_isnum(ir->t)) {
|
||||
asm_fparith(as, ir, PPCI_FMUL);
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
PPCIns pi = PPCI_MULLW;
|
||||
Reg dest = ra_dest(as, ir, RSET_GPR);
|
||||
Reg right, left = ra_hintalloc(as, ir->op1, dest, RSET_GPR);
|
||||
@@ -1250,9 +1367,12 @@ static void asm_mul(ASMState *as, IRIns
|
||||
|
||||
static void asm_neg(ASMState *as, IRIns *ir)
|
||||
{
|
||||
+#if !LJ_SOFTFP
|
||||
if (irt_isnum(ir->t)) {
|
||||
asm_fpunary(as, ir, PPCI_FNEG);
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
Reg dest, left;
|
||||
PPCIns pi = PPCI_NEG;
|
||||
if (as->flagmcp == as->mcp) {
|
||||
@@ -1563,9 +1683,40 @@ static void asm_bitshift(ASMState *as, I
|
||||
PPCI_RLWINM|PPCF_MB(0)|PPCF_ME(31))
|
||||
#define asm_bror(as, ir) lua_assert(0)
|
||||
|
||||
+#if LJ_SOFTFP
|
||||
+static void asm_sfpmin_max(ASMState *as, IRIns *ir)
|
||||
+{
|
||||
+ CCallInfo ci = lj_ir_callinfo[IRCALL_softfp_cmp];
|
||||
+ IRRef args[4];
|
||||
+ MCLabel l_right, l_end;
|
||||
+ Reg desthi = ra_dest(as, ir, RSET_GPR), destlo = ra_dest(as, ir+1, RSET_GPR);
|
||||
+ Reg righthi, lefthi = ra_alloc2(as, ir, RSET_GPR);
|
||||
+ Reg rightlo, leftlo = ra_alloc2(as, ir+1, RSET_GPR);
|
||||
+ PPCCC cond = (IROp)ir->o == IR_MIN ? CC_EQ : CC_NE;
|
||||
+ righthi = (lefthi >> 8); lefthi &= 255;
|
||||
+ rightlo = (leftlo >> 8); leftlo &= 255;
|
||||
+ args[0^LJ_BE] = ir->op1; args[1^LJ_BE] = (ir+1)->op1;
|
||||
+ args[2^LJ_BE] = ir->op2; args[3^LJ_BE] = (ir+1)->op2;
|
||||
+ l_end = emit_label(as);
|
||||
+ if (desthi != righthi) emit_mr(as, desthi, righthi);
|
||||
+ if (destlo != rightlo) emit_mr(as, destlo, rightlo);
|
||||
+ l_right = emit_label(as);
|
||||
+ if (l_end != l_right) emit_jmp(as, l_end);
|
||||
+ if (desthi != lefthi) emit_mr(as, desthi, lefthi);
|
||||
+ if (destlo != leftlo) emit_mr(as, destlo, leftlo);
|
||||
+ if (l_right == as->mcp+1) {
|
||||
+ cond ^= 4; l_right = l_end; ++as->mcp;
|
||||
+ }
|
||||
+ emit_condbranch(as, PPCI_BC, cond, l_right);
|
||||
+ ra_evictset(as, RSET_SCRATCH);
|
||||
+ emit_cmpi(as, RID_RET, 1);
|
||||
+ asm_gencall(as, &ci, args);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static void asm_min_max(ASMState *as, IRIns *ir, int ismax)
|
||||
{
|
||||
- if (irt_isnum(ir->t)) {
|
||||
+ if (!LJ_SOFTFP && irt_isnum(ir->t)) {
|
||||
Reg dest = ra_dest(as, ir, RSET_FPR);
|
||||
Reg tmp = dest;
|
||||
Reg right, left = ra_alloc2(as, ir, RSET_FPR);
|
||||
@@ -1653,7 +1804,7 @@ static void asm_intcomp_(ASMState *as, I
|
||||
static void asm_comp(ASMState *as, IRIns *ir)
|
||||
{
|
||||
PPCCC cc = asm_compmap[ir->o];
|
||||
- if (irt_isnum(ir->t)) {
|
||||
+ if (!LJ_SOFTFP && irt_isnum(ir->t)) {
|
||||
Reg right, left = ra_alloc2(as, ir, RSET_FPR);
|
||||
right = (left >> 8); left &= 255;
|
||||
asm_guardcc(as, (cc >> 4));
|
||||
@@ -1674,6 +1825,44 @@ static void asm_comp(ASMState *as, IRIns
|
||||
|
||||
#define asm_equal(as, ir) asm_comp(as, ir)
|
||||
|
||||
+#if LJ_SOFTFP
|
||||
+/* SFP comparisons. */
|
||||
+static void asm_sfpcomp(ASMState *as, IRIns *ir)
|
||||
+{
|
||||
+ const CCallInfo *ci = &lj_ir_callinfo[IRCALL_softfp_cmp];
|
||||
+ RegSet drop = RSET_SCRATCH;
|
||||
+ Reg r;
|
||||
+ IRRef args[4];
|
||||
+ args[0^LJ_BE] = ir->op1; args[1^LJ_BE] = (ir+1)->op1;
|
||||
+ args[2^LJ_BE] = ir->op2; args[3^LJ_BE] = (ir+1)->op2;
|
||||
+
|
||||
+ for (r = REGARG_FIRSTGPR; r <= REGARG_FIRSTGPR+3; r++) {
|
||||
+ if (!rset_test(as->freeset, r) &&
|
||||
+ regcost_ref(as->cost[r]) == args[r-REGARG_FIRSTGPR])
|
||||
+ rset_clear(drop, r);
|
||||
+ }
|
||||
+ ra_evictset(as, drop);
|
||||
+ asm_setupresult(as, ir, ci);
|
||||
+ switch ((IROp)ir->o) {
|
||||
+ case IR_ULT:
|
||||
+ asm_guardcc(as, CC_EQ);
|
||||
+ emit_ai(as, PPCI_CMPWI, RID_RET, 0);
|
||||
+ case IR_ULE:
|
||||
+ asm_guardcc(as, CC_EQ);
|
||||
+ emit_ai(as, PPCI_CMPWI, RID_RET, 1);
|
||||
+ break;
|
||||
+ case IR_GE: case IR_GT:
|
||||
+ asm_guardcc(as, CC_EQ);
|
||||
+ emit_ai(as, PPCI_CMPWI, RID_RET, 2);
|
||||
+ default:
|
||||
+ asm_guardcc(as, (asm_compmap[ir->o] & 0xf));
|
||||
+ emit_ai(as, PPCI_CMPWI, RID_RET, 0);
|
||||
+ break;
|
||||
+ }
|
||||
+ asm_gencall(as, ci, args);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
#if LJ_HASFFI
|
||||
/* 64 bit integer comparisons. */
|
||||
static void asm_comp64(ASMState *as, IRIns *ir)
|
||||
@@ -1703,19 +1892,36 @@ static void asm_comp64(ASMState *as, IRI
|
||||
/* Hiword op of a split 64 bit op. Previous op must be the loword op. */
|
||||
static void asm_hiop(ASMState *as, IRIns *ir)
|
||||
{
|
||||
-#if LJ_HASFFI
|
||||
+#if LJ_HASFFI || LJ_SOFTFP
|
||||
/* HIOP is marked as a store because it needs its own DCE logic. */
|
||||
int uselo = ra_used(ir-1), usehi = ra_used(ir); /* Loword/hiword used? */
|
||||
if (LJ_UNLIKELY(!(as->flags & JIT_F_OPT_DCE))) uselo = usehi = 1;
|
||||
if ((ir-1)->o == IR_CONV) { /* Conversions to/from 64 bit. */
|
||||
as->curins--; /* Always skip the CONV. */
|
||||
+#if LJ_HASFFI && !LJ_SOFTFP
|
||||
if (usehi || uselo)
|
||||
asm_conv64(as, ir);
|
||||
return;
|
||||
+#endif
|
||||
} else if ((ir-1)->o <= IR_NE) { /* 64 bit integer comparisons. ORDER IR. */
|
||||
as->curins--; /* Always skip the loword comparison. */
|
||||
+#if LJ_SOFTFP
|
||||
+ if (!irt_isint(ir->t)) {
|
||||
+ asm_sfpcomp(as, ir-1);
|
||||
+ return;
|
||||
+ }
|
||||
+#endif
|
||||
+#if LJ_HASFFI
|
||||
asm_comp64(as, ir);
|
||||
+#endif
|
||||
+ return;
|
||||
+#if LJ_SOFTFP
|
||||
+ } else if ((ir-1)->o == IR_MIN || (ir-1)->o == IR_MAX) {
|
||||
+ as->curins--; /* Always skip the loword min/max. */
|
||||
+ if (uselo || usehi)
|
||||
+ asm_sfpmin_max(as, ir-1);
|
||||
return;
|
||||
+#endif
|
||||
} else if ((ir-1)->o == IR_XSTORE) {
|
||||
as->curins--; /* Handle both stores here. */
|
||||
if ((ir-1)->r != RID_SINK) {
|
||||
@@ -1726,14 +1932,27 @@ static void asm_hiop(ASMState *as, IRIns
|
||||
}
|
||||
if (!usehi) return; /* Skip unused hiword op for all remaining ops. */
|
||||
switch ((ir-1)->o) {
|
||||
+#if LJ_HASFFI
|
||||
case IR_ADD: as->curins--; asm_add64(as, ir); break;
|
||||
case IR_SUB: as->curins--; asm_sub64(as, ir); break;
|
||||
case IR_NEG: as->curins--; asm_neg64(as, ir); break;
|
||||
+#endif
|
||||
+#if LJ_SOFTFP
|
||||
+ case IR_SLOAD: case IR_ALOAD: case IR_HLOAD: case IR_ULOAD: case IR_VLOAD:
|
||||
+ case IR_STRTO:
|
||||
+ if (!uselo)
|
||||
+ ra_allocref(as, ir->op1, RSET_GPR); /* Mark lo op as used. */
|
||||
+ break;
|
||||
+#endif
|
||||
case IR_CALLN:
|
||||
+ case IR_CALLS:
|
||||
case IR_CALLXS:
|
||||
if (!uselo)
|
||||
ra_allocref(as, ir->op1, RID2RSET(RID_RETLO)); /* Mark lo op as used. */
|
||||
break;
|
||||
+#if LJ_SOFTFP
|
||||
+ case IR_ASTORE: case IR_HSTORE: case IR_USTORE: case IR_TOSTR:
|
||||
+#endif
|
||||
case IR_CNEWI:
|
||||
/* Nothing to do here. Handled by lo op itself. */
|
||||
break;
|
||||
@@ -1797,8 +2016,19 @@ static void asm_stack_restore(ASMState *
|
||||
if ((sn & SNAP_NORESTORE))
|
||||
continue;
|
||||
if (irt_isnum(ir->t)) {
|
||||
+#if LJ_SOFTFP
|
||||
+ Reg tmp;
|
||||
+ RegSet allow = rset_exclude(RSET_GPR, RID_BASE);
|
||||
+ lua_assert(irref_isk(ref)); /* LJ_SOFTFP: must be a number constant. */
|
||||
+ tmp = ra_allock(as, (int32_t)ir_knum(ir)->u32.lo, allow);
|
||||
+ emit_tai(as, PPCI_STW, tmp, RID_BASE, ofs+(LJ_BE?4:0));
|
||||
+ if (rset_test(as->freeset, tmp+1)) allow = RID2RSET(tmp+1);
|
||||
+ tmp = ra_allock(as, (int32_t)ir_knum(ir)->u32.hi, allow);
|
||||
+ emit_tai(as, PPCI_STW, tmp, RID_BASE, ofs+(LJ_BE?0:4));
|
||||
+#else
|
||||
Reg src = ra_alloc1(as, ref, RSET_FPR);
|
||||
emit_fai(as, PPCI_STFD, src, RID_BASE, ofs);
|
||||
+#endif
|
||||
} else {
|
||||
Reg type;
|
||||
RegSet allow = rset_exclude(RSET_GPR, RID_BASE);
|
||||
@@ -1811,6 +2041,10 @@ static void asm_stack_restore(ASMState *
|
||||
if ((sn & (SNAP_CONT|SNAP_FRAME))) {
|
||||
if (s == 0) continue; /* Do not overwrite link to previous frame. */
|
||||
type = ra_allock(as, (int32_t)(*flinks--), allow);
|
||||
+#if LJ_SOFTFP
|
||||
+ } else if ((sn & SNAP_SOFTFPNUM)) {
|
||||
+ type = ra_alloc1(as, ref+1, rset_exclude(RSET_GPR, RID_BASE));
|
||||
+#endif
|
||||
} else {
|
||||
type = ra_allock(as, (int32_t)irt_toitype(ir->t), allow);
|
||||
}
|
||||
@@ -1947,14 +2181,15 @@ static Reg asm_setup_call_slots(ASMState
|
||||
int nslots = 2, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR;
|
||||
asm_collectargs(as, ir, ci, args);
|
||||
for (i = 0; i < nargs; i++)
|
||||
- if (args[i] && irt_isfp(IR(args[i])->t)) {
|
||||
+ if (!LJ_SOFTFP && args[i] && irt_isfp(IR(args[i])->t)) {
|
||||
if (nfpr > 0) nfpr--; else nslots = (nslots+3) & ~1;
|
||||
} else {
|
||||
if (ngpr > 0) ngpr--; else nslots++;
|
||||
}
|
||||
if (nslots > as->evenspill) /* Leave room for args in stack slots. */
|
||||
as->evenspill = nslots;
|
||||
- return irt_isfp(ir->t) ? REGSP_HINT(RID_FPRET) : REGSP_HINT(RID_RET);
|
||||
+ return (!LJ_SOFTFP && irt_isfp(ir->t)) ? REGSP_HINT(RID_FPRET) :
|
||||
+ REGSP_HINT(RID_RET);
|
||||
}
|
||||
|
||||
static void asm_setup_target(ASMState *as)
|
||||
112
lang/lua/luajit/patches/060-ppc-musl.patch
Normal file
112
lang/lua/luajit/patches/060-ppc-musl.patch
Normal file
@@ -0,0 +1,112 @@
|
||||
From 195e0be62c0aa0f6aaf63a93ee322bb0a630576c Mon Sep 17 00:00:00 2001
|
||||
From: Clint Bland <bland.cr@gmail.com>
|
||||
Date: Wed, 13 Mar 2019 19:19:16 -0700
|
||||
Subject: [PATCH] Have powerpc use fake GOT like MIPS
|
||||
|
||||
---
|
||||
src/lj_dispatch.c | 15 +++++++++++++++
|
||||
src/lj_dispatch.h | 29 ++++++++++++++++++++++++++++-
|
||||
src/vm_ppc.dasc | 9 ++++++++-
|
||||
3 files changed, 51 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/src/lj_dispatch.c
|
||||
+++ b/src/lj_dispatch.c
|
||||
@@ -56,6 +56,18 @@ static const ASMFunction dispatch_got[]
|
||||
#undef GOTFUNC
|
||||
#endif
|
||||
|
||||
+#if LJ_TARGET_PPC
|
||||
+#include <math.h>
|
||||
+LJ_FUNCA_NORET void LJ_FASTCALL lj_ffh_coroutine_wrap_err(lua_State *L,
|
||||
+ lua_State *co);
|
||||
+
|
||||
+#define GOTFUNC(name) (ASMFunction)name,
|
||||
+static const ASMFunction dispatch_got[] = {
|
||||
+ GOTDEF(GOTFUNC)
|
||||
+};
|
||||
+#undef GOTFUNC
|
||||
+#endif
|
||||
+
|
||||
/* Initialize instruction dispatch table and hot counters. */
|
||||
void lj_dispatch_init(GG_State *GG)
|
||||
{
|
||||
@@ -77,6 +89,9 @@ void lj_dispatch_init(GG_State *GG)
|
||||
#if LJ_TARGET_MIPS
|
||||
memcpy(GG->got, dispatch_got, LJ_GOT__MAX*sizeof(ASMFunction *));
|
||||
#endif
|
||||
+#if LJ_TARGET_PPC
|
||||
+ memcpy(GG->got, dispatch_got, LJ_GOT__MAX*4);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#if LJ_HASJIT
|
||||
--- a/src/lj_dispatch.h
|
||||
+++ b/src/lj_dispatch.h
|
||||
@@ -66,6 +66,33 @@ GOTDEF(GOTENUM)
|
||||
};
|
||||
#endif
|
||||
|
||||
+#if LJ_TARGET_PPC
|
||||
+/* Need our own global offset table for the dreaded MIPS calling conventions. */
|
||||
+#if LJ_SOFTFP
|
||||
+#ifndef _LJ_IRCALL_H
|
||||
+extern double __ledf2(double a, double b);
|
||||
+extern double __adddf3(double a, double b);
|
||||
+extern double __subdf3(double a, double b);
|
||||
+extern double __muldf3(double a, double b);
|
||||
+extern double __divdf3(double a, double b);
|
||||
+#endif
|
||||
+#define SFGOTDEF(_) _(__ledf2) _(__adddf3) _(__subdf3) _(__muldf3) _(__divdf3)
|
||||
+#else
|
||||
+#define SFGOTDEF(_)
|
||||
+#endif
|
||||
+#define GOTDEF(_) \
|
||||
+ _(floor) _(ceil) _(trunc) _(log) _(log10) _(exp) _(sin) _(cos) _(tan) \
|
||||
+ _(asin) _(acos) _(atan) _(sinh) _(cosh) _(tanh) _(frexp) _(modf) _(atan2) \
|
||||
+ _(pow) _(fmod) _(ldexp) _(sqrt) SFGOTDEF(_)
|
||||
+
|
||||
+enum {
|
||||
+#define GOTENUM(name) LJ_GOT_##name,
|
||||
+GOTDEF(GOTENUM)
|
||||
+#undef GOTENUM
|
||||
+ LJ_GOT__MAX
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
/* Type of hot counter. Must match the code in the assembler VM. */
|
||||
/* 16 bits are sufficient. Only 0.0015% overhead with maximum slot penalty. */
|
||||
typedef uint16_t HotCount;
|
||||
@@ -89,7 +116,7 @@ typedef uint16_t HotCount;
|
||||
typedef struct GG_State {
|
||||
lua_State L; /* Main thread. */
|
||||
global_State g; /* Global state. */
|
||||
-#if LJ_TARGET_MIPS
|
||||
+#if LJ_TARGET_MIPS || LJ_TARGET_PPC
|
||||
ASMFunction got[LJ_GOT__MAX]; /* Global offset table. */
|
||||
#endif
|
||||
#if LJ_HASJIT
|
||||
--- a/src/vm_ppc.dasc
|
||||
+++ b/src/vm_ppc.dasc
|
||||
@@ -59,7 +59,12 @@
|
||||
|.define ENV_OFS, 8
|
||||
|.endif
|
||||
|.else // No TOC.
|
||||
-|.macro blex, target; bl extern target@plt; .endmacro
|
||||
+|.macro blex, target
|
||||
+| lwz TMP0, DISPATCH_GOT(target)(DISPATCH)
|
||||
+| mtctr TMP0
|
||||
+| bctrl
|
||||
+| //bl extern target@plt
|
||||
+|.endmacro
|
||||
|.macro .toc, a, b; .endmacro
|
||||
|.endif
|
||||
|.macro .tocenv, a, b; .if TOCENV; a, b; .endif; .endmacro
|
||||
@@ -482,6 +487,8 @@
|
||||
|// Assumes DISPATCH is relative to GL.
|
||||
#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
|
||||
#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
|
||||
+#define GG_DISP2GOT (GG_OFS(got) - GG_OFS(dispatch))
|
||||
+#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
|
||||
|
|
||||
#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
|
||||
|
|
||||
@@ -0,0 +1,58 @@
|
||||
From 2c8b9d5807a515a0ff859899065f512beabcbaed Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C5=A0imon=20Bo=C5=99ek?= <simon.borek@nic.cz>
|
||||
Date: Sat, 16 Jul 2022 18:39:55 +0200
|
||||
Subject: [PATCH] PPC/e500 with SPE enabled: use soft float instead of failing
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This allows building LuaJit for systems with Power ISA SPE
|
||||
extension[^1] support by using soft float on LuaJit side.
|
||||
|
||||
While e500 CPU cores support SPE instruction set extension
|
||||
allowing them to perform floating point arithmetic natively,
|
||||
this isn't required. They can function with software floating
|
||||
point to integer arithmetic translation as well,
|
||||
just like FPU-less PowerPC CPUs without SPE support.
|
||||
|
||||
Therefore I see no need to prevent them from running LuaJit
|
||||
explicitly.
|
||||
|
||||
[^1]: https://www.nxp.com/docs/en/reference-manual/SPEPEM.pdf
|
||||
|
||||
Signed-off-by: Pali Rohár <pali@kernel.org>
|
||||
Signed-off-by: Šimon Bořek <simon.borek@nic.cz>
|
||||
---
|
||||
src/lj_arch.h | 7 ++-----
|
||||
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/src/lj_arch.h
|
||||
+++ b/src/lj_arch.h
|
||||
@@ -256,7 +256,7 @@
|
||||
#define LJ_ARCH_NAME "ppc"
|
||||
|
||||
#if !defined(LJ_ARCH_HASFPU)
|
||||
-#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
|
||||
+#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE) || defined(__NO_FPRS__)
|
||||
#define LJ_ARCH_HASFPU 0
|
||||
#else
|
||||
#define LJ_ARCH_HASFPU 1
|
||||
@@ -264,7 +264,7 @@
|
||||
#endif
|
||||
|
||||
#if !defined(LJ_ABI_SOFTFP)
|
||||
-#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
|
||||
+#if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE) || defined(__NO_FPRS__)
|
||||
#define LJ_ABI_SOFTFP 1
|
||||
#else
|
||||
#define LJ_ABI_SOFTFP 0
|
||||
@@ -442,9 +442,6 @@
|
||||
#if LJ_ARCH_PPC64
|
||||
#error "No support for PowerPC 64 bit mode (yet)"
|
||||
#endif
|
||||
-#if defined(__NO_FPRS__) && !defined(_SOFT_FLOAT)
|
||||
-#error "No support for PPC/e500 anymore (use LuaJIT 2.0)"
|
||||
-#endif
|
||||
#elif LJ_TARGET_MIPS32
|
||||
#if !((defined(_MIPS_SIM_ABI32) && _MIPS_SIM == _MIPS_SIM_ABI32) || (defined(_ABIO32) && _MIPS_SIM == _ABIO32))
|
||||
#error "Only o32 ABI supported for MIPS32"
|
||||
97
lang/lua/luajit2/Makefile
Normal file
97
lang/lua/luajit2/Makefile
Normal file
@@ -0,0 +1,97 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luajit2
|
||||
PKG_SOURCE_DATE:=2025-10-30
|
||||
PKG_VERSION:=2.1.$(subst -,.,$(PKG_SOURCE_DATE))
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/openresty/luajit2
|
||||
PKG_MIRROR_HASH:=7b986a40ef091df5168eaa8b2012d3a95110fafeb69a7c199e3fca9795bae631
|
||||
PKG_SOURCE_VERSION:=71fae383f6c4637d64b03a6d0ec76ae8c19d6821
|
||||
|
||||
PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
|
||||
PKG_BUILD_FLAGS:=no-mips16
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
# HAS_LUAJIT_ARCH config is defined in luajit and is used to define
|
||||
# arch deoendency for luajit. Since luajit2 is an improved version of
|
||||
# luajit, they share the same arch dependency. Refer there to update
|
||||
# dependency for them.
|
||||
define Package/luajit2
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Lua
|
||||
TITLE:=LuaJIT from OpenResty
|
||||
URL:=https://www.luajit.org
|
||||
DEPENDS:=@HAS_LUAJIT_ARCH
|
||||
PROVIDES:=luajit
|
||||
endef
|
||||
|
||||
define Package/luajit2/description
|
||||
OpenResty's maintained branch of LuaJIT, a Just-In-Time (JIT) compiler for the Lua programming language
|
||||
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 $(PKG_BUILD_DIR) \
|
||||
HOST_CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_BITS)" \
|
||||
CROSS="$(TARGET_CROSS)" \
|
||||
DESTDIR=$(PKG_INSTALL_DIR) \
|
||||
PREFIX=/usr \
|
||||
TARGET_SYS=Linux \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
BUILDMODE=dynamic
|
||||
$(RM) -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
DESTDIR=$(PKG_INSTALL_DIR) \
|
||||
PREFIX=/usr \
|
||||
TARGET_SYS=Linux \
|
||||
install
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/luajit-2.1
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/luajit-2.1/*.{h,hpp} $(1)/usr/include/luajit-2.1
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*so* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/luajit.pc $(1)/usr/lib/pkgconfig/
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/luajit-* $(1)/usr/bin/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
define Package/luajit2/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/luajit-* $(1)/usr/bin/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
|
||||
DPREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
TARGET_CFLAGS="$(HOST_CFLAGS)" \
|
||||
TARGET_LDFLAGS="$(HOST_LDFLAGS)"
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
|
||||
DPREFIX=$(STAGING_DIR_HOSTPKG) \
|
||||
install
|
||||
$(CP) $(STAGING_DIR_HOSTPKG)/bin/luajit-* $(STAGING_DIR_HOSTPKG)/bin/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild,luajit2))
|
||||
$(eval $(call BuildPackage,luajit2))
|
||||
13
lang/lua/luajit2/patches/010-lua-path.patch
Normal file
13
lang/lua/luajit2/patches/010-lua-path.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- a/src/luaconf.h
|
||||
+++ b/src/luaconf.h
|
||||
@@ -34,8 +34,8 @@
|
||||
#ifndef LUA_LMULTILIB
|
||||
#define LUA_LMULTILIB "lib"
|
||||
#endif
|
||||
-#define LUA_LROOT "/usr/local"
|
||||
-#define LUA_LUADIR "/lua/5.1/"
|
||||
+#define LUA_LROOT "/usr"
|
||||
+#define LUA_LUADIR "/lua/"
|
||||
|
||||
#ifdef LUA_ROOT
|
||||
#define LUA_JROOT LUA_ROOT
|
||||
57
lang/lua/lualanes/Makefile
Normal file
57
lang/lua/lualanes/Makefile
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Copyright (C) 2007-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lualanes
|
||||
PKG_VERSION:=3.16.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/LuaLanes/lanes/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=22cfa836de4be14fe588b9cd34e936d6f61ec6f4096d8ae30d4ec35855d9608f
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/lanes-$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Vladimir Malyutin <first-leon@yandex.ru>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
|
||||
PKG_BUILD_DEPENDS:=lua/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lualanes
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LuaLanes
|
||||
URL:=http://lualanes.github.io/lanes/
|
||||
DEPENDS:=+lua +luac +liblua +libpthread
|
||||
endef
|
||||
|
||||
define Package/lualanes/description
|
||||
Lua Lanes is a Lua extension library providing the possibility to run
|
||||
multiple Lua states in parallel. It is intended to be used for optimizing
|
||||
performance on multicore CPU's and to study ways to make Lua programs
|
||||
naturally parallel to begin with.
|
||||
|
||||
Lanes is included into your software by the regular require "lanes" method.
|
||||
No C side programming is needed; all APIs are Lua side, and most existing
|
||||
extension modules should work seamlessly together with the multiple lanes.
|
||||
|
||||
Lanes supports Lua 5.1, 5.2 and 5.3
|
||||
endef
|
||||
|
||||
define Package/lualanes/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/lua/lmod/lanes.lua $(1)/usr/lib/lua/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/lanes
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/lua/cmod/core.so $(1)/usr/lib/lua/lanes/core.so
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lualanes))
|
||||
112
lang/lua/luaossl/Makefile
Normal file
112
lang/lua/luaossl/Makefile
Normal file
@@ -0,0 +1,112 @@
|
||||
#
|
||||
# Copyright (C) 2021 Siger Yang <siger.yang@outlook.com>
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luaossl
|
||||
PKG_VERSION:=20220711
|
||||
PKG_RELEASE:=2
|
||||
PKG_MAINTAINER:=Siger Yang <siger.yang@outlook.com>
|
||||
|
||||
PKG_MIRROR_HASH:=7abb1070da36906f9ef310af1a12827543bb5de4bbe239068420fd8b3e3858d2
|
||||
PKG_SOURCE_URL:=https://github.com/wahern/luaossl.git
|
||||
PKG_SOURCE_VERSION:=rel-$(PKG_VERSION)
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luaossl/default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Comprehensive binding to OpenSSL for $(1)
|
||||
URL:=http://25thandclement.com/~william/projects/luaossl.html
|
||||
DEPENDS:=+libopenssl
|
||||
endef
|
||||
|
||||
define Package/luaossl/default/description
|
||||
luaossl is a comprehensive binding to OpenSSL for Lua 5.1, 5.2, and
|
||||
later. It includes support for certificate and key management, key
|
||||
generation, signature verification, and deep bindings to the
|
||||
distinguished name, alternative name, and X.509v3 extension interfaces.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
TARGET_LDFLAGS += $(FPIC)
|
||||
|
||||
define Package/luaossl
|
||||
$(call Package/luaossl/default,lua5.1)
|
||||
DEPENDS+=+liblua
|
||||
VARIANT:=lua51
|
||||
endef
|
||||
define Package/luaossl-lua5.3
|
||||
$(call Package/luaossl/default,lua5.3)
|
||||
DEPENDS+=+liblua5.3
|
||||
VARIANT:=lua53
|
||||
endef
|
||||
define Package/luaossl-lua5.4
|
||||
$(call Package/luaossl/default,lua5.4)
|
||||
DEPENDS+=+liblua5.4
|
||||
VARIANT:=lua54
|
||||
endef
|
||||
|
||||
Package/luaossl/description = $(Package/luaossl/default/description)
|
||||
Package/luaossl-lua5.3/description = $(Package/luaossl/default/description)
|
||||
Package/luaossl-lua5.4/description = $(Package/luaossl/default/description)
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua51)
|
||||
MAKE_FLAGS += \
|
||||
LUA_APIS="5.1" \
|
||||
LUA51_CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
|
||||
lua51cpath="/usr/lib/lua" \
|
||||
lua51path="/usr/lib/lua"
|
||||
endif
|
||||
ifeq ($(BUILD_VARIANT),lua53)
|
||||
MAKE_FLAGS += \
|
||||
LUA_APIS="5.3" \
|
||||
LUA53_CPPFLAGS="-I$(STAGING_DIR)/usr/include/lua5.3" \
|
||||
lua53cpath="/usr/local/lib/lua/5.3" \
|
||||
lua53path="/usr/local/lib/lua/5.3"
|
||||
endif
|
||||
ifeq ($(BUILD_VARIANT),lua54)
|
||||
MAKE_FLAGS += \
|
||||
LUA_APIS="5.4" \
|
||||
LUA54_CPPFLAGS="-I$(STAGING_DIR)/usr/include/lua5.4" \
|
||||
lua54cpath="/usr/local/lib/lua/5.4" \
|
||||
lua54path="/usr/local/lib/lua/5.4"
|
||||
endif
|
||||
|
||||
define Package/luaossl/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/_openssl.so $(1)/usr/lib/lua/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/openssl.lua $(1)/usr/lib/lua/
|
||||
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lua/openssl $(1)/usr/lib/lua/
|
||||
endef
|
||||
define Package/luaossl-lua5.3/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.3
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.3/_openssl.so $(1)/usr/local/lib/lua/5.3/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.3/openssl.lua $(1)/usr/local/lib/lua/5.3/
|
||||
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.3/openssl $(1)/usr/local/lib/lua/5.3/
|
||||
endef
|
||||
define Package/luaossl-lua5.4/install
|
||||
$(INSTALL_DIR) $(1)/usr/local/lib/lua/5.4
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.4/_openssl.so $(1)/usr/local/lib/lua/5.4/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.4/openssl.lua $(1)/usr/local/lib/lua/5.4/
|
||||
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/local/lib/lua/5.4/openssl $(1)/usr/local/lib/lua/5.4/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luaossl))
|
||||
$(eval $(call BuildPackage,luaossl-lua5.3))
|
||||
$(eval $(call BuildPackage,luaossl-lua5.4))
|
||||
15
lang/lua/luaossl/patches/900_fix_build_on_macos.patch
Normal file
15
lang/lua/luaossl/patches/900_fix_build_on_macos.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
commit 8686cae32fc04045c1404c2febf84242c298bf0d
|
||||
Author: Sergey V. Lobanov <sergey@lobanov.in>
|
||||
Date: Fri Jan 7 23:00:03 2022 +0300
|
||||
|
||||
fix build on macos
|
||||
|
||||
OpenWrt is always Linux. Disable OS detection
|
||||
|
||||
--- a/mk/vendor.os
|
||||
+++ b/mk/vendor.os
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
-uname -s
|
||||
+echo Linux
|
||||
65
lang/lua/luaposix/Makefile
Normal file
65
lang/lua/luaposix/Makefile
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luaposix
|
||||
PKG_VERSION:=36.3
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_HASH:=82cd9a96c41a4a3205c050206f0564ff4456f773a8f9ffc9235ff8f1907ca5e6
|
||||
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_BUILD_DEPENDS:=luarocks/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luaposix
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=POSIX binding for LuaJIT, Lua 5.1, 5.2 and 5.3
|
||||
URL:=https://github.com/luaposix/luaposix
|
||||
DEPENDS:= +USE_GLIBC:libcrypt-compat +lua +lua-bit32
|
||||
endef
|
||||
|
||||
define Package/luaposix/description
|
||||
luaposix is a general POSIX library for Lua providing access
|
||||
to various low level libc functions.
|
||||
endef
|
||||
|
||||
TARGET_PATH_PKG:=$(CURDIR)/scripts:$(TARGET_PATH_PKG)
|
||||
|
||||
TARGET_CFLAGS += \
|
||||
-I$(STAGING_DIR)/usr/include
|
||||
|
||||
define Build/Compile
|
||||
cd $(PKG_BUILD_DIR) && \
|
||||
LDFLAGS="$(TARGET_LDFLAGS) $(FPIC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
|
||||
CC="$(TARGET_CC)" LD="$(TARGET_CC)" \
|
||||
LUA_PKGNAME=lua5.1 \
|
||||
LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
|
||||
luarocks make --force --deps-mode=none --pack-binary-rock luaposix-$(PKG_VERSION)-1.rockspec \
|
||||
LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
|
||||
LUA_PKGNAME=lua5.1 \
|
||||
CC="$(TARGET_CC)" LD="$(TARGET_CC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)"
|
||||
endef
|
||||
|
||||
define Package/luaposix/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/posix/sys
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/linux/posix/*.so $(1)/usr/lib/lua/posix/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/linux/posix/sys/*.so $(1)/usr/lib/lua/posix/sys/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/posix/*.lua $(1)/usr/lib/lua/posix/
|
||||
rm -f $(1)/usr/lib/lua/posix/{deprecated,compat}.lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luaposix))
|
||||
@@ -0,0 +1,17 @@
|
||||
--- a/lib/posix/init.lua
|
||||
+++ b/lib/posix/init.lua
|
||||
@@ -437,14 +437,6 @@ do
|
||||
end
|
||||
end
|
||||
|
||||
- -- Inject deprecated APIs (overwriting submodules) for backwards compatibility.
|
||||
- for k, v in next, (require 'posix.deprecated') do
|
||||
- rawset(M, k, v)
|
||||
- end
|
||||
- for k, v in next, (require 'posix.compat') do
|
||||
- rawset(M, k, v)
|
||||
- end
|
||||
-
|
||||
--- Metamethods
|
||||
-- @section metamethods
|
||||
|
||||
2
lang/lua/luaposix/scripts/uname
Executable file
2
lang/lua/luaposix/scripts/uname
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
echo Linux
|
||||
89
lang/lua/luarocks/Makefile
Normal file
89
lang/lua/luarocks/Makefile
Normal file
@@ -0,0 +1,89 @@
|
||||
#
|
||||
# Copyright (C) 2006-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luarocks
|
||||
PKG_VERSION:=2.2.2
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/keplerproject/luarocks
|
||||
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
||||
PKG_MIRROR_HASH:=9b2f880e0ff57a0d7e3a9d8d5365c73e6f546891bc39d2c6ef4c3443a8ca4b45
|
||||
|
||||
PKG_MAINTAINER:=Amr Hassan <amr.hassan@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=lua/host
|
||||
HOST_BUILD_DEPENDS:=$(PKG_BUILD_DEPENDS)
|
||||
HOST_BUILD_PARALLEL:=1
|
||||
|
||||
HOST_BUILD_PREFIX:=$(STAGING_DIR)/host
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR)/host/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luarocks
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=luarocks
|
||||
URL:=https://github.com/keplerproject/luarocks
|
||||
DEPENDS:=+lua +luac +liblua +luasocket +unzip +curl +luasec
|
||||
endef
|
||||
|
||||
define Package/luarocks/description
|
||||
LuaRocks is a deployment and management system for Lua modules.
|
||||
endef
|
||||
|
||||
# My custom args, copied and modified from SDK_ROOT/include/package-defaults.mk
|
||||
CONFIGURE_ARGS = \
|
||||
--prefix=$(CONFIGURE_PREFIX) \
|
||||
--sysconfdir=/etc \
|
||||
--with-lua=$(STAGING_DIR_HOSTPKG)
|
||||
|
||||
HOST_CONFIGURE_ARGS= \
|
||||
--prefix=$(STAGING_DIR)/host \
|
||||
--sysconfdir=$(STAGING_DIR)/host/etc \
|
||||
--with-lua=$(STAGING_DIR_HOSTPKG)
|
||||
|
||||
CONFIGURE_VARS = \
|
||||
LUAROCKS_UNAME_S="Linux" \
|
||||
LUAROCKS_UNAME_M="$(ARCH)"
|
||||
|
||||
HOST_CONFIGURE_VARS = \
|
||||
LUAROCKS_UNAME_S="Linux" \
|
||||
LUAROCKS_UNAME_M="$(ARCH)"
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,build)
|
||||
endef
|
||||
|
||||
define Host/Compile
|
||||
$(call Host/Compile/Default,build)
|
||||
endef
|
||||
|
||||
define Package/luarocks/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luarocks-5.1 $(1)/usr/bin/luarocks
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luarocks-admin-5.1 $(1)/usr/bin/luarocks-admin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/share $(1)/usr/share
|
||||
$(CP) $(PKG_INSTALL_DIR)/etc $(1)/etc
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) install
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luarocks))
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
11
lang/lua/luarocks/patches/01_dont_modify_bin_shebang.diff
Normal file
11
lang/lua/luarocks/patches/01_dont_modify_bin_shebang.diff
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -89,7 +89,7 @@ build_bins: cleanup_bins
|
||||
for f in $(BIN_FILES) ;\
|
||||
do \
|
||||
sed "1d" src/bin/$$f > src/bin/$$f.bak ;\
|
||||
- echo "#!$(LUA_BINDIR)/lua$(LUA_SUFFIX)" > src/bin/$$f ;\
|
||||
+ echo "#!/usr/bin/env lua5.1" > src/bin/$$f ;\
|
||||
echo "package.path = [[$(LUADIR)/?.lua;]]..package.path" | sed "s,//,/,g" >> src/bin/$$f ;\
|
||||
cat src/bin/$$f.bak >> src/bin/$$f ;\
|
||||
chmod +x src/bin/$$f ;\
|
||||
@@ -0,0 +1,35 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -388,18 +388,22 @@ then
|
||||
fi
|
||||
|
||||
echo_n "Configuring for system... "
|
||||
-if uname -s
|
||||
-then
|
||||
- LUAROCKS_UNAME_S=`uname -s`
|
||||
-else
|
||||
- die "Could not determine operating system. 'uname -s' failed."
|
||||
+if [ -z "$LUAROCKS_UNAME_S" ]; then
|
||||
+ if uname -s
|
||||
+ then
|
||||
+ LUAROCKS_UNAME_S=`uname -s`
|
||||
+ else
|
||||
+ die "Could not determine operating system. 'uname -s' failed."
|
||||
+ fi
|
||||
fi
|
||||
echo_n "Configuring for architecture... "
|
||||
-if uname -m
|
||||
-then
|
||||
- LUAROCKS_UNAME_M=`uname -m`
|
||||
-else
|
||||
- die "Could not determine processor architecture. 'uname -m' failed."
|
||||
+if [ -z "$LUAROCKS_UNAME_M" ]; then
|
||||
+ if uname -m
|
||||
+ then
|
||||
+ LUAROCKS_UNAME_M=`uname -m`
|
||||
+ else
|
||||
+ die "Could not determine processor architecture. 'uname -m' failed."
|
||||
+ fi
|
||||
fi
|
||||
|
||||
for v in 5.1 5.2 5.3; do
|
||||
65
lang/lua/luasec/Makefile
Normal file
65
lang/lua/luasec/Makefile
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# Copyright (C) 2009-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luasec
|
||||
PKG_VERSION:=1.3.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/brunoos/luasec/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=97293092ba385ab390decb6678bc8cbeffd5899bfbc49eb7ef4aa00f5e31c3d4
|
||||
|
||||
MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luasec
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LuaSec
|
||||
URL:=https://github.com/brunoos/luasec
|
||||
DEPENDS:=+lua +libopenssl +luasocket
|
||||
endef
|
||||
|
||||
define Package/luasec/description
|
||||
LuaSec is a binding for OpenSSL library to provide TLS/SSL communication.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
TARGET_LDFLAGS += $(FPIC)
|
||||
|
||||
MAKE_FLAGS += \
|
||||
LD="$(TARGET_CC)" \
|
||||
INC_PATH="" \
|
||||
LIB_PATH="" \
|
||||
LUACPATH="$(PKG_INSTALL_DIR)/usr/lib/lua" \
|
||||
LUAPATH="$(PKG_INSTALL_DIR)/usr/lib/lua"
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default,linux)
|
||||
endef
|
||||
|
||||
define Package/luasec/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/ssl.so $(1)/usr/lib/lua/
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/ssl.lua $(1)/usr/lib/lua/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/ssl
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/ssl/https.lua $(1)/usr/lib/lua/ssl/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luasec))
|
||||
28
lang/lua/luasec/patches/100-fix-compilation.patch
Normal file
28
lang/lua/luasec/patches/100-fix-compilation.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -16,8 +16,8 @@ WARN=-Wall -pedantic
|
||||
BSD_CFLAGS=-O2 -fPIC $(WARN) $(INCDIR) $(DEFS)
|
||||
BSD_LDFLAGS=-O -fPIC -shared $(LIBDIR)
|
||||
|
||||
-LNX_CFLAGS=-O2 -fPIC $(WARN) $(INCDIR) $(DEFS)
|
||||
-LNX_LDFLAGS=-O -fPIC -shared $(LIBDIR)
|
||||
+LNX_CFLAGS=$(INCDIR) $(DEFS)
|
||||
+LNX_LDFLAGS=-shared $(LIBDIR)
|
||||
|
||||
MAC_ENV=env MACOSX_DEPLOYMENT_TARGET='$(MACVER)'
|
||||
MAC_CFLAGS=-O2 -fno-common $(WARN) $(INCDIR) $(DEFS)
|
||||
@@ -34,10 +34,10 @@ LDFLAGS += $(MYLDFLAGS)
|
||||
all:
|
||||
|
||||
install: $(CMOD) $(LMOD)
|
||||
- $(INSTALL) -d $(DESTDIR)$(LUAPATH)/ssl $(DESTDIR)$(LUACPATH)
|
||||
- $(INSTALL) $(CMOD) $(DESTDIR)$(LUACPATH)
|
||||
- $(INSTALL) -m644 $(LMOD) $(DESTDIR)$(LUAPATH)
|
||||
- $(INSTALL) -m644 https.lua $(DESTDIR)$(LUAPATH)/ssl
|
||||
+ $(INSTALL) -d $(LUAPATH)/ssl $(LUACPATH)
|
||||
+ $(INSTALL) $(CMOD) $(LUACPATH)
|
||||
+ $(INSTALL) -m644 $(LMOD) $(LUAPATH)
|
||||
+ $(INSTALL) -m644 https.lua $(LUAPATH)/ssl
|
||||
|
||||
linux:
|
||||
@$(MAKE) $(CMOD) MYCFLAGS="$(LNX_CFLAGS)" MYLDFLAGS="$(LNX_LDFLAGS)" EXTRA="$(EXTRA)"
|
||||
53
lang/lua/luasoap/Makefile
Normal file
53
lang/lua/luasoap/Makefile
Normal file
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Copyright (C) 2011 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luasoap
|
||||
PKG_VERSION:=4.0.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/tomasguisasola/luasoap
|
||||
PKG_SOURCE_VERSION:=$(PKG_VERSION)
|
||||
PKG_MIRROR_HASH:=ecd82fe9d7c62c6870f042ba65ce57054d68193779af9461cb4d95b83983bf80
|
||||
|
||||
PKG_MAINTAINER:=Liu Peng <pengliu@credosemi.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luasoap
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=LuaSOAP
|
||||
URL:=https://github.com/tomasguisasola/luasoap
|
||||
DEPENDS:=+lua +luaexpat +luasec +luasocket
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/luasoap/description
|
||||
LuaSOAP is a library of functions to deal with SOAP.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/luasoap/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/soap.lua $(1)/usr/lib/lua/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/soap
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/{client,server}.lua $(1)/usr/lib/lua/soap/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/soap/tests
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/tests/test{,-http,-server,-wsdl}.lua $(1)/usr/lib/lua/soap/tests/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,luasoap))
|
||||
100
lang/lua/luasocket/Makefile
Normal file
100
lang/lua/luasocket/Makefile
Normal file
@@ -0,0 +1,100 @@
|
||||
#
|
||||
# Copyright (C) 2009-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luasocket
|
||||
PKG_VERSION:=3.1.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=https://github.com/lunarmodules/luasocket
|
||||
PKG_MIRROR_HASH:=1ee81f1f5a63d0d14c8c8571e8940604cbf1443c3b18ee7d3d1bac6791f853fc
|
||||
|
||||
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luasocket/default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
URL:=http://w3.impa.br/~diego/software/luasocket
|
||||
endef
|
||||
|
||||
define Package/luasocket
|
||||
$(Package/luasocket/default)
|
||||
TITLE:=LuaSocket
|
||||
DEPENDS:=+lua
|
||||
VARIANT:=lua-51
|
||||
DEFAULT_VARIANT:=1
|
||||
endef
|
||||
|
||||
define Package/luasocket5.3
|
||||
$(Package/luasocket/default)
|
||||
TITLE:=LuaSocket 5.3
|
||||
DEPENDS:=+liblua5.3
|
||||
VARIANT:=lua-53
|
||||
endef
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua-51)
|
||||
LUA_VERSION=5.1
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),lua-53)
|
||||
LUA_VERSION=5.3
|
||||
endif
|
||||
|
||||
|
||||
define Package/luasocket/default/description
|
||||
LuaSocket is the most comprehensive networking support
|
||||
library for the Lua language. It provides easy access to
|
||||
TCP, UDP, DNS, SMTP, FTP, HTTP, MIME and much more.
|
||||
endef
|
||||
Package/luasocket/description = $(Package/luasocket/default/description)
|
||||
Package/luasocket5.3/description = $(Package/luasocket/default/description)
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/ \
|
||||
LIBDIR="$(TARGET_LDFLAGS)" \
|
||||
CC="$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
|
||||
LD="$(TARGET_CROSS)ld -shared" \
|
||||
LUAV=$(LUA_VERSION) LUAINC_linux_base=$(STAGING_DIR)/usr/include \
|
||||
all
|
||||
endef
|
||||
|
||||
define Package/luasocket/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/{ltn12,mime,socket}.lua $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/mime-1.0.3.so $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/socket-3.0.0.so $(1)/usr/lib/lua
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/mime
|
||||
ln -sf ../mime-1.0.3.so $(1)/usr/lib/lua/mime/core.so
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/socket
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/{ftp,http,smtp,tp,url,headers}.lua $(1)/usr/lib/lua/socket
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/unix.so $(1)/usr/lib/lua/socket
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/serial.so $(1)/usr/lib/lua/socket
|
||||
ln -sf ../socket-3.0.0.so $(1)/usr/lib/lua/socket/core.so
|
||||
endef
|
||||
|
||||
|
||||
define Package/luasocket5.3/install
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/src \
|
||||
DESTDIR="$(1)" \
|
||||
LUAV=$(LUA_VERSION) \
|
||||
install
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,luasocket))
|
||||
$(eval $(call BuildPackage,luasocket5.3))
|
||||
228
lang/lua/luasocket/patches/0001-Add-interface-support.patch
Normal file
228
lang/lua/luasocket/patches/0001-Add-interface-support.patch
Normal file
@@ -0,0 +1,228 @@
|
||||
From 96fdf07acf78ecfc9be76a8b0591f38fe6f1a875 Mon Sep 17 00:00:00 2001
|
||||
From: Steven Barth <steven@midlink.org>
|
||||
Date: Sat, 9 Nov 2013 12:01:42 +0100
|
||||
Subject: [PATCH] Add interface resolving
|
||||
|
||||
---
|
||||
src/if.c | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/if.h | 27 ++++++++++++++
|
||||
src/luasocket.c | 2 +
|
||||
src/makefile | 2 +
|
||||
src/options.c | 9 +++++
|
||||
5 files changed, 153 insertions(+)
|
||||
create mode 100644 src/if.c
|
||||
create mode 100644 src/if.h
|
||||
|
||||
--- /dev/null
|
||||
+++ b/src/if.c
|
||||
@@ -0,0 +1,117 @@
|
||||
+/*
|
||||
+ * $Id: if.c $
|
||||
+ *
|
||||
+ * Author: Markus Stenberg <fingon@iki.fi>
|
||||
+ *
|
||||
+ * Copyright (c) 2012 cisco Systems, Inc.
|
||||
+ *
|
||||
+ * Created: Tue Dec 4 14:50:34 2012 mstenber
|
||||
+ * Last modified: Wed Dec 5 18:51:08 2012 mstenber
|
||||
+ * Edit time: 24 min
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/socket.h>
|
||||
+#include <net/if.h>
|
||||
+
|
||||
+#include "if.h"
|
||||
+
|
||||
+#include "lauxlib.h"
|
||||
+
|
||||
+static int if_global_indextoname(lua_State *L);
|
||||
+static int if_global_nametoindex(lua_State *L);
|
||||
+static int if_global_nameindex(lua_State *L);
|
||||
+
|
||||
+static luaL_Reg func[] = {
|
||||
+ { "indextoname", if_global_indextoname},
|
||||
+ { "nametoindex", if_global_nametoindex},
|
||||
+ { "nameindex", if_global_nameindex},
|
||||
+ { NULL, NULL}
|
||||
+};
|
||||
+
|
||||
+int if_open(lua_State *L)
|
||||
+{
|
||||
+ lua_pushstring(L, "iface");
|
||||
+ lua_newtable(L);
|
||||
+#if LUA_VERSION_NUM < 503
|
||||
+ luaL_openlib(L, NULL, func, 0);
|
||||
+#else
|
||||
+ luaL_setfuncs(L, func, 0);
|
||||
+#endif
|
||||
+ lua_settable(L, -3);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int if_global_indextoname(lua_State *L)
|
||||
+{
|
||||
+ unsigned int ifnumber;
|
||||
+ const char *name;
|
||||
+ char buf[IF_NAMESIZE+1];
|
||||
+
|
||||
+ if (!lua_isnumber(L, 1))
|
||||
+ {
|
||||
+ lua_pushnil(L);
|
||||
+ lua_pushstring(L, "indextoname expects only number argument");
|
||||
+ return 2;
|
||||
+ }
|
||||
+ ifnumber = lua_tonumber(L, 1);
|
||||
+ if (!(name = if_indextoname(ifnumber, buf)))
|
||||
+ {
|
||||
+ lua_pushnil(L);
|
||||
+ lua_pushstring(L, "nonexistent interface");
|
||||
+ return 2;
|
||||
+ }
|
||||
+ lua_pushstring(L, name);
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+int if_global_nametoindex(lua_State *L)
|
||||
+{
|
||||
+ unsigned int ifnumber;
|
||||
+ if (!lua_isstring(L, 1))
|
||||
+ {
|
||||
+ lua_pushnil(L);
|
||||
+ lua_pushstring(L, "nametoindex expects only string argument");
|
||||
+ return 2;
|
||||
+ }
|
||||
+ if (!(ifnumber = if_nametoindex(lua_tostring(L, 1))))
|
||||
+ {
|
||||
+ lua_pushnil(L);
|
||||
+ lua_pushstring(L, "nonexistent interface");
|
||||
+ return 2;
|
||||
+ }
|
||||
+ lua_pushnumber(L, ifnumber);
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+int if_global_nameindex(lua_State *L)
|
||||
+{
|
||||
+ struct if_nameindex *ni, *oni;
|
||||
+ int i = 1;
|
||||
+ oni = ni = if_nameindex();
|
||||
+ lua_newtable(L);
|
||||
+ while (ni && ni->if_index && *(ni->if_name))
|
||||
+ {
|
||||
+ /* at result[i], we store.. */
|
||||
+ lua_pushnumber(L, i);
|
||||
+
|
||||
+ /* new table with two items - index, name*/
|
||||
+ lua_newtable(L);
|
||||
+ lua_pushstring(L, "index");
|
||||
+ lua_pushnumber(L, ni->if_index);
|
||||
+ lua_settable(L, -3);
|
||||
+
|
||||
+ lua_pushstring(L, "name");
|
||||
+ lua_pushstring(L, ni->if_name);
|
||||
+ lua_settable(L, -3);
|
||||
+
|
||||
+ /* Then, actually store it */
|
||||
+ lua_settable(L, -3);
|
||||
+
|
||||
+ i++;
|
||||
+ ni++;
|
||||
+ }
|
||||
+ if_freenameindex(oni);
|
||||
+ return 1;
|
||||
+}
|
||||
--- /dev/null
|
||||
+++ b/src/if.h
|
||||
@@ -0,0 +1,27 @@
|
||||
+/*
|
||||
+ * $Id: if.h $
|
||||
+ *
|
||||
+ * Author: Markus Stenberg <fingon@iki.fi>
|
||||
+ *
|
||||
+ * Copyright (c) 2012 cisco Systems, Inc.
|
||||
+ *
|
||||
+ * Created: Tue Dec 4 14:37:24 2012 mstenber
|
||||
+ * Last modified: Tue Dec 4 14:51:43 2012 mstenber
|
||||
+ * Edit time: 7 min
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/* This module provides Lua wrapping for the advanced socket API
|
||||
+ * defined in RFC3542, or mainly, the access to the system's interface
|
||||
+ * list. It is necessary for use of recvmsg/sendmsg.
|
||||
+ *
|
||||
+ * TODO - Do something clever with Windows?
|
||||
+ */
|
||||
+#ifndef IF_H
|
||||
+#define IF_H
|
||||
+
|
||||
+#include "lua.h"
|
||||
+
|
||||
+int if_open(lua_State *L);
|
||||
+
|
||||
+#endif /* IF_H */
|
||||
--- a/src/luasocket.c
|
||||
+++ b/src/luasocket.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "tcp.h"
|
||||
#include "udp.h"
|
||||
#include "select.h"
|
||||
+#include "if.h"
|
||||
|
||||
/*-------------------------------------------------------------------------*\
|
||||
* Internal function prototypes
|
||||
@@ -41,6 +42,7 @@ static const luaL_Reg mod[] = {
|
||||
{"tcp", tcp_open},
|
||||
{"udp", udp_open},
|
||||
{"select", select_open},
|
||||
+ {"iface", if_open},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
--- a/src/makefile
|
||||
+++ b/src/makefile
|
||||
@@ -303,6 +303,7 @@ SOCKET_OBJS= \
|
||||
compat.$(O) \
|
||||
options.$(O) \
|
||||
inet.$(O) \
|
||||
+ if.$(O) \
|
||||
$(SOCKET) \
|
||||
except.$(O) \
|
||||
select.$(O) \
|
||||
@@ -440,6 +441,7 @@ auxiliar.$(O): auxiliar.c auxiliar.h
|
||||
buffer.$(O): buffer.c buffer.h io.h timeout.h
|
||||
except.$(O): except.c except.h
|
||||
inet.$(O): inet.c inet.h socket.h io.h timeout.h usocket.h
|
||||
+if.$(O): if.c if.h
|
||||
io.$(O): io.c io.h timeout.h
|
||||
luasocket.$(O): luasocket.c luasocket.h auxiliar.h except.h \
|
||||
timeout.h buffer.h io.h inet.h socket.h usocket.h tcp.h \
|
||||
--- a/src/options.c
|
||||
+++ b/src/options.c
|
||||
@@ -7,7 +7,10 @@
|
||||
#include "options.h"
|
||||
#include "inet.h"
|
||||
#include <string.h>
|
||||
-
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/socket.h>
|
||||
+#include <net/if.h>
|
||||
+
|
||||
/*=========================================================================*\
|
||||
* Internal functions prototypes
|
||||
\*=========================================================================*/
|
||||
@@ -414,6 +417,12 @@ static int opt_ip6_setmembership(lua_Sta
|
||||
if (!lua_isnil(L, -1)) {
|
||||
if (lua_isnumber(L, -1)) {
|
||||
val.ipv6mr_interface = (unsigned int) lua_tonumber(L, -1);
|
||||
+ } else if (lua_isstring(L, -1)) {
|
||||
+ if (!(val.ipv6mr_interface = if_nametoindex(lua_tostring(L, -1)))) {
|
||||
+ lua_pushnil(L);
|
||||
+ lua_pushstring(L, "nonexistent interface");
|
||||
+ return 2;
|
||||
+ }
|
||||
} else
|
||||
luaL_argerror(L, -1, "number 'interface' field expected");
|
||||
}
|
||||
25
lang/lua/luasocket/patches/0301-Fix-mpc85xx-build.patch
Normal file
25
lang/lua/luasocket/patches/0301-Fix-mpc85xx-build.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
--- a/src/makefile
|
||||
+++ b/src/makefile
|
||||
@@ -397,18 +397,18 @@ none:
|
||||
all: $(SOCKET_SO) $(MIME_SO)
|
||||
|
||||
$(SOCKET_SO): $(SOCKET_OBJS)
|
||||
- $(LD) $(SOCKET_OBJS) $(LDFLAGS)$@
|
||||
+ $(CC) $(SOCKET_OBJS) $(LDFLAGS)$@
|
||||
|
||||
$(MIME_SO): $(MIME_OBJS)
|
||||
- $(LD) $(MIME_OBJS) $(LDFLAGS)$@
|
||||
+ $(CC) $(MIME_OBJS) $(LDFLAGS)$@
|
||||
|
||||
all-unix: all $(UNIX_SO) $(SERIAL_SO)
|
||||
|
||||
$(UNIX_SO): $(UNIX_OBJS)
|
||||
- $(LD) $(UNIX_OBJS) $(LDFLAGS)$@
|
||||
+ $(CC) $(UNIX_OBJS) $(LDFLAGS)$@
|
||||
|
||||
$(SERIAL_SO): $(SERIAL_OBJS)
|
||||
- $(LD) $(SERIAL_OBJS) $(LDFLAGS)$@
|
||||
+ $(CC) $(SERIAL_OBJS) $(LDFLAGS)$@
|
||||
|
||||
install:
|
||||
$(INSTALL_DIR) $(INSTALL_TOP_LDIR)
|
||||
112
lang/lua/luasql/Makefile
Normal file
112
lang/lua/luasql/Makefile
Normal file
@@ -0,0 +1,112 @@
|
||||
#
|
||||
# Copyright (C) 2010-2014 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luasql
|
||||
PKG_VERSION:=2.4.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/keplerproject/luasql/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=db2458a8c8c5f3bc717e4030fe2878f1ad8d71e437ec6149c381eebad5d525c5
|
||||
|
||||
PKG_MAINTAINER:=
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=doc/us/license.html
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/luasql/Default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua SQL binding
|
||||
URL:=https://keplerproject.github.io/luasql/
|
||||
DEPENDS:= +lua
|
||||
endef
|
||||
|
||||
define Package/luasql/Default/description
|
||||
LuaSQL is a simple interface from Lua to a DBMS.
|
||||
endef
|
||||
|
||||
|
||||
define Package/luasql-mysql
|
||||
$(call Package/luasql/Default)
|
||||
TITLE+= for MySQL
|
||||
DEPENDS+= +libmysqlclient
|
||||
VARIANT:=mysql
|
||||
endef
|
||||
|
||||
define Package/luasql-mysql/description
|
||||
$(call Package/luasql/Default/description)
|
||||
.
|
||||
This package contains the MySQL binding.
|
||||
endef
|
||||
|
||||
|
||||
define Package/luasql-pgsql
|
||||
$(call Package/luasql/Default)
|
||||
TITLE+= for PostgreSQL
|
||||
DEPENDS+= +libpq
|
||||
VARIANT:=postgres
|
||||
endef
|
||||
|
||||
define Package/luasql-pgsql/description
|
||||
$(call Package/luasql/Default/description)
|
||||
.
|
||||
This package contains the PostgreSQL binding.
|
||||
endef
|
||||
|
||||
|
||||
define Package/luasql-sqlite3
|
||||
$(call Package/luasql/Default)
|
||||
TITLE+= for SQLite 3
|
||||
DEPENDS+= +libsqlite3
|
||||
VARIANT:=sqlite3
|
||||
endef
|
||||
|
||||
define Package/luasql-sqlite3/description
|
||||
$(call Package/luasql/Default/description)
|
||||
.
|
||||
This package contains the SQLite 3 binding.
|
||||
endef
|
||||
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -std=gnu99
|
||||
TARGET_CPPFLAGS += -DLUA_USE_LINUX
|
||||
|
||||
ifeq ($(BUILD_VARIANT),mysql)
|
||||
MAKE_FLAGS += DRIVER_INCS_mysql='-I$(STAGING_DIR)/usr/include/mysql' \
|
||||
DRIVER_LIBS_mysql='$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib/mysql -lmysqlclient -lz'
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),postgres)
|
||||
MAKE_FLAGS += DRIVER_LIBS_postgres='$(TARGET_LDFLAGS) -lpq'
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_VARIANT),sqlite3)
|
||||
MAKE_FLAGS += DRIVER_LIBS_sqlite='$(TARGET_LDFLAGS) -lsqlite3 -lpthread'
|
||||
endif
|
||||
|
||||
MAKE_FLAGS += \
|
||||
LIB_OPTION="-shared" \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
||||
$(BUILD_VARIANT)
|
||||
|
||||
define Package/Install/Default
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/luasql
|
||||
$(CP) $(PKG_BUILD_DIR)/src/*.so $(1)/usr/lib/lua/luasql/
|
||||
endef
|
||||
|
||||
Package/luasql-mysql/install = $(Package/Install/Default)
|
||||
Package/luasql-pgsql/install = $(Package/Install/Default)
|
||||
Package/luasql-sqlite3/install = $(Package/Install/Default)
|
||||
|
||||
$(eval $(call BuildPackage,luasql-mysql))
|
||||
$(eval $(call BuildPackage,luasql-pgsql))
|
||||
$(eval $(call BuildPackage,luasql-sqlite3))
|
||||
58
lang/lua/luasrcdiet/Makefile
Normal file
58
lang/lua/luasrcdiet/Makefile
Normal file
@@ -0,0 +1,58 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luasrcdiet
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
|
||||
PKG_SOURCE_URL:=https://github.com/jirutka/luasrcdiet.git
|
||||
PKG_SOURCE_VERSION:=f138fc9359821d9201cd6b57cfa2fcbed5b9af97
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_MIRROR_HASH:=a3e316f273d4daf4bc5caea295d050efb2624125960de593c72b3aef0126583c
|
||||
|
||||
HOST_BUILD_DEPENDS:=lua/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Package/luasrcdiet
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=luasrcdiet
|
||||
URL:=https://github.com/jirutka/luasrcdiet
|
||||
DEPENDS:=+lua
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/luasrcdiet/description
|
||||
Compresses Lua source code by removing unnecessary characters
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/luasrcdiet/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/luasrcdiet $(1)/usr/bin/luasrcdiet
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(CP) $(PKG_BUILD_DIR)/luasrcdiet $(1)/usr/lib/lua/
|
||||
endef
|
||||
|
||||
define Host/Compile
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(INSTALL_DIR) $(1)/bin
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/luasrcdiet $(1)/bin/
|
||||
|
||||
$(INSTALL_DIR) $(1)/lib/lua/5.1
|
||||
$(CP) $(HOST_BUILD_DIR)/luasrcdiet $(1)/lib/lua/5.1/
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,luasrcdiet))
|
||||
11
lang/lua/luv/Config.in
Normal file
11
lang/lua/luv/Config.in
Normal file
@@ -0,0 +1,11 @@
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_luv
|
||||
|
||||
config LUV_USE_LUAJIT_ENGINE
|
||||
bool "Use luajit engine"
|
||||
select PACKAGE_luajit
|
||||
help
|
||||
If selected, luv will be compiled against luajit. If not selected, luv will use Lua as engine.
|
||||
default n
|
||||
|
||||
endmenu
|
||||
62
lang/lua/luv/Makefile
Normal file
62
lang/lua/luv/Makefile
Normal file
@@ -0,0 +1,62 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luv
|
||||
PKG_REAL_VERSION:=1.51.0-1
|
||||
PKG_VERSION:=$(subst -,.,$(PKG_REAL_VERSION))
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_REAL_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/luvit/luv/releases/download/$(PKG_REAL_VERSION)
|
||||
PKG_HASH:=dc706d9141c185bdce08b6fc8a9d4df05c3ac3676809ee4e9e37e1553d821237
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_REAL_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Morteza Milani <milani@pichak.co>
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/luv
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Luv
|
||||
URL:=https://github.com/luvit/luv
|
||||
DEPENDS:=+libuv +!LUV_USE_LUAJIT_ENGINE:lua
|
||||
endef
|
||||
|
||||
define Package/luv/description
|
||||
Bare libuv bindings for lua
|
||||
endef
|
||||
|
||||
define Package/luv/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DLUA_BUILD_TYPE=System \
|
||||
-DWITH_SHARED_LIBUV=ON \
|
||||
-DBUILD_MODULE=OFF \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DWITH_LUA_ENGINE=$(if $(CONFIG_LUV_USE_LUAJIT_ENGINE),Luajit,Lua)
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/luv
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/luv/*.h $(1)/usr/include/luv
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so* $(1)/usr/lib
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libluv.pc $(1)/usr/lib/pkgconfig
|
||||
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libluv.pc
|
||||
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libluv.pc
|
||||
endef
|
||||
|
||||
define Package/luv/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libluv.so.1.51.0 $(1)/usr/lib/lua/luv.so
|
||||
endef
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,luv))
|
||||
66
lang/lua/lyaml/Makefile
Executable file
66
lang/lua/lyaml/Makefile
Executable file
@@ -0,0 +1,66 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lyaml
|
||||
PKG_VERSION:=6.2.7
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/gvvaughan/lyaml/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=9bb489cefae48b150d66f6bab4141d8d5831fcb7465bfc52a9845fa01efc63b0
|
||||
|
||||
PKG_MAINTAINER:=Mathew McBride <matt@traverse.com.au>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
PKG_BUILD_DEPENDS:=lua/host luarocks/host HOST_OS_MACOS:fakeuname/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
ifeq ($(CONFIG_HOST_OS_MACOS),y)
|
||||
include ../../utils/fakeuname/fakeuname.mk
|
||||
endif
|
||||
|
||||
define Package/lyaml
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua lib-yaml bindings
|
||||
URL:=https://github.com/gvvaughan/lyaml
|
||||
DEPENDS:= +lua +libyaml
|
||||
endef
|
||||
|
||||
define Package/lyaml/description
|
||||
Lua bindings for libyaml
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += \
|
||||
-I$(STAGING_DIR)/usr/include
|
||||
|
||||
# Note: the duplicate environment exports are not a typo!
|
||||
# First is for luarocks, then the second is for the compilation
|
||||
# invoked by luarocks
|
||||
# (Same setup as luaposix)
|
||||
define Build/Compile
|
||||
cd $(PKG_BUILD_DIR) && \
|
||||
LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
|
||||
LUA_PKGNAME=lua5.1 \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
CC="$(TARGET_CC)" LD="$(TARGET_CC)" \
|
||||
$(if $(CONFIG_HOST_OS_MACOS),PATH=$(FAKEUNAME_PATH):$(TARGET_PATH_PKG)) \
|
||||
luarocks make --pack-binary-rock lyaml-$(PKG_VERSION)-1.rockspec \
|
||||
LUA_LIBDIR=$(STAGING_DIR)/usr/lib/lua \
|
||||
YAML_DIR=$(STAGING_DIR)/usr \
|
||||
LUA_INCDIR=$(STAGING_DIR)/usr/include \
|
||||
LUA_PKGNAME=lua5.1 \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
CC="$(TARGET_CC)" LD="$(TARGET_CC)"
|
||||
endef
|
||||
|
||||
define Package/lyaml/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/lyaml
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/linux/yaml.so $(1)/usr/lib/lua/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/lyaml/*.lua $(1)/usr/lib/lua/lyaml/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lyaml))
|
||||
48
lang/lua/lzmq/Makefile
Normal file
48
lang/lua/lzmq/Makefile
Normal file
@@ -0,0 +1,48 @@
|
||||
#
|
||||
# Copyright (C) 2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lzmq
|
||||
PKG_VERSION:=0.4.4
|
||||
PKG_RELEASE:=2
|
||||
PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/zeromq/lzmq/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=cf70200045b8bcb0e929c338ad421b6a291cf1038053532888dc201af3224d8b
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/lzmq
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua ZeroMQ binding
|
||||
URL:=https://github.com/zeromq/lzmq
|
||||
DEPENDS:= +lua +libzmq
|
||||
endef
|
||||
|
||||
define Package/lzmq/description
|
||||
LZMQ is a Lua binding to ZeroMQ.
|
||||
endef
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DUSE_LUA=ON
|
||||
|
||||
define Package/lzmq/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lzmq.so $(1)/usr/lib/lua/
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/lua/lzmq
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lzmq/timer.so $(1)/usr/lib/lua/lzmq
|
||||
$(CP) -R $(PKG_BUILD_DIR)/src/lua/lzmq/* $(1)/usr/lib/lua/lzmq
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,lzmq))
|
||||
10
lang/lua/lzmq/patches/010-gcc14.patch
Normal file
10
lang/lua/lzmq/patches/010-gcc14.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/src/lzmq.c
|
||||
+++ b/src/lzmq.c
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <assert.h>
|
||||
#include "zsupport.h"
|
||||
#include <memory.h>
|
||||
+#include <stdlib.h>
|
||||
|
||||
#define LUAZMQ_MODULE_NAME "lzmq"
|
||||
#define LUAZMQ_MODULE_LICENSE "MIT"
|
||||
53
lang/lua/uuid/Makefile
Normal file
53
lang/lua/uuid/Makefile
Normal file
@@ -0,0 +1,53 @@
|
||||
#
|
||||
# Copyright (C) 2006-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uuid
|
||||
PKG_VERSION:=0.2.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_MIRROR_HASH:=142b60b266d90db6177eb07919d8b71ac4a3bb17859540d4655c02f395526962
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=https://github.com/Tieske/uuid.git
|
||||
PKG_SOURCE_VERSION:=version_$(PKG_VERSION)
|
||||
|
||||
PKG_MAINTAINER:=Amr Hassan <amr.hassan@gmail.com>
|
||||
PKG_LICENSE=Apache-2.0
|
||||
|
||||
LUA_MODULE_PATH:=/usr/lib/lua
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/uuid
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=uuid
|
||||
URL:=https://github.com/Tieske/uuid
|
||||
DEPENDS:=+lua +luasocket
|
||||
PKGARCH:=all
|
||||
endef
|
||||
|
||||
define Package/uuid/description
|
||||
A pure Lua uuid generator
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/uuid/install
|
||||
$(INSTALL_DIR) $(1)/$(LUA_MODULE_PATH)
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/uuid.lua $(1)/$(LUA_MODULE_PATH)/uuid.lua
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,uuid))
|
||||
Reference in New Issue
Block a user