From patchwork Thu Jul 2 20:22:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francois Perrad X-Patchwork-Id: 1322135 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=FR9UpoPv; 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 49ym5X0LKQz9sR4 for ; Fri, 3 Jul 2020 16:58:39 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 4AD5488CE7; Fri, 3 Jul 2020 06:58:37 +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 HH-9udNB9ClK; Fri, 3 Jul 2020 06:58:33 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 8DF5C88D71; Fri, 3 Jul 2020 06:58:33 +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 BA4C61BF5D7 for ; Fri, 3 Jul 2020 06:58:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B0EC288D71 for ; Fri, 3 Jul 2020 06:58:31 +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 wy48ERGSxjOL for ; Fri, 3 Jul 2020 06:58:30 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by whitealder.osuosl.org (Postfix) with ESMTPS id 80368806E2 for ; Fri, 3 Jul 2020 06:58:30 +0000 (UTC) Received: by mail-wm1-f65.google.com with SMTP id f139so32736118wmf.5 for ; Thu, 02 Jul 2020 23:58:30 -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=sGCr2O8pAJvVAUHsni2qtgomnFiogJ/zRBW/wF9kMbM=; b=FR9UpoPvDWZI20SEMnCGAYtF5ztC81rGqk7h123yfipR0wQHxBxjI4REb8TMSxzl6V 2ba7Qbd8Ngz70bIwgowkIionL32paN6mZgSEBZbSVdSBQhRkzIrDBuWTV2+qpqr+zk/V abgJCEJ3c6RtxrY7vWCXH889J+GPVFnsxVDg6ZIm1/kxwHd5OZVxKScJRxQwm4rwAyKK XT3s6gpXkHjFJZbHuEeImU35rZDHNpF5nNvmnGy2LzSxhdIy/rmj//xvriw1/GtzbMmm kzr5S9WTIGgIRffTlfDXtgQqkq3DQn0JWVWqrIhx+T/do+zUatpKb7X91znotTpLdVrJ EF9A== 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=sGCr2O8pAJvVAUHsni2qtgomnFiogJ/zRBW/wF9kMbM=; b=BKwVfAT4ivA0YYglg3Vq0oWxP37QOlLNFUUi6FpBWltSkGru2JDg0qcy7F1dH6f2Qo nyKFNdKsH3KuGPLKzKDyvj6Vz187pyS2YPyE9dw1f/bgT7lC5zb6191Av/fZBvGIApvC TVRP+2/S52/VKaFdFsiXI7qaadbYM84YVlSKqDd+Pw/csFEAG2rOS169gv25hkAaISYk dIpVvteBAEvXLsEgePVCM+EVbZ4nMn0wVLht5XszpSpAvRf2o52BDJ+eCMcGqhhF3ovm SVapX36L37TRw75FY61B/+Fr9e+b219fFrHauoJgF0ZVMcs4gPSapl3KRq1RcSzRTIcj 1bWg== X-Gm-Message-State: AOAM532d7vkQqO2UD5eGjnCSkilRP82qfmkU3jaloZ+4IA/mBoSeq3gw 9sthhw0h2IE7LfddaK083mUj78iBHIk= X-Google-Smtp-Source: ABdhPJxYqt1XKJe4+PO1/F/d4MbTKvr578vBK6tRGYsWoNf2aE/M1K6MrEbPP7EmRqn9wtOatPRNRg== X-Received: by 2002:a1c:a993:: with SMTP id s141mr36398291wme.174.1593759508254; Thu, 02 Jul 2020 23:58:28 -0700 (PDT) Received: from vm-xubuntu20.04 ([78.250.197.7]) by smtp.gmail.com with ESMTPSA id p17sm12170564wma.47.2020.07.02.23.58.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Jul 2020 23:58:27 -0700 (PDT) From: Francois Perrad X-Google-Original-From: Francois Perrad To: buildroot@busybox.net Date: Thu, 2 Jul 2020 22:22:20 +0200 Message-Id: <20200702202230.1531929-2-francois.perrad@gadz.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200702202230.1531929-1-francois.perrad@gadz.org> References: <20200702202230.1531929-1-francois.perrad@gadz.org> MIME-Version: 1.0 Subject: [Buildroot] [PATCH 01/11] 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" this new lua needs the same kind of patches as 5.1.5 or 5.3.5 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/pkg-luarocks.mk | 6 +- 7 files changed, 140 insertions(+), 5 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 ce2e439f6..81e9c84ef 100644 --- a/package/lua/Config.in +++ b/package/lua/Config.in @@ -24,13 +24,17 @@ config BR2_PACKAGE_LUA_5_1 config BR2_PACKAGE_LUA_5_3 bool "Lua 5.3.x" +config BR2_PACKAGE_LUA_5_4 + bool "Lua 5.4.x" + endchoice config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION default "5.1" if BR2_PACKAGE_LUA_5_1 default "5.3" if BR2_PACKAGE_LUA_5_3 + default "5.4" if BR2_PACKAGE_LUA_5_4 -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..0b6d2c1dc 100644 --- a/package/lua/lua.mk +++ b/package/lua/lua.mk @@ -4,15 +4,19 @@ # ################################################################################ +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 endif +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,6 +26,10 @@ LUA_PROVIDES = luainterpreter LUA_CFLAGS = -Wall -fPIC -DLUA_USE_POSIX +ifeq ($(BR2_PACKAGE_LUA_5_4),y) +LUA_CFLAGS += -DLUA_COMPAT_5_3 +endif + ifeq ($(BR2_PACKAGE_LUA_5_3),y) LUA_CFLAGS += -DLUA_COMPAT_5_2 endif diff --git a/package/pkg-luarocks.mk b/package/pkg-luarocks.mk index 603c0851b..be85563ba 100644 --- a/package/pkg-luarocks.mk +++ b/package/pkg-luarocks.mk @@ -20,9 +20,9 @@ LUAROCKS_RUN_CMD = $(HOST_DIR)/bin/luarocks LUAROCKS_CFLAGS = $(TARGET_CFLAGS) -fPIC 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 +ifeq ($(BR2_PACKAGE_LUA_5_4),y) +LUAROCKS_CFLAGS += -DLUA_COMPAT_5_3 +HOST_LUAROCKS_CFLAGS += -DLUA_COMPAT_5_3 endif ################################################################################