# Matti Bickel <email@example.com> (22 Apr 2014)
# Masked slotted lua for testing
# William Hubbs <firstname.lastname@example.org> (07 Aug 2016)
# Taking this mask since Mabi is retired
# Rafael Martins <email@example.com> (04 Dec 2016)
# Adding Lua 5.3 to mask
I dare say it's a failed experiment since nobody managed to get it working properly for all those years. Could we please lastrite/remove that, and start trying to bump Lua the regular way?
Created attachment 557918 [details]
I want to implement lua 5.[1-3] slotted framework and some lua eclasses like python-r1 and python-single-r1 since various packages requires different versions of lua.
I can offer some help with it. There some roadmap:
1. Get cleaner lua slotted ebuilds with external autotools build system (I borrowed it from Fedora). I've attached example with updated ebuild.
2. Implement lua.eclass and lua-luarock.eclass with luarock integration that makes packages support much easier, since luarock infrastructure takes lot of job on fetching, building and installing.
Created attachment 557920 [details, diff]
Hi, Any update on the progress here?
Slowly we're getting issues because of only having lua 5.1 available:
- rspamd has issues with 5.1 (basically requiring 5.2 for bayes classifiers due to expecting implicit tostring() feature in 5.2 for string.format parameters)
- recommended version for prosody is now 5.2
@Azamat: do you expect the framework and related stuff to be functional soon or would a normal bump for lua be a better solution for now?
Please put the current dev-lang/lua out of its misery. Suggestion: Have at the very least dev-lang/lua-5.3.5 in slot 0. I see no reason to have slots for this and even if there was one, we simply don't have the manpower to keep such an elaborate structure in place.
Convoluted/experimental stuff like this should be consigned to an overlay. Should someone have special needs, that's would be the place.
"latest" unmasked lua in ::gentoo? 5.1.5, released in 2012.
Can you please put lua 5.1 out of its misery? This is rediculous, and it was rediculous back in 2014.
We need lua >=5.2 to update media-gfx/darktable-3.0.0 to let it work with lua.
I'm not sure if dev-lang/lua is really mantained at now
This is the output of eqyery on my system:
$ equery d =dev-lang/lua-5.1.5-r4
* These packages depend on dev-lang/lua-5.1.5-r4:
app-arch/rpm-4.14.1 (lua ? >=dev-lang/lua-5.1.0[deprecated])
app-editors/vim-8.1.1486 (!luajit ? dev-lang/lua:0[deprecated])
dev-games/openscenegraph-3.5.5 (lua ? >=dev-lang/lua-5.1.5)
dev-libs/libpeas-1.22.0 (!luajit ? =dev-lang/lua-5.1*:0)
dev-lua/lpeg-1.0.1 (!luajit ? >=dev-lang/lua-5.1)
media-gfx/geeqie-1.5.1 (lua ? >=dev-lang/lua-5.1)
media-video/vlc-3.0.8 (lua ? >=dev-lang/lua-5.1:0)
net-analyzer/wireshark-3.0.7 (lua ? >=dev-lang/lua-5.1)
net-irc/hexchat-2.12.4-r2 (lua ? dev-lang/lua)
www-apache/mod_security-2.9.1-r1 (lua ? dev-lang/lua:0)
I don't undertand which packages really need to stay with lua-5.1
app-editors/vis is completely crippled by this.
It's so weird to use such an old version of lua
Why just unmasked it and change the software depend on dev-lang/lua:0 to || ( dev-lang/lua:0 dev-lang/lua:5.1 )?
Unmask these package below and let problems could be solve.
Now lua 5.4 has been released, for the development of gentoo, we should find a way to solve this problem instead of blindly evading.
The main difficulty currently facing is that many stable software still depends on lua:0, however lua:0 is equivalent to lua:5.1 (Apr 28 2020).
The real situation of these software that depends on lua:0 is to depend on lua-5.1.5, but lua-5.1.5 is very different from lua-5.2 and lua-5.3 respectively.
Almost all scripts between different lua version are incompatible, just like Python encountered the same situation.
However, some software started to update lua to 5.2 or 5.3, and even some new software started to use lua 5.4, and the lua scripts between them were not compatible with each other.
So it is quite difficult to update lua:0 directly.
In ::gentoo, there are 163 packages are missing the lua slot, and 313 packages depends on lua. some package using luajit to workaround lua problem. luajit sometimes can replace lua 5.1 or 5.2(with lua52compat, you know it may cause compatibility problems). (Apr 28 2020)
I'm a bit confused now.
Is the issue with slotted lua that the slots are not being built correctly or is it the dependencies of the existing packages in portage and the fact that lua versions are incompatible to each other?
Just some brainfart, probably got some major hurdle, just wanted to put it out and ask for feedback on this:
- Install lua slots INCLUDING 5.1 with versioned binaries like
/usr/bin/lua-5.1 or /usr/bin/lua-5.2 etc.
- Make /usr/bin/lua a link to lua-5.1 (as long as "old" packages are not patched to depend on the versioned lua binary)
- Any packages that needs to use a newer lua version should have the dependency in the ebuild (depend on the version it expects) and then patch the files to "hardcode" that dependency.
- Patch any "old" packages to also "hardcode" the versioned binary in their files.
- If all that is done you could remove the "default" link for lua and make it changeable with eselect. (However it would only have any effect on own scripts etc, not on any portage installed package)
would something like that work?
Ok, what about now?
I want to learn lua but I can't understand Gentoo logic about it
Why just do not split lua to :0 and :5.2 with :5.3 slots?
Also what about lua :5.4?
Hi, currently lua team understaffed and there no efforts about porting to slotted versions. Here proposal about changing - https://archives.gentoo.org/gentoo-dev/message/246b86f8d9ae72d29fcc60eb99c5a266 , but no visible feedback about it.