GNU bug report logs - #53186
[PATCH] gnu: lua: add lua version 5.4.3

Previous Next

Package: guix-patches;

Reported by: Alex Devaure <ajadevaure <at> gmail.com>

Date: Tue, 11 Jan 2022 12:26:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53186 in the body.
You can then email your comments to 53186 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#53186; Package guix-patches. (Tue, 11 Jan 2022 12:26:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alex Devaure <ajadevaure <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 11 Jan 2022 12:26:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alex Devaure <ajadevaure <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: lua: add lua version 5.4.3
Date: Tue, 11 Jan 2022 12:21:13 +0000
After submitting a patch to update the package darktable to the last
version, it appeared that the version 5.4 of lua is necessary. It is why
I am submitting that patch.
Kind regards,
Alex

---
 gnu/packages/lua.scm                         |  12 +++
 gnu/packages/patches/lua-5.4-liblua-so.patch |  31 ++++++
 gnu/packages/patches/lua-5.4-pkgconfig.patch | 106 +++++++++++++++++++
 3 files changed, 149 insertions(+)
 create mode 100644 gnu/packages/patches/lua-5.4-liblua-so.patch
 create mode 100644 gnu/packages/patches/lua-5.4-pkgconfig.patch

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index ff4d4824eb..99f09a26f1 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -105,6 +105,18 @@ (define-public lua
 for configuration, scripting, and rapid prototyping.")
     (license license:x11)))
 
+(define-public lua-5.4
+  (package (inherit lua)
+           (version "5.4.3")
+           (source (origin
+                     (method url-fetch)
+                     (uri (string-append "https://www.lua.org/ftp/lua-"
+                                         version ".tar.gz"))
+                     (sha256
+                      (base32 "1yxvjvnbg4nyrdv10bq42gz6dr66pyan28lgzfygqfwy2rv24qgq"))
+                     (patches (search-patches "lua-5.4-pkgconfig.patch"
+                                              "lua-5.4-liblua-so.patch"))))))
+
 (define-public lua-5.2
   (package (inherit lua)
            (version "5.2.4")
diff --git a/gnu/packages/patches/lua-5.4-liblua-so.patch b/gnu/packages/patches/lua-5.4-liblua-so.patch
new file mode 100644
index 0000000000..0f35887012
--- /dev/null
+++ b/gnu/packages/patches/lua-5.4-liblua-so.patch
@@ -0,0 +1,31 @@
+--- a/src/Makefile	2021-02-09 18:47:17.000000000 +0000
++++ b/src/Makefile	2022-01-03 11:30:36.964501941 +0000
+@@ -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,7 +45,7 @@
+ 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_T) $(LUAC_T) $(LUA_SO)
+ ALL_A= $(LUA_A)
+ 
+ # Targets start here.
+@@ -56,6 +57,11 @@
+ 
+ a:	$(ALL_A)
+ 
++$(LUA_SO): $(CORE_O) $(LIB_O)
++	$(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
++	ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
++	ln -sf $(LUA_SO).$(R) $(LUA_SO)
++
+ $(LUA_A): $(BASE_O)
+ 	$(AR) $@ $(BASE_O)
+ 	$(RANLIB) $@
diff --git a/gnu/packages/patches/lua-5.4-pkgconfig.patch b/gnu/packages/patches/lua-5.4-pkgconfig.patch
new file mode 100644
index 0000000000..0a80cef9db
--- /dev/null
+++ b/gnu/packages/patches/lua-5.4-pkgconfig.patch
@@ -0,0 +1,106 @@
+--- a/Makefile	2022-01-03 12:06:37.760402709 +0000
++++ b/Makefile	2022-01-03 12:06:49.568402167 +0000
+@@ -14,6 +14,7 @@
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+ INSTALL_INC= $(INSTALL_TOP)/include
+ INSTALL_LIB= $(INSTALL_TOP)/lib
++INSTALL_PC= $(INSTALL_LIB)/pkgconfig
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
+ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
+@@ -39,9 +40,12 @@
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
+ 
+ # What to install.
+-TO_BIN= lua luac
++INTERPRETER= lua
++COMPILER= luac
++TO_BIN= $(INTERPRETER) $(COMPILER)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.a liblua.so liblua.so.${V}
++TO_PC=  lua-$(V).pc
+ TO_MAN= lua.1 luac.1
+ 
+ # Lua version and release.
+@@ -51,20 +55,26 @@
+ # Targets start here.
+ all:	$(PLAT)
+ 
+-$(PLATS) help test clean:
+-	@cd src && $(MAKE) $@
++$(PLATS):
++	@cd src && $(MAKE) $@ V=$(V) R=$(R)
+ 
+-install: dummy
+-	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
++clean:
++	cd src && $(MAKE) $@
++	$(RM) $(TO_PC)
++	
++install: dummy $(TO_PC)
++	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ 	cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+-	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++	cd src && $(INSTALL_EXEC) $(TO_LIB) $(INSTALL_LIB)
++	cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+ 
+ uninstall:
+ 	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
+ 	cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
+ 	cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
++	cd src && cd $(INSTALL_PC)  && $(RM) $(TO_PC)
+ 	cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)
+ 
+ local:
+@@ -82,11 +92,13 @@
+ 	@echo "TO_BIN= $(TO_BIN)"
+ 	@echo "TO_INC= $(TO_INC)"
+ 	@echo "TO_LIB= $(TO_LIB)"
++	@echo "TO_PC= $(TO_PC)"
+ 	@echo "TO_MAN= $(TO_MAN)"
+ 	@echo "INSTALL_TOP= $(INSTALL_TOP)"
+ 	@echo "INSTALL_BIN= $(INSTALL_BIN)"
+ 	@echo "INSTALL_INC= $(INSTALL_INC)"
+ 	@echo "INSTALL_LIB= $(INSTALL_LIB)"
++	@echo "INSTALL_PC= $(INSTALL_PC)"
+ 	@echo "INSTALL_MAN= $(INSTALL_MAN)"
+ 	@echo "INSTALL_LMOD= $(INSTALL_LMOD)"
+ 	@echo "INSTALL_CMOD= $(INSTALL_CMOD)"
+@@ -95,12 +107,29 @@
+ 
+ # Echo pkg-config data.
+ pc:
+-	@echo "version=$R"
+-	@echo "prefix=$(INSTALL_TOP)"
+-	@echo "libdir=$(INSTALL_LIB)"
+-	@echo "includedir=$(INSTALL_INC)"
++	@echo 'prefix=$(INSTALL_TOP)'
++	@echo 'libdir=$(INSTALL_LIB)'
++	@echo 'includedir=$(INSTALL_INC)'
++	@echo 'bindir=$(INSTALL_BIN)'
++	@echo
++	@echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
++	@echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
++	@echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
++	@echo 'COMPILER=$${bindir}/$(COMPILER)'
++	@echo
++	@echo 'Name: Lua'
++	@echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
++	@echo 'Version: $(R)'
++	@echo
++	@echo 'Libs: -L$${libdir} -llua -lm'
++	@echo 'Cflags: -I$${includedir}'
++
++pkg-config: $(TO_PC)
++$(TO_PC):
++	@$(MAKE) -s pc > $@
++	
+ 
+ # Targets that do not create files (not all makes understand .PHONY).
+-.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc
++.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc pkg-config
+ 
+ # (end of Makefile)
-- 
2.34.0




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 13 Jan 2022 22:10:01 GMT) Full text and rfc822 format available.

Notification sent to Alex Devaure <ajadevaure <at> gmail.com>:
bug acknowledged by developer. (Thu, 13 Jan 2022 22:10:01 GMT) Full text and rfc822 format available.

Message #10 received at 53186-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Alex Devaure <ajadevaure <at> gmail.com>
Cc: 53186-done <at> debbugs.gnu.org
Subject: Re: bug#53186: [PATCH] gnu: lua: add lua version 5.4.3
Date: Thu, 13 Jan 2022 23:09:47 +0100
[Message part 1 (text/plain, inline)]
Hi Alex,

Alex Devaure <ajadevaure <at> gmail.com> skribis:

> After submitting a patch to update the package darktable to the last
> version, it appeared that the version 5.4 of lua is necessary. It is why
> I am submitting that patch.
> Kind regards,
> Alex
>
> ---
>  gnu/packages/lua.scm                         |  12 +++
>  gnu/packages/patches/lua-5.4-liblua-so.patch |  31 ++++++
>  gnu/packages/patches/lua-5.4-pkgconfig.patch | 106 +++++++++++++++++++

Applied with the changes below and a commit log that follows our
conventions.

Thanks,
Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/local.mk b/gnu/local.mk
index 756caeea44..b9fb0f7349 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1450,6 +1450,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/lua51-liblua-so.patch                    \
   %D%/packages/patches/lua51-pkgconfig.patch                    \
   %D%/packages/patches/lua-liblua-so.patch                      \
+  %D%/packages/patches/lua-5.4-pkgconfig.patch			\
+  %D%/packages/patches/lua-5.4-liblua-so.patch			\
   %D%/packages/patches/luajit-no_ldconfig.patch			\
   %D%/packages/patches/luit-posix.patch				\
   %D%/packages/patches/lvm2-static-link.patch			\
diff --git a/gnu/packages/patches/lua-5.4-liblua-so.patch b/gnu/packages/patches/lua-5.4-liblua-so.patch
index 0f35887012..93dd011143 100644
--- a/gnu/packages/patches/lua-5.4-liblua-so.patch
+++ b/gnu/packages/patches/lua-5.4-liblua-so.patch
@@ -1,3 +1,5 @@
+Patch the makefile to create liblua.so.
+
 --- a/src/Makefile	2021-02-09 18:47:17.000000000 +0000
 +++ b/src/Makefile	2022-01-03 11:30:36.964501941 +0000
 @@ -33,6 +33,7 @@
diff --git a/gnu/packages/patches/lua-5.4-pkgconfig.patch b/gnu/packages/patches/lua-5.4-pkgconfig.patch
index 0a80cef9db..eb42633585 100644
--- a/gnu/packages/patches/lua-5.4-pkgconfig.patch
+++ b/gnu/packages/patches/lua-5.4-pkgconfig.patch
@@ -1,3 +1,7 @@
+Enables generating Lua's pkg-config file.
+
+http://lua-users.org/lists/lua-l/2015-03/msg00338.html
+
 --- a/Makefile	2022-01-03 12:06:37.760402709 +0000
 +++ b/Makefile	2022-01-03 12:06:49.568402167 +0000
 @@ -14,6 +14,7 @@

Information forwarded to guix-patches <at> gnu.org:
bug#53186; Package guix-patches. (Fri, 14 Jan 2022 12:38:01 GMT) Full text and rfc822 format available.

Message #13 received at 53186 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Alex Devaure <ajadevaure <at> gmail.com>
Cc: rekado <at> elephly.net, ludo <at> gnu.org, 53186 <at> debbugs.gnu.org
Subject: Re: bug#53186: [PATCH] gnu: lua: add lua version 5.4.3
Date: Fri, 14 Jan 2022 13:37:17 +0100
Hi,

On Tue, 11 Jan 2022 at 12:21, Alex Devaure <ajadevaure <at> gmail.com> wrote:

> After submitting a patch to update the package darktable to the last
> version, it appeared that the version 5.4 of lua is necessary. It is why
> I am submitting that patch.

Thanks for the patch!


I am opportunist here. :-) There is this old bug #25425 [1] about lua.
Since you, Alex, sent this non-trivial patch, maybe, who knows, a fix
might be possible.

Basically, the bug is about search-patch.

--8<---------------cut here---------------start------------->8---
$ guix shell lua lua-lpeg -- lua
Lua 5.4.3  Copyright (C) 1994-2021 Lua.org, PUC-Rio
> require('lpeg')
stdin:1: module 'lpeg' not found:
	no field package.preload['lpeg']
	no file '/usr/local/share/lua/5.4/lpeg.lua'
	no file '/usr/local/share/lua/5.4/lpeg/init.lua'
	no file '/usr/local/lib/lua/5.4/lpeg.lua'
	no file '/usr/local/lib/lua/5.4/lpeg/init.lua'
	no file './lpeg.lua'
	no file './lpeg/init.lua'
	no file '/usr/local/lib/lua/5.4/lpeg.so'
	no file '/usr/local/lib/lua/5.4/loadall.so'
	no file './lpeg.so'
stack traceback:
	[C]: in function 'require'
	stdin:1: in main chunk
	[C]: in ?
--8<---------------cut here---------------end--------------->8---

Before, this tweak about environment variables was possible as an ugly
workaround (detail in the bug#25425),

--8<---------------cut here---------------start------------->8---
$ guix shell -C lua lua-lpeg
[env]$ export LUA_PATH="$GUIX_ENVIRONMENT/share/lua/5.3/?.lua;$GUIX_ENVIRONMENT/share/lua/5.3/?/?.lua"
[env]$ export LUA_CPATH="$GUIX_ENVIRONMENT/lib/lua/5.3/?.so;$GUIX_ENVIRONMENT/lib/lua/5.3/?/?.so"
--8<---------------cut here---------------end--------------->8---

but now the same trick raises an error:

--8<---------------cut here---------------start------------->8---
[env]$ lua
Lua 5.4.3  Copyright (C) 1994-2021 Lua.org, PUC-Rio
> require('lpeg')
error loading module 'lpeg' from file '/gnu/store/h4mz30lwxmsfrj4040mw56lqhxmqa9nj-profile/lib/lua/5.3/lpeg.so':
	/gnu/store/h4mz30lwxmsfrj4040mw56lqhxmqa9nj-profile/lib/lua/5.3/lpeg.so: undefined symbol: lua_newuserdata
stack traceback:
	[C]: in ?
	[C]: in function 'require'
	stdin:1: in main chunk
	[C]: in ?
--8<---------------cut here---------------end--------------->8---


Well, I do not know if it is related to the applied patch.  Even if, it
does not appear to me a big deal. :-) My aim here is to pop this old
issue [1] and maybe shave the yak. ;-)

1: <http://issues.guix.gnu.org/issue/25425>


Cheers,
simom




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 12 Feb 2022 12:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 74 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.