Dear everyone,

tl;dr: This is an appeal to everyone in Gentoo who maintains packages depending on dev-lang/lua, dev-lang/luajit or dev-lua/*: please migrate your packages to lua.eclass (ones which have to be installed for multiple Lua implementations, i.e. most likely Lua modules) and lua-single.eclass (those that simply link against liblua or are otherwise bound to a single implementation)! We are, if I say so myself as the author of these eclasses, finally REALLY close now to unleashing slotted Lua on the general public and if we make that final push, we might finally put this long-overdue matter to rest.


Details

In addition to my packages, I have just migrated all but one [1] m-n packages currently in the tree which depend on dev-lang/lua, to the new eclasses. This has turned out to be much easier than I anticipated - in quite a few number of single-impl cases it Just Worked (TM), multi-impl requires a bit more typing but in general has worked easily too, and even for packages using CMake it was usually the simple matter of patching the build scripts to look for Lua as

find_package(Lua ${LUA_VERSION} EXACT REQUIRED)

and setting LUA_VERSION=$(ver_cut 1-2 $(lua_get_version)) in src_configure. For anyone who prefers to learn by example, you can look at e.g.:


=www-servers/lighttpd-1.4.55-r100 - single-impl, autoconf-based, Lua support controlled by USE=lua, requires an explicit call to lua-single_pkg_setup due to having defined its own pkg_setup;

=media-gfx/darktable-3.2.1-r1 - single-impl, cmake-based but no patching required because it is locked by upstream to Lua5.3, Lua support controlled USE=lua, slotted Lua pulled in by USE=system-lua;

=net-analyzer/suricata-6.0.0-r100 - single-impl, autoconf-based, Lua support controlled by USE=lua, explicitly supports LuaJIT (i.e. there is an upstream configure option distinguishing that from PUC Lua), has been migrated from USE=luajit to LUA_SINGLE_TARGET=luajit;

=dev-lua/messagepack/messagepack-0.3.2-r100 - multi-impl, no build system (it's a pure-Lua module), installs a different version for lua5-3 than for other implementations


Anyway, this leaves us with about [2] 120 packages depending directly on dev-lang/lua (23 of them in dev-lua so likely multi-implementation candidates, the rest most likely single-impl) and just under 30 ones depending on something from the category dev-lua (which do include 6 lacking maintainers, which I'll migrate once their dependencies have been taken care of). I'll likely start opening please-migrate tickets for them on Friday, i.e. once my latest proposed change set to the eclasses (which will likely be needed by e.g. x11-wm/awesome) has been merged.


We can do this, guys! And do let us [3] know should you run into problems looking at already-migrated ebuilds hasn't helped you with.


[1] www-apache/mod_security, which cannot currently be bumped to EAPI 7 because Apache eclasses do not support it
[2] I haven't excluded last-rited maintained packages from the search
[3] i.e. people haunting #gentoo-lua on Freenode, preferably via said channel


--
MS

Attachment: OpenPGP_0xD4945FFDD7FE7E37_and_old_rev.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to