Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 657722 (ag-ops:dev-lua) - Slotted dev-lang/lua versions and dependencies
Summary: Slotted dev-lang/lua versions and dependencies
Status: UNCONFIRMED
Alias: ag-ops:dev-lua
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major with 3 votes (vote)
Assignee: William Hubbs
URL: https://gitlab.com/ILMostro/ag-ops
Whiteboard:
Keywords: InOverlay, PATCH
Depends on:
Blocks: lua-5.2 508682
  Show dependency tree
 
Reported: 2018-06-10 08:51 UTC by Amel Hodzic
Modified: 2019-03-18 21:45 UTC (History)
6 users (show)

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


Attachments
luaposix test output with lua-5.3 (luaposix-test-output-with-lua53,37.17 KB, text/plain)
2018-06-10 09:16 UTC, Amel Hodzic
Details
patch to fix luaposix slot operator to allow using slotted dev-lang/lua versions (luaposix.patch,431 bytes, patch)
2018-06-10 09:22 UTC, Amel Hodzic
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Amel Hodzic 2018-06-10 08:51:54 UTC
lua-5.1.5-r4.ebuild:SLOT="0"

Whereas subsequent ebuilds have SLOT="5.1", etc.

lua-5.1.5-r100.ebuild:SLOT="5.1"
lua-5.1.5-r101.ebuild:SLOT="5.1"
lua-5.2.3.ebuild:SLOT="5.2"
lua-5.2.3-r1.ebuild:SLOT="5.2"
lua-5.2.3-r2.ebuild:SLOT="5.2"
lua-5.3.3.ebuild:SLOT="5.3"
lua-5.3.3-r1.ebuild:SLOT="5.3"

lua-5.1.5-r4.ebuild:SLOT="0"

Reproducible: Always

Steps to Reproduce:
1. Install multiple versions of dev-lang/lua
2. Try installing x11-wm/awesome or any package from the dev-lua/ category
3. The system falls back to using the lua version with SLOT="0"

Actual Results:  
 emerge -avt dev-lua/luaposix

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N    ~] dev-lua/luaposix-33.4.0::gentoo  629 KiB
[nomerge       ] dev-lang/lua-5.2.3-r2:5.2::gentoo  USE="readline -deprecated -emacs -static" ABI_X86="(64) -32 (-x32)" 
[uninstall     ]   dev-lang/lua-5.3.3-r1:5.3::gentoo  USE="readline -deprecated -emacs -static" ABI_X86="(64) -32 (-x32)" 
[nomerge       ] dev-lua/luaposix-33.4.0::gentoo 
[ebuild  NS    ]  dev-lang/lua-5.1.5-r4:0::gentoo [5.1.5-r101:5.1::gentoo, 5.2.3-r2:5.2::gentoo, 5.3.3-r1:5.3::gentoo] USE="readline -deprecated -emacs -static" ABI_X86="(64) -32 (-x32)" 0 KiB
[blocks B      ]  dev-lang/lua:0 ("dev-lang/lua:0" is blocking dev-lang/lua-5.1.5-r101, dev-lang/lua-5.2.3-r2, dev-lang/lua-5.3.3-r1)
[blocks B      ] dev-lang/lua:0 ("dev-lang/lua:0" is blocking dev-lang/lua-5.1.5-r101, dev-lang/lua-5.2.3-r2, dev-lang/lua-5.3.3-r1)

Total: 2 packages (1 new, 1 in new slot, 1 uninstall), Size of downloads: 629 KiB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (dev-lang/lua-5.1.5-r4:0/0::gentoo, ebuild scheduled for merge) pulled in by
    dev-lang/lua:0= required by (dev-lua/luaposix-33.4.0:0/0::gentoo, ebuild scheduled for merge)

  (dev-lang/lua-5.2.3-r2:5.2/5.2::gentoo, installed) pulled in by
    dev-lang/lua:5.2 required by @selected
    dev-lang/lua required by @selected

  (dev-lang/lua-5.1.5-r101:5.1/5.1::gentoo, installed) pulled in by
    dev-lang/lua required by @selected
    dev-lang/lua:5.1 required by @selected


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages


The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by dev-lua/luaposix (argument)
=dev-lua/luaposix-33.4.0 ~amd64

Expected Results:  
The package is installed with a dependency on one of the slotted lua packages.
Comment 1 Amel Hodzic 2018-06-10 09:15:21 UTC
It seems that the packages in the dev-lua/ category should be updated to use
RDEPEND="dev-lang/lua:*"
instead of
RDEPEND="dev-lang/lua:0=".

The above has been tested with dev-lua/luaposix-33.4.0 with lua-5.3 and lua-5.1 selected as the interpreters.
Comment 2 Amel Hodzic 2018-06-10 09:16:24 UTC
Created attachment 535506 [details]
luaposix test output with lua-5.3
Comment 3 Amel Hodzic 2018-06-10 09:22:37 UTC
Created attachment 535508 [details, diff]
patch to fix luaposix slot operator to allow using slotted dev-lang/lua versions
Comment 4 Amel Hodzic 2018-06-20 02:32:48 UTC
I've added a number of the dev-lua packages with appropriate patches to my overlay, [ag-ops](https://gitlab.com/ILMostro/ag-ops).  
I will use this bug to add a way to track this work.  Please feel free to provide advice and/or use the available patches to get beyond the dev-lang/lua:0 dependency.
Comment 5 Amel Hodzic 2018-06-20 08:11:46 UTC
Here's the list of packages that have been updated to remove dependency on deprecated dev-lang/lua:0 slot.

[I] dev-lua/ldoc (1.4.6[1]@06/20/2018 -> 1.4.6^t): A LuaDoc-compatible documentation generation system
[I] dev-lua/lgi (0.9.2[1]@06/19/2018): Lua bindings using gobject-introspection
[I] dev-lua/luafilesystem (1.7.0[1]@06/20/2018): File System Library for the Lua Programming Language
[?] dev-lua/luaposix (34.0.4[1]@06/20/2018 -> (~)33.4.0): Bindings for POSIX APIs
[I] dev-lua/penlight (1.5.4[1]@06/20/2018): Lua utility libraries loosely based on the Python standard libraries
[I] dev-lua/say (1.3_p1[1]@06/20/2018 -> 1.3_p1): Lua String Hashing/Indexing Library

net-irc/weechat-2.1
Portable and multi-interface IRC client
Comment 6 Amel Hodzic 2018-06-21 04:12:35 UTC
Given the updated packages listed in the previous message, it is now possible to build x11-wm/awesome and net-irc/weechat[lua] without a dependency on dev-lang/lua:0.
This allows users to have multiple versions of lua installed on the system, using eselect lua to switch between the slotted versions.
Comment 7 Amel Hodzic 2018-06-23 13:28:44 UTC
https://github.com/gentoo/gentoo/pull/8940
Comment 8 Amel Hodzic 2018-07-17 18:13:44 UTC
Latest attempt with dependant dev-db/redis[luajit] updated from dev-lang/luajit:2 to dev-lang/luajit:2.*

https://github.com/gentoo/gentoo/pull/9268
Comment 9 Amel Hodzic 2018-07-20 22:38:51 UTC
While the previous CI checks succeeded, the commit history has to adhere to GLEP66.  The latest PR is an attempt to do so.