commit: 1f1d9aa0e638f39524dc6df0a29219b08ebb6374 Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Tue Aug 19 09:58:12 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Sep 14 09:31:40 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f1d9aa0
dev-lua/luarocks: fix collision with lua-compat53 avoid install lua-compat53, already in tree Closes: https://bugs.gentoo.org/961755 Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/43494 Closes: https://github.com/gentoo/gentoo/pull/43494 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-lua/luarocks/luarocks-3.12.2-r1.ebuild | 90 ++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/dev-lua/luarocks/luarocks-3.12.2-r1.ebuild b/dev-lua/luarocks/luarocks-3.12.2-r1.ebuild new file mode 100644 index 000000000000..72c402620a3d --- /dev/null +++ b/dev-lua/luarocks/luarocks-3.12.2-r1.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} luajit ) + +inherit lua-single + +DESCRIPTION="A package manager for the Lua programming language" +HOMEPAGE="https://luarocks.org" +SRC_URI="https://luarocks.org/releases/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="test" +REQUIRED_USE="${LUA_REQUIRED_USE}" +RESTRICT="test" + +RDEPEND="${LUA_DEPS} + $(lua_gen_cond_dep 'dev-lua/compat53[${LUA_USEDEP}]' lua5-1 luajit) +" + +DEPEND=" + net-misc/curl + dev-libs/openssl:0 + ${RDEPEND} +" + +BDEPEND=" + virtual/pkgconfig + test? ( + $(lua_gen_cond_dep 'dev-lua/busted[${LUA_USEDEP}]') + $(lua_gen_cond_dep 'dev-lua/busted-htest[${LUA_USEDEP}]') + ${RDEPEND} + ) +" + +src_prepare() { + default + + # If 'dev-lang/lua' is a new, fresh installation, no 'LUA_LIBDIR' exists, + # as no compiled modules are installed on a new, fresh installation, + # so this check must be disabled, otherwise 'configure' will fail. + sed -e '/LUA_LIBDIR is not a valid directory/d' -i configure || die + + # unbundle lua-compat53 #961755 + rm -r src/compat53/*.lua || die +} + +src_configure() { + local myeconfargs=( + "--prefix=${EPREFIX}/usr" + "--with-lua-include=$(lua_get_include_dir)" + "--with-lua-interpreter=${ELUA}" + "--with-lua-lib=$(lua_get_cmod_dir)" + ) + + # Since the configure script is handcrafted, + # and yells at unknown options, do not use 'econf'. + ./configure "${myeconfargs[@]}" || die +} + +src_test() { + busted --lua=${ELUA} || die +} + +src_install() { + default + + { find "${D}" -type f -exec sed -i -e "s:${D}::g" {} \;; } || die +} + +pkg_postinst() { + local lua_abi_ver + if use lua_single_target_luajit; then + lua_abi_ver="5.1" + else + lua_abi_ver=${ELUA#lua} + fi + elog + elog "To manage rocks for a Lua version other than the current ${CATEGORY}/${PN} default (${lua_abi_ver})" + elog "you can use the command-line option --lua-version, e.g." + elog + elog " luarocks --lua-version 5.3 install luasocket" + elog + elog "(use 5.1 for luajit). Note that the relevant Lua version must already be present in the system." + elog +}
