Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 671248 - Slotted dev-lang/lua: masked since 2014
Summary: Slotted dev-lang/lua: masked since 2014
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 10 votes (vote)
Assignee: William Hubbs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-16 08:41 UTC by Michał Górny
Modified: 2020-08-03 09:03 UTC (History)
18 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
lua-5.3.4.ebuild (lua-5.3.4.ebuild,1.66 KB, text/plain)
2018-12-16 20:20 UTC, Azamat H. Hackimov
Details
lua-5.3.0-autotoolize.patch (lua-5.3.0-autotoolize.patch,6.83 KB, patch)
2018-12-16 20:21 UTC, Azamat H. Hackimov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-11-16 08:41:59 UTC
# Matti Bickel <mabi@gentoo.org> (22 Apr 2014)
# Masked slotted lua for testing
# William Hubbs <williamh@gentoo.org> (07 Aug 2016)
# Taking this mask since Mabi is retired
# Rafael Martins <rafaelmartins@gentoo.org> (04 Dec 2016)
# Adding Lua 5.3 to mask
app-eselect/eselect-lua
=dev-lang/lua-5.1.5-r100
=dev-lang/lua-5.1.5-r101
=dev-lang/lua-5.2.3
=dev-lang/lua-5.2.3-r1
=dev-lang/lua-5.2.3-r2
=dev-lang/lua-5.3.3
=dev-lang/lua-5.3.3-r1


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?
Comment 1 Azamat H. Hackimov 2018-12-16 20:20:45 UTC
Created attachment 557918 [details]
lua-5.3.4.ebuild

Hello.

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.
Comment 2 Azamat H. Hackimov 2018-12-16 20:21:44 UTC
Created attachment 557920 [details, diff]
lua-5.3.0-autotoolize.patch
Comment 3 Daniel Kenzelmann 2019-01-22 10:45:04 UTC
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?
Comment 4 P.B. Lecavalier 2019-11-28 01:48:34 UTC
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.
Comment 5 bob 2019-12-12 07:35:35 UTC
Can you please put lua 5.1 out of its misery? This is rediculous, and it was rediculous back in 2014.
Comment 6 Giuseppe Foti 2020-01-05 23:19:19 UTC
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])
app-text/podofo-0.9.6_p20180715 (dev-lang/lua)
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/LuaBitOp-1.0.2-r1 (>=dev-lang/lua-5.1.5-r2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
dev-lua/lpeg-1.0.1 (!luajit ? >=dev-lang/lua-5.1)
dev-lua/luaexpat-1.3.0-r1 (>=dev-lang/lua-5.1.5-r2[deprecated,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
dev-lua/luajson-1.3.3 (>=dev-lang/lua-5.1)
dev-lua/luasocket-3.0_rc1-r4 (>=dev-lang/lua-5.1.5-r2[deprecated,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
media-gfx/geeqie-1.5.1 (lua ? >=dev-lang/lua-5.1)
media-libs/libquvi-0.9.4-r1 (>=dev-lang/lua-5.1.5-r3[deprecated,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_riscv_lp64d(-)?,abi_riscv_lp64(-)?,abi_s390_32(-)?,abi_s390_64(-)?])
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
Comment 7 Hadrien Lacour 2020-01-25 17:42:48 UTC
app-editors/vis is completely crippled by this.
Comment 8 vowstar 2020-04-17 02:30:04 UTC
It's so weird to use such an old version of lua
Comment 9 vowstar 2020-04-28 05:11:12 UTC
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.

dev-lang/lua:5.1
dev-lang/lua:5.2
dev-lang/lua:5.3
app-eselect/eselect-lua
virtual/lua

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)
Comment 10 Daniel Kenzelmann 2020-05-24 17:03:11 UTC
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?
Comment 11 Reva Denis 2020-06-04 12:33:46 UTC
Ok, what about now?
I want to learn lua but I can't understand Gentoo logic about it
Comment 12 Reva Denis 2020-06-04 12:35:45 UTC
Why just do not split lua to :0 and :5.2 with :5.3 slots?
Also what about lua :5.4?
Comment 13 Azamat H. Hackimov 2020-06-04 12:49:05 UTC
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.