commit:     7a657456cfd6e4e66a7789c1f4dd58922cc4694b
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Tue Jan  6 09:55:11 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan  7 02:50:11 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a657456

dev-lua/ldoc: add 1.5.0 with EAPI 8 and test

update EAPI 7 -> 8
enable lua5-4
add missing ${LUA_DEPS}
add test

Closes: https://bugs.gentoo.org/905964
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/45270
Closes: https://github.com/gentoo/gentoo/pull/45270
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lua/ldoc/Manifest                           |  1 +
 dev-lua/ldoc/files/ldoc-1.5.0-slotted_lua.patch | 21 ++++++++++++
 dev-lua/ldoc/ldoc-1.5.0.ebuild                  | 44 +++++++++++++++++++++++++
 3 files changed, 66 insertions(+)

diff --git a/dev-lua/ldoc/Manifest b/dev-lua/ldoc/Manifest
index a57bde602047..5749b805b724 100644
--- a/dev-lua/ldoc/Manifest
+++ b/dev-lua/ldoc/Manifest
@@ -1 +1,2 @@
 DIST ldoc-1.4.6.tar.gz 126080 BLAKE2B 
c43a79141ce557a54b9aed3c7523b206bec85602d858c72373d650a70e1741b545b2b9bdd462856c7e16af97f6a5eeeeea26375832f678b52d9e9153547076be
 SHA512 
bcaddba4e462a4fb0aa0d8fcff390de3f195fa5cc569d8f05b84ad0fff900f5ac945be7a2eb15cf5ca60cc462f02c874579e4a19e33776178a04104ef9d944af
+DIST ldoc-1.5.0.tar.gz 133159 BLAKE2B 
4ab407744cf8b5bba442e431492c6c9d738c231b069ed6f1cd7317c989aba2d936f0d8e48d7b0909e20bdbdb99fe83ebe8daf62c64c0512d951fde24a4b7903d
 SHA512 
5879c5a73546ca30240faf65803500754af37b8a51eb0baac0c0ee71870fbdb258011901e50c8e204906c8f705bab1ba2f94ce6fcc417920d4c8d92363f44e07

diff --git a/dev-lua/ldoc/files/ldoc-1.5.0-slotted_lua.patch 
b/dev-lua/ldoc/files/ldoc-1.5.0-slotted_lua.patch
new file mode 100644
index 000000000000..0ae46bc8be94
--- /dev/null
+++ b/dev-lua/ldoc/files/ldoc-1.5.0-slotted_lua.patch
@@ -0,0 +1,21 @@
+Do not try to auto-guess Lua directories from the path to the interpreter,
+it does not work with the wrapper set up by lua-single.eclass. Use the
+values of LUA, LUA_BINDIR and LUA_SHAREDIR provided by the ebuild instead.
+--- a/Makefile
++++ b/Makefile
+@@ -1,14 +1,9 @@
+-LUA= $(shell echo `which lua`)
+-LUA_BINDIR= $(shell echo `dirname $(LUA)`)
+-LUA_PREFIX= $(shell echo `dirname $(LUA_BINDIR)`)
+-LUA_SHAREDIR=$(LUA_PREFIX)/share/lua/5.1
+-
+ _REPODIR != cd "$(shell dirname $(firstword $(MAKEFILE_LIST)))/" && pwd
+ 
+ ldoc:
+ 
+ install: install_parts
+-      @echo "lua $(LUA_SHAREDIR)/ldoc.lua \$$*" > 
"$(DESTDIR)$(LUA_BINDIR)/ldoc"
++      @echo "$(LUA) $(LUA_SHAREDIR)/ldoc.lua \$$*" > 
"$(DESTDIR)$(LUA_BINDIR)/ldoc"
+       @chmod -v +x "$(DESTDIR)$(LUA_BINDIR)/ldoc"
+ 
+ install_luajit: install_parts

diff --git a/dev-lua/ldoc/ldoc-1.5.0.ebuild b/dev-lua/ldoc/ldoc-1.5.0.ebuild
new file mode 100644
index 000000000000..ca04f37296fb
--- /dev/null
+++ b/dev-lua/ldoc/ldoc-1.5.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+inherit edo lua-single
+
+DESCRIPTION="LuaDoc-compatible documentation generation system"
+HOMEPAGE="https://stevedonovan.github.io/ldoc/";
+SRC_URI="https://github.com/lunarmodules/LDoc/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+       ${LUA_DEPS}
+       $(lua_gen_cond_dep '
+               dev-lua/penlight[${LUA_USEDEP}]
+       ')
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.5.0-slotted_lua.patch
+)
+
+src_test() {
+       # reproduce run-tests.lua with exit on failure
+       local t
+       for t in tests tests/example tests/md-test; do
+               pushd "${t}" >/dev/null || die
+               edo ${LUA} "${S}"/ldoc.lua --dir cdocs --testing .
+               edo ${LUA} "${S}"/ldoc.lua -testing .
+               edob -m "verifying ${t}" diff -r doc cdocs
+               popd >/dev/null || die
+       done
+}
+
+src_install() {
+       emake DESTDIR="${ED}" LUA_BINDIR="${EPREFIX}/usr/bin" 
LUA_SHAREDIR="$(lua_get_lmod_dir)" install
+}

Reply via email to