Files
gentoo/dev-lua/compat53/compat53-0.15.1.ebuild
Nicolas PARLANT 08a94ce433 dev-lua/compat53: add 0.15.1 w/ a basic testsuite
the testsuite from upstream cannot be used as it is
select a few tests for basic operations
use pushd/popd

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1468
Merges: https://codeberg.org/gentoo/gentoo/pulls/1468
Signed-off-by: Sam James <sam@gentoo.org>
2026-08-01 00:24:51 +01:00

83 lines
1.7 KiB
Bash

# Copyright 2024-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 toolchain-funcs
MY_PN="lua-${PN/53/-5.3}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Compatibility module providing Lua-5.3-style APIs for Lua 5.2 and 5.1"
HOMEPAGE="https://github.com/lunarmodules/lua-compat-5.3/"
SRC_URI="https://github.com/lunarmodules/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
REQUIRED_USE="${LUA_REQUIRED_USE}"
DEPEND="${LUA_DEPS}"
RDEPEND="
${DEPEND}
!<dev-lua/luarocks-3.12.2-r1
"
src_prepare() {
default
# change to name of compat53.'module' calls
# this is required, see rockspecs
mv lbitlib.c bitlib.c || die
mv liolib.c io.c || die
mv lstrlib.c string.c || die
mv ltablib.c table.c || die
mv lutf8lib.c utf8.c || die
lua_copy_sources
}
lua_src_compile() {
pushd >/dev/null "${BUILD_DIR}" || die
local u=""
for u in *.c; do
edo $(tc-getCC) -shared -fPIC \
${CPPFLAGS} \
${CFLAGS} $(lua_get_CFLAGS) \
${SOFLAGS} \
${LDFLAGS} $(lua_get_LIBS) \
-o compat53/"${u/.c/.so}" ${u} c-api/compat-5.3.c
done
popd >/dev/null || die
}
src_compile() {
lua_foreach_impl lua_src_compile
}
lua_src_test() {
pushd >/dev/null "${BUILD_DIR}" || die
${LUA} "${FILESDIR}"/basic_testsuite.lua || die
popd >/dev/null || die
}
src_test() {
lua_foreach_impl lua_src_test
}
lua_src_install() {
pushd >/dev/null "${BUILD_DIR}"/compat53 || die
insinto $(lua_get_lmod_dir)/${PN}
doins *.lua
exeinto $(lua_get_cmod_dir)/${PN}
doexe *.so
popd >/dev/null || die
}
src_install() {
lua_foreach_impl lua_src_install
doheader c-api/*
einstalldocs
}