From patchwork Tue Jul 28 12:56:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francois Perrad X-Patchwork-Id: 1337806 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=T690RJjq; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BGGs80Bfzz9sR4 for ; Tue, 28 Jul 2020 22:56:43 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B95D786399; Tue, 28 Jul 2020 12:56:40 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z8IJRuGQIc4Q; Tue, 28 Jul 2020 12:56:38 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id E0F3285C50; Tue, 28 Jul 2020 12:56:37 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id D2F461BF3BA for ; Tue, 28 Jul 2020 12:56:34 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id CEFB285CEC for ; Tue, 28 Jul 2020 12:56:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4MXK+0xDUjOh for ; Tue, 28 Jul 2020 12:56:33 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by whitealder.osuosl.org (Postfix) with ESMTPS id 77D9985C4C for ; Tue, 28 Jul 2020 12:56:33 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id f18so18202259wrs.0 for ; Tue, 28 Jul 2020 05:56:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yleGpH/RnMfEYMblDWGiemS+2Ud+iapFY3aZ6qRx6GA=; b=T690RJjqRfeVtBsrB+ZJ4CuQ0vNVkLc1DLVl2P1B727tl79F1488RoK8RTYwPOGvmb JeZX/HtiQJbNA2fi/OO0j2fPH8V/T+FQsXRdxGfQDEXqJgSlj0BGeHIp98VnVNytdahk //pRo/Ua69rzS8S6qeqeM4gS6AsY1+y4qQt6gCcoP9qNpzjmZDMzhcGNVPw0SbexE9b5 5+6wHxqRXWlJPgkWsHwqnTvbyxIh4+/x15P/6rLX6s3Hk2hByGEmjl4B7YhqNvuLMxpK rJ672T16jse7O53BFhCyvm22EQ6oXCPxmaoMozJKarAHSmd79NsUoMyDiCqXjHIIJ4u1 /3jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yleGpH/RnMfEYMblDWGiemS+2Ud+iapFY3aZ6qRx6GA=; b=rK/myyKdJfoG6IVWLTXRYGvrtnShir/MhMhffTW4myEDX01sJJ+pJrhjLqV7aLYxkf HtHcp1uN9KCIfA6xPCvJZsGK0oo3g+f5bk2UJju5pErRGi2/i8IIfdwiLGHupHBMILRH cGOwph6RjDCxQz8sAHDZFcvmqQiR2EMSXCWthP8qTz0OA//CEnvUEFypr3WTrsJqSq4k Lvo3EeaKcfaCkwfyt4EoY9Xkso51PfFrRlvib3xY+9971MSb/ARrGg3dHwdXXE8ooHfw ZSekHhGlznHy1zZDehJ24ekyPf2XaIExI6zRrmd7Mazlo06sbbE7gZ7QYusQACt7wqR9 Z+6g== X-Gm-Message-State: AOAM5338z6ryTZsHe/31KJ+62+D7n3rhdNMZkB2nbQwoVzv0855GL879 MkSjl8+bsrP0ftNun0fcp2rxHdCr X-Google-Smtp-Source: ABdhPJy4OPgsOPAWZbc1bwnrPKrSZNYT+A7ip/5xy04GgrEhnRvOBuERnYUk/zGdr3Ym+38ZnhyCBQ== X-Received: by 2002:a5d:558a:: with SMTP id i10mr23213590wrv.146.1595940991508; Tue, 28 Jul 2020 05:56:31 -0700 (PDT) Received: from vm-xubuntu20.04 (254.7.19.109.rev.sfr.net. [109.19.7.254]) by smtp.gmail.com with ESMTPSA id e5sm16162475wrc.37.2020.07.28.05.56.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 05:56:30 -0700 (PDT) From: Francois Perrad X-Google-Original-From: Francois Perrad To: buildroot@busybox.net Date: Tue, 28 Jul 2020 14:56:03 +0200 Message-Id: <20200728125613.3153975-2-francois.perrad@gadz.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200728125613.3153975-1-francois.perrad@gadz.org> References: <20200728125613.3153975-1-francois.perrad@gadz.org> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 01/10] lua: add 5.4.0 version X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Francois Perrad --- package/lua/5.4.0/0001-root-path.patch | 17 ++++ .../lua/5.4.0/0002-shared-libs-for-lua.patch | 78 +++++++++++++++++++ package/lua/5.4.0/0011-linenoise.patch | 25 ++++++ package/lua/Config.in | 6 +- package/lua/lua.hash | 3 + package/lua/lua.mk | 10 ++- package/luainterpreter/Config.in | 4 + package/pkg-luarocks.mk | 3 + 8 files changed, 142 insertions(+), 4 deletions(-) create mode 100644 package/lua/5.4.0/0001-root-path.patch create mode 100644 package/lua/5.4.0/0002-shared-libs-for-lua.patch create mode 100644 package/lua/5.4.0/0011-linenoise.patch diff --git a/package/lua/5.4.0/0001-root-path.patch b/package/lua/5.4.0/0001-root-path.patch new file mode 100644 index 000000000..588fecb12 --- /dev/null +++ b/package/lua/5.4.0/0001-root-path.patch @@ -0,0 +1,17 @@ +Adjust installation location to /usr. + +Signed-off-by: Francois Perrad + +Index: b/src/luaconf.h +=================================================================== +--- a/src/luaconf.h ++++ b/src/luaconf.h +@@ -227,7 +227,7 @@ + + #else /* }{ */ + +-#define LUA_ROOT "/usr/local/" ++#define LUA_ROOT "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" + diff --git a/package/lua/5.4.0/0002-shared-libs-for-lua.patch b/package/lua/5.4.0/0002-shared-libs-for-lua.patch new file mode 100644 index 000000000..4ff204429 --- /dev/null +++ b/package/lua/5.4.0/0002-shared-libs-for-lua.patch @@ -0,0 +1,78 @@ +Add the compilation of a shared library. +Compile the lua binary with the shared library. +And install the shared library. +The variable BUILDMODE allows to switch between static and dynamic mode. + +Signed-off-by: Francois Perrad + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -42,6 +42,7 @@ + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp + TO_LIB= liblua.a ++TO_SOLIB = liblua.so.$(R) + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -57,6 +58,8 @@ + install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) + cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) ++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || : ++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || : + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) +Index: b/src/Makefile +=================================================================== +--- a/src/Makefile ++++ b/src/Makefile +@@ -33,6 +33,7 @@ + PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris + + LUA_A= liblua.a ++LUA_SO= liblua.so + 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,13 @@ + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) ++ifneq (dynamic,$(BUILDMODE)) + ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++else ++ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T) ++endif + ALL_A= $(LUA_A) ++ALL_SO= $(LUA_SO) + + # Targets start here. + default: $(PLAT) +@@ -56,12 +62,23 @@ + + a: $(ALL_A) + ++so: $(ALL_SO) ++ + $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $? ++ ln -fs $@.$(PKG_VERSION) $@ ++ ++ifneq (dynamic,$(BUILDMODE)) + $(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++else ++$(LUA_T): $(LUA_O) $(LUA_SO) ++ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS) ++endif + + $(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/package/lua/5.4.0/0011-linenoise.patch b/package/lua/5.4.0/0011-linenoise.patch new file mode 100644 index 000000000..e842e5b1e --- /dev/null +++ b/package/lua/5.4.0/0011-linenoise.patch @@ -0,0 +1,25 @@ +Add support of linenoise (replace readline) + +see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html + +Signed-off-by: Francois Perrad + +Index: b/src/lua.c +=================================================================== +--- a/src/lua.c ++++ b/src/lua.c +@@ -401,6 +401,14 @@ + #define lua_saveline(L,line) ((void)L, add_history(line)) + #define lua_freeline(L,b) ((void)L, free(b)) + ++#elif defined(LUA_USE_LINENOISE) ++ ++#include ++#define lua_initreadline(L) ((void)L) ++#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL) ++#define lua_saveline(L,line) ((void)L, linenoiseHistoryAdd(line)) ++#define lua_freeline(L,b) ((void)L, free(b)) ++ + #else /* }{ */ + + #define lua_initreadline(L) ((void)L) diff --git a/package/lua/Config.in b/package/lua/Config.in index d6ddc708e..5d4cee5d5 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -26,9 +26,13 @@ config BR2_PACKAGE_LUA_5_3 bool "Lua 5.3.x" select BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_3 +config BR2_PACKAGE_LUA_5_4 + bool "Lua 5.4.x" + select BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_4 + endchoice -if BR2_PACKAGE_LUA_5_3 +if BR2_PACKAGE_LUA_5_3 || BR2_PACKAGE_LUA_5_4 config BR2_PACKAGE_LUA_32BITS bool "Use 32 bit numbers" default y if !BR2_ARCH_IS_64 diff --git a/package/lua/lua.hash b/package/lua/lua.hash index 3e7812b7d..ab72480e5 100644 --- a/package/lua/lua.hash +++ b/package/lua/lua.hash @@ -1,4 +1,7 @@ # Hashes from: http://www.lua.org/ftp/ +md5 dbf155764e5d433fc55ae80ea7060b60 lua-5.4.0.tar.gz +sha1 8cdbffa8a214a23d190d7c45f38c19518ae62e89 lua-5.4.0.tar.gz + md5 4f4b4f323fd3514a68e0ab3da8ce3455 lua-5.3.5.tar.gz sha1 112eb10ff04d1b4c9898e121d6bdf54a81482447 lua-5.3.5.tar.gz diff --git a/package/lua/lua.mk b/package/lua/lua.mk index ce75af6b0..ee604b612 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -4,7 +4,9 @@ # ################################################################################ -ifeq ($(BR2_PACKAGE_LUA_5_3),y) +ifeq ($(BR2_PACKAGE_LUA_5_4),y) +LUA_VERSION = 5.4.0 +else ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_VERSION = 5.3.5 else LUA_VERSION = 5.1.5 @@ -12,7 +14,7 @@ endif LUA_SITE = http://www.lua.org/ftp LUA_INSTALL_STAGING = YES LUA_LICENSE = MIT -ifeq ($(BR2_PACKAGE_LUA_5_3),y) +ifeq ($(BR2_PACKAGE_LUA_5_3)$(BR2_PACKAGE_LUA_5_4),y) LUA_LICENSE_FILES = doc/readme.html else LUA_LICENSE_FILES = COPYRIGHT @@ -22,7 +24,9 @@ LUA_PROVIDES = luainterpreter LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX -ifeq ($(BR2_PACKAGE_LUA_5_3),y) +ifeq ($(BR2_PACKAGE_LUA_5_4),y) +LUA_CFLAGS += -DLUA_COMPAT_5_3 +else ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_CFLAGS += -DLUA_COMPAT_5_2 endif diff --git a/package/luainterpreter/Config.in b/package/luainterpreter/Config.in index d35b35ff3..873fb345b 100644 --- a/package/luainterpreter/Config.in +++ b/package/luainterpreter/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION string default "5.1" if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 default "5.3" if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_3 + default "5.4" if BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_4 config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 bool @@ -16,6 +17,9 @@ config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1 config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_3 bool +config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_4 + bool + config BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER string default "host-lua" diff --git a/package/pkg-luarocks.mk b/package/pkg-luarocks.mk index 603c0851b..81a6cf208 100644 --- a/package/pkg-luarocks.mk +++ b/package/pkg-luarocks.mk @@ -23,6 +23,9 @@ HOST_LUAROCKS_CFLAGS = $(HOST_CFLAGS) -fPIC ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUAROCKS_CFLAGS += -DLUA_COMPAT_5_2 HOST_LUAROCKS_CFLAGS += -DLUA_COMPAT_5_2 +else ifeq ($(BR2_PACKAGE_LUA_5_4),y) +LUAROCKS_CFLAGS += -DLUA_COMPAT_5_3 +HOST_LUAROCKS_CFLAGS += -DLUA_COMPAT_5_3 endif ################################################################################