From patchwork Tue Jul 28 13:21:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francois Perrad X-Patchwork-Id: 1338468 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=D9jz4nGC; 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 4BH2K93q8tz9sRK for ; Thu, 30 Jul 2020 04:35:09 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 9B4E68835D; Wed, 29 Jul 2020 18:35:05 +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 ZDd3xKj6dngZ; Wed, 29 Jul 2020 18:35:02 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 7029388184; Wed, 29 Jul 2020 18:35:02 +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 A92891BF86C for ; Wed, 29 Jul 2020 18:34:57 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 9F7D888184 for ; Wed, 29 Jul 2020 18:34:57 +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 xN08Y-Txn1h3 for ; Wed, 29 Jul 2020 18:34:56 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by whitealder.osuosl.org (Postfix) with ESMTPS id 669338816C for ; Wed, 29 Jul 2020 18:34:56 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id f1so22014974wro.2 for ; Wed, 29 Jul 2020 11:34:56 -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=D9jz4nGCQmaZU6/UbYdXqyXpZ7tyNAK+gHmY8jZcdIpFdYA8+RvHBlq/7WGBqeP5bo 5GAH4RKi0gT/noNFU3tMW+t6YIjhHRGc/YA91PnP0hgqCrvDZ7gyvm93RZ/2YOn7dpnw jr/wqy27r0JO7ctVYamfeiVZ+Gy+d1dgycVZAMr186NaR52vBsFgrBfL6+0hEGO8Rzt+ X/saMsuh0dcFrEaswmYL6Z0mAuF6nuQgJTe3LB+dUkKzSopcRQImoXMQGVa0SPdhvLRU AKlnIfSre2+wcgT0QiSFyqAIj5Op+7RVhfAyti6Ic5+bxcNzDMRSmL5SAgByraACM+wS WIsA== 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=pz1hFWo4KmG4addqHriKkUn5hwt2s98TEjAbColMCpYAXT7OVQXvyBjXELjYk15lGE kovHy8JD4+qVlBXsCTdbzBgVTzUk4QfgjPJ51P1E5MZQ5bLAkjzr43FlX59hFmIx2WCg KVOaVyeumPQZ8xRZ7VNeGG+3eEjAt297BqthkuUtCeBGIDZZQhdmnBChYiS+zTHgEWAz 5G/a0NkQ3jcod9ivQf31nWb9hwV9N2rmu5hlE5eSyytWvy2ewCCAP0yYVz+j0dCqj4cZ 7OxeEXSZaaWHGnGPSPQFpuQToyYcCFIQvJJ+T2VFobkK66x6VPvbr2yhn3fUBNEeJ83D WzXA== X-Gm-Message-State: AOAM5308GgZAdlojFR44F0KFIWnqVSWd5QqBruclWndhiyhf4Iw7WJsp oHdn25A6JmY4vfMWNX5FkVdhW9lK X-Google-Smtp-Source: ABdhPJyCH8rXgXADxXkw2Qcp8KW68U5dOjKb/SpWQu4naM8r8XuATkCcxMBbJhPg6HjVHD8csmYvlw== X-Received: by 2002:adf:e704:: with SMTP id c4mr33540441wrm.81.1596047694318; Wed, 29 Jul 2020 11:34:54 -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 u1sm8392955wrb.78.2020.07.29.11.34.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2020 11:34:53 -0700 (PDT) From: Francois Perrad X-Google-Original-From: Francois Perrad To: buildroot@busybox.net Date: Tue, 28 Jul 2020 15:21:40 +0200 Message-Id: <20200728132147.3155274-4-francois.perrad@gadz.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200728132147.3155274-1-francois.perrad@gadz.org> References: <20200728132147.3155274-1-francois.perrad@gadz.org> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v3 03/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 ################################################################################