Subject: Re: bug#53186: [PATCH] gnu: lua: add lua version 5.4.3

From: zimoun <[email-masked]>
Date: Fri, 14 Jan 2022 13:37:17 +0100

Hi,

On Tue, 11 Jan 2022 at 12:21, Alex Devaure <[email-masked]> 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