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
+}

Reply via email to