aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/lua5.3/Makefile
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2019-06-22 14:47:41 +0200
committerRafał Miłecki <rafal@milecki.pl>2019-06-28 09:25:59 +0200
commit6b161bb8d528663b78c2314d9f1e1c9217dacba2 (patch)
tree50dcd5996ff65bcd5da45c6a4215859c2e527701 /package/utils/lua5.3/Makefile
parentfe59b46ca7e0716e030a5d7cb0da9b4b6a79a8f4 (diff)
downloadupstream-6b161bb8d528663b78c2314d9f1e1c9217dacba2.tar.gz
upstream-6b161bb8d528663b78c2314d9f1e1c9217dacba2.tar.bz2
upstream-6b161bb8d528663b78c2314d9f1e1c9217dacba2.zip
lua5.3: package Lua 5.3 version
This package provides an interpreter and compiler for Lua 5.3.5. It has been decided to use separated package due to a backward incompatibility of Lua 5.2 and 5.3. This package/version: 1) Does not include lnum patch as its author didn't decide to port it to the new version. 2) Does not provide shared library as the old patch doesn't apply anymore. It can be added later if needed. 3) Does not come with examples package as tests were dropped by upstream developers. That said there is definitely a room for improvement and any further work is highly appreciated. It works however and can be safely pushed as a basic/early package release. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/utils/lua5.3/Makefile')
-rw-r--r--package/utils/lua5.3/Makefile127
1 files changed, 127 insertions, 0 deletions
diff --git a/package/utils/lua5.3/Makefile b/package/utils/lua5.3/Makefile
new file mode 100644
index 0000000000..f308fe6c1a
--- /dev/null
+++ b/package/utils/lua5.3/Makefile
@@ -0,0 +1,127 @@
+#
+# Copyright (C) 2006-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
+PKG_VERSION:=5.3.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
+ http://www.tecgraf.puc-rio.br/lua/ftp/
+PKG_HASH:=0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac
+PKG_BUILD_PARALLEL:=1
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=COPYRIGHT
+
+HOST_PATCH_DIR := ./patches-host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+
+define Package/lua5.3/Default
+ SUBMENU:=Lua
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Lua programming language
+ URL:=http://www.lua.org/
+ MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
+endef
+
+define Package/lua5.3/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/lua5.3
+$(call Package/lua5.3/Default)
+ TITLE+= (interpreter)
+ PROVIDES:=lua
+endef
+
+define Package/lua5.3/description
+$(call Package/lua5.3/Default/description)
+ This package contains the Lua language interpreter.
+endef
+
+define Package/luac5.3
+$(call Package/lua5.3/Default)
+ TITLE+= (compiler)
+ PROVIDES:=luac
+endef
+
+define Package/luac5.3/description
+$(call Package/lua5.3/Default/description)
+ This package contains the Lua language compiler.
+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/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) -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
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lua{,lib,conf}.h $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/lua5.3/lauxlib.h $(1)/usr/include/
+endef
+
+define Package/lua5.3/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.3 $(1)/usr/bin/
+endef
+
+define Package/luac5.3/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.3 $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,lua5.3))
+$(eval $(call BuildPackage,luac5.3))
+$(eval $(call HostBuild))